summaryrefslogtreecommitdiff
path: root/Src
diff options
context:
space:
mode:
Diffstat (limited to 'Src')
-rw-r--r--Src/Modules/curses.c2
-rw-r--r--Src/Modules/db_gdbm.c2
-rw-r--r--Src/Modules/parameter.c2
-rw-r--r--Src/Modules/zftp.c2
-rw-r--r--Src/Zle/comp.h6
-rw-r--r--Src/Zle/compcore.c2
-rw-r--r--Src/Zle/compctl.c2
-rw-r--r--Src/Zle/complete.c2
-rw-r--r--Src/Zle/compmatch.c2
-rw-r--r--Src/Zle/compresult.c2
-rw-r--r--Src/Zle/computil.c2
-rw-r--r--Src/Zle/zle_keymap.c2
-rw-r--r--Src/Zle/zle_main.c2
-rw-r--r--Src/Zle/zle_refresh.c2
-rw-r--r--Src/Zle/zle_tricky.c4
-rw-r--r--Src/builtin.c5
-rw-r--r--Src/glob.c4
-rw-r--r--Src/hist.c10
-rw-r--r--Src/pattern.c2
-rw-r--r--Src/sort.c2
-rw-r--r--Src/utils.c4
-rw-r--r--Src/zsh.h4
-rw-r--r--Src/ztype.h2
23 files changed, 40 insertions, 29 deletions
diff --git a/Src/Modules/curses.c b/Src/Modules/curses.c
index a60dfcbf8..19f285e34 100644
--- a/Src/Modules/curses.c
+++ b/Src/Modules/curses.c
@@ -1519,7 +1519,7 @@ zccmd_resize(const char *nam, char **args)
// is not available.
return 0;
} else {
- // Without this call some window moves are innacurate. Tested on
+ // Without this call some window moves are inaccurate. Tested on
// OS X ncurses 5.4, Homebrew ncursesw 6.0-2, Arch Linux ncursesw
// 6.0, Ubuntu 14.04 ncurses 5.9, FreeBSD ncursesw.so.8
//
diff --git a/Src/Modules/db_gdbm.c b/Src/Modules/db_gdbm.c
index 12dd839cf..b8e7c76c6 100644
--- a/Src/Modules/db_gdbm.c
+++ b/Src/Modules/db_gdbm.c
@@ -766,7 +766,7 @@ static int remove_tied_name( const char *name ) {
/*
* Unmetafy that:
- * - duplicates bufer to work on it,
+ * - duplicates buffer to work on it,
* - does zalloc of exact size for the new string,
* - restores work buffer to original content, to restore strlen
*/
diff --git a/Src/Modules/parameter.c b/Src/Modules/parameter.c
index 76824cf58..ef9148d7b 100644
--- a/Src/Modules/parameter.c
+++ b/Src/Modules/parameter.c
@@ -1552,7 +1552,7 @@ setpmnameddirs(Param pm, HashTable ht)
}
}
- /* The INTERACTIVE stuff ensures that the dirs are not immediatly removed
+ /* The INTERACTIVE stuff ensures that the dirs are not immediately removed
* when the sub-pms are deleted. */
i = opts[INTERACTIVE];
diff --git a/Src/Modules/zftp.c b/Src/Modules/zftp.c
index 8bebc020d..e8e239e76 100644
--- a/Src/Modules/zftp.c
+++ b/Src/Modules/zftp.c
@@ -237,7 +237,7 @@ enum {
/*
* We keep an fd open for communication between the main shell
* and forked off bits and pieces. This allows us to know
- * if something happend in a subshell: mode changed, type changed,
+ * if something happened in a subshell: mode changed, type changed,
* connection was closed. If something too substantial happened
* in a subshell --- connection opened, ZFTP_USER and ZFTP_PWD changed
* --- we don't try to track it because it's too complicated.
diff --git a/Src/Zle/comp.h b/Src/Zle/comp.h
index 743a2e3ac..2e3249b52 100644
--- a/Src/Zle/comp.h
+++ b/Src/Zle/comp.h
@@ -35,7 +35,7 @@ typedef struct cexpl *Cexpl;
typedef struct cmgroup *Cmgroup;
typedef struct cmatch *Cmatch;
-/* This is for explantion strings. */
+/* This is for explanation strings. */
struct cexpl {
int always; /* display even without matches */
@@ -126,8 +126,8 @@ struct cmatch {
#define CMF_FILE (1<< 0) /* this is a file */
#define CMF_REMOVE (1<< 1) /* remove the suffix */
-#define CMF_ISPAR (1<< 2) /* is paramter expansion */
-#define CMF_PARBR (1<< 3) /* paramter expansion with a brace */
+#define CMF_ISPAR (1<< 2) /* is parameter expansion */
+#define CMF_PARBR (1<< 3) /* parameter expansion with a brace */
#define CMF_PARNEST (1<< 4) /* nested parameter expansion */
#define CMF_NOLIST (1<< 5) /* should not be listed */
#define CMF_DISPLINE (1<< 6) /* display strings one per line */
diff --git a/Src/Zle/compcore.c b/Src/Zle/compcore.c
index 9b8545360..7e3badc57 100644
--- a/Src/Zle/compcore.c
+++ b/Src/Zle/compcore.c
@@ -1492,7 +1492,7 @@ set_comp_sep(void)
* are specially handled (but currently only if RCQUOTES is not
* set, which isn't necessarily correct if the quotes were typed by
* the user).
- * osq: c.f. odq, taking account of Snull's and embeded "'"'s.
+ * osq: c.f. odq, taking account of Snull's and embedded "'"'s.
* qttype: type of quotes using standard QT_* definitions.
* lsq: when quoting is single quotes (QT_SINGLE), counts the offset
* adjustment needed in the word being examined in the lexer loop.
diff --git a/Src/Zle/compctl.c b/Src/Zle/compctl.c
index 1dcec387d..08355d1b9 100644
--- a/Src/Zle/compctl.c
+++ b/Src/Zle/compctl.c
@@ -1726,7 +1726,7 @@ static Patprog patcomp, filecomp;
* lppre/lpsuf -- the path prefix/suffix, unexpanded *
* fpre/fsuf -- prefix/suffix of the pathname component the cursor is in *
* prpre -- ppre in expanded form usable for opendir *
- * qipre, qisuf-- ingnored quoted string *
+ * qipre, qisuf-- ignored quoted string *
* *
* The integer variables hold the lengths of lpre, lsuf, rpre, rsuf, *
* fpre, fsuf, lppre, and lpsuf. noreal is non-zero if we have rpre/rsuf. */
diff --git a/Src/Zle/complete.c b/Src/Zle/complete.c
index 7d9751fa6..7beb6d847 100644
--- a/Src/Zle/complete.c
+++ b/Src/Zle/complete.c
@@ -84,7 +84,7 @@ char *compiprefix,
Param *comprpms;
/*
- * An array of Param structures for elemens of $compstate; see
+ * An array of Param structures for elements of $compstate; see
* 'compkparams' below.
*
* See CP_KEYPARAMS.
diff --git a/Src/Zle/compmatch.c b/Src/Zle/compmatch.c
index 1cdbb8a48..cc4c3eca9 100644
--- a/Src/Zle/compmatch.c
+++ b/Src/Zle/compmatch.c
@@ -1399,7 +1399,7 @@ pattern_match_restrict(Cpattern p, Cpattern wp, convchar_t *wsc, int wsclen,
if (prestrict->tp == CPAT_CHAR) {
/*
* Easy case: restricted to an exact character on
- * the line. Procede as normal.
+ * the line. Proceed as normal.
*/
c = prestrict->u.chr;
} else {
diff --git a/Src/Zle/compresult.c b/Src/Zle/compresult.c
index 05799399d..30fc60b78 100644
--- a/Src/Zle/compresult.c
+++ b/Src/Zle/compresult.c
@@ -827,7 +827,7 @@ do_ambiguous(void)
* if the completion is completely ambiguous') is set, and some *
* prefix was inserted, return now, bypassing the list-displaying *
* code. On the way, invalidate the list and note that we don't *
- * want to enter an AUTO_MENU imediately. */
+ * want to enter an AUTO_MENU immediately. */
if ((uselist == 3 ||
(!uselist && isset(BASHAUTOLIST) && isset(LISTAMBIGUOUS))) &&
la && iforcemenu != -1) {
diff --git a/Src/Zle/computil.c b/Src/Zle/computil.c
index cb1c01042..90db8b4b8 100644
--- a/Src/Zle/computil.c
+++ b/Src/Zle/computil.c
@@ -967,7 +967,7 @@ struct caarg {
#define CAA_RARGS 4
#define CAA_RREST 5
-/* The cache of parsed descriptons. */
+/* The cache of parsed descriptions. */
#define MAX_CACACHE 8
static Cadef cadef_cache[MAX_CACACHE];
diff --git a/Src/Zle/zle_keymap.c b/Src/Zle/zle_keymap.c
index a5cf1011b..d13aed594 100644
--- a/Src/Zle/zle_keymap.c
+++ b/Src/Zle/zle_keymap.c
@@ -55,7 +55,7 @@ struct keymapname {
HashNode next; /* next in the hash chain */
char *nam; /* name of the keymap */
int flags; /* various flags (see below) */
- Keymap keymap; /* the keymap itsef */
+ Keymap keymap; /* the keymap itself */
};
/* Can't be deleted (.safe) */
diff --git a/Src/Zle/zle_main.c b/Src/Zle/zle_main.c
index 22cb21be3..be68f4722 100644
--- a/Src/Zle/zle_main.c
+++ b/Src/Zle/zle_main.c
@@ -893,7 +893,7 @@ getbyte(long do_keytmout, int *timeout, int full)
break;
if (r == 0) {
/* The test for IGNOREEOF was added to make zsh ignore ^Ds
- that were typed while commands are running. Unfortuantely
+ that were typed while commands are running. Unfortunately
this caused trouble under at least one system (SunOS 4.1).
Here shells that lost their xterm (e.g. if it was killed
with -9) didn't fail to read from the terminal but instead
diff --git a/Src/Zle/zle_refresh.c b/Src/Zle/zle_refresh.c
index 9d46378cf..7b8593dec 100644
--- a/Src/Zle/zle_refresh.c
+++ b/Src/Zle/zle_refresh.c
@@ -388,7 +388,7 @@ zle_free_highlight(void)
/*
* Interface to the region_highlight ZLE parameter.
- * Converts betwen a format like "P32 42 underline,bold" to
+ * Converts between a format like "P32 42 underline,bold" to
* the format in the region_highlights variable. Note that
* the region_highlights variable stores the internal (point/mark)
* region in element zero.
diff --git a/Src/Zle/zle_tricky.c b/Src/Zle/zle_tricky.c
index 2b25d6b2e..fdd168763 100644
--- a/Src/Zle/zle_tricky.c
+++ b/Src/Zle/zle_tricky.c
@@ -1236,8 +1236,10 @@ get_comp_string(void)
else if (tok == OUTPAR) {
if (parct)
parct--;
- else
+ else if (linarr) {
linarr = 0;
+ incmdpos = 1;
+ }
}
if (inredir && IS_REDIROP(tok)) {
rdstr = rdstrbuf;
diff --git a/Src/builtin.c b/Src/builtin.c
index 0ecabf854..aa5767cf1 100644
--- a/Src/builtin.c
+++ b/Src/builtin.c
@@ -7287,8 +7287,11 @@ bin_umask(char *nam, char **args, Options ops, UNUSED(int func))
char *s = *args;
/* Get the current umask. */
- um = umask(0);
+ queue_signals();
+ um = umask(0777);
umask(um);
+ unqueue_signals();
+
/* No arguments means to display the current setting. */
if (!s) {
if (OPT_ISSET(ops,'S')) {
diff --git a/Src/glob.c b/Src/glob.c
index ca5846704..f67a376b9 100644
--- a/Src/glob.c
+++ b/Src/glob.c
@@ -3059,7 +3059,7 @@ igetmatch(char **sp, Patprog p, int fl, int n, char *replstr,
case (SUB_END|SUB_SUBSTR):
case (SUB_END|SUB_LONG|SUB_SUBSTR):
/* Longest/shortest at end, matching substrings. */
- if (!(fl & SUB_LONG)) {
+ {
set_pat_start(p, l);
if (pattrylen(p, send, 0, 0, &patstralloc, umltot) &&
!--n) {
@@ -3397,7 +3397,7 @@ igetmatch(char **sp, Patprog p, int fl, int n, char *replstr,
case (SUB_END|SUB_SUBSTR):
case (SUB_END|SUB_LONG|SUB_SUBSTR):
/* Longest/shortest at end, matching substrings. */
- if (!(fl & SUB_LONG)) {
+ {
set_pat_start(p, l);
if (pattrylen(p, send, 0, 0, &patstralloc, uml) && !--n) {
*sp = get_match_ret(&imd, uml, uml);
diff --git a/Src/hist.c b/Src/hist.c
index 74116e82f..5281e8718 100644
--- a/Src/hist.c
+++ b/Src/hist.c
@@ -3321,6 +3321,7 @@ bufferwords(LinkList list, char *buf, int *index, int flags)
int owb = wb, owe = we, oadx = addedx, onc = nocomments;
int ona = noaliases, ocs = zlemetacs, oll = zlemetall;
int forloop = 0, rcquotes = opts[RCQUOTES];
+ int envarray = 0;
char *p, *addedspaceptr;
if (!list)
@@ -3404,6 +3405,14 @@ bufferwords(LinkList list, char *buf, int *index, int flags)
ctxtlex();
if (tok == ENDINPUT || tok == LEXERR)
break;
+ /*
+ * After an array assignment, return to the initial
+ * start-of-command state. There could be a second ENVARRAY.
+ */
+ if (tok == OUTPAR && envarray) {
+ incmdpos = 1;
+ envarray = 0;
+ }
if (tok == FOR) {
/*
* The way for (( expr1 ; expr2; expr3 )) is parsed is:
@@ -3441,6 +3450,7 @@ bufferwords(LinkList list, char *buf, int *index, int flags)
switch (tok) {
case ENVARRAY:
p = dyncat(tokstr, "=(");
+ envarray = 1;
break;
case DINPAR:
diff --git a/Src/pattern.c b/Src/pattern.c
index 95e5a79a0..c7c2c8bea 100644
--- a/Src/pattern.c
+++ b/Src/pattern.c
@@ -2492,7 +2492,7 @@ pattryrefs(Patprog prog, char *string, int stringlen, int unmetalenin,
* Optimization: if we didn't find any Meta characters
* to begin with, we don't need to look for them now.
*
- * For patstralloc pased in, we want the unmetafied length.
+ * For patstralloc passed in, we want the unmetafied length.
*/
if (patstralloc == &patstralloc_struct &&
patstralloc->unmetalen != origlen) {
diff --git a/Src/sort.c b/Src/sort.c
index 562b89491..8faf9349c 100644
--- a/Src/sort.c
+++ b/Src/sort.c
@@ -250,7 +250,7 @@ strmetasort(char **array, int sortwhat, int *unmetalenp)
if (unmetalenp) {
/*
* Already unmetafied. We just need to check for
- * embededded nulls.
+ * embedded nulls.
*/
int count = unmetalenp[arrptr-array];
/* Remember this length for sorted array */
diff --git a/Src/utils.c b/Src/utils.c
index 086c0dfcb..f5667f389 100644
--- a/Src/utils.c
+++ b/Src/utils.c
@@ -287,9 +287,7 @@ zerrmsg(FILE *file, const char *fmt, va_list ap)
{
const char *str;
int num;
-#ifdef DEBUG
long lnum;
-#endif
#ifdef HAVE_STRERROR_R
#define ERRBUFSIZE (80)
int olderrno;
@@ -325,12 +323,10 @@ zerrmsg(FILE *file, const char *fmt, va_list ap)
nicezputs(s, file);
break;
}
-#ifdef DEBUG
case 'L':
lnum = va_arg(ap, long);
fprintf(file, "%ld", lnum);
break;
-#endif
case 'd':
num = va_arg(ap, int);
fprintf(file, "%d", num);
diff --git a/Src/zsh.h b/Src/zsh.h
index 657e6d8ec..834142895 100644
--- a/Src/zsh.h
+++ b/Src/zsh.h
@@ -1254,7 +1254,7 @@ enum {
/*
* Assignment has value?
- * If the assignment is an arrray, then it certainly has a value --- we
+ * If the assignment is an array, then it certainly has a value --- we
* can only tell if there's an explicit assignment.
*/
@@ -2999,7 +2999,7 @@ struct sortelt {
int origlen;
/*
* The length of the string, if needed, else -1.
- * The length is only needed if there are embededded nulls.
+ * The length is only needed if there are embedded nulls.
*/
int len;
};
diff --git a/Src/ztype.h b/Src/ztype.h
index ae7236774..5c85b0cd7 100644
--- a/Src/ztype.h
+++ b/Src/ztype.h
@@ -66,7 +66,7 @@
* shell initialisation.
*/
#define ZTF_INIT (0x0001) /* One-off initialisation done */
-#define ZTF_INTERACT (0x0002) /* Shell interative and reading from stdin */
+#define ZTF_INTERACT (0x0002) /* Shell interactive and reading from stdin */
#define ZTF_SP_COMMA (0x0004) /* Treat comma as a special characters */
#define ZTF_BANGCHAR (0x0008) /* Treat bangchar as a special character */