about summary refs log tree commit diff
diff options
context:
space:
mode:
authorPeter Stephenson <pws@users.sourceforge.net>2003-03-07 12:31:44 +0000
committerPeter Stephenson <pws@users.sourceforge.net>2003-03-07 12:31:44 +0000
commit1c9ac56c43527819d80bc15a53460802cd7c84cd (patch)
tree2101b3d8e54d2bff98c471d51fae23e3f180e879
parent79d0de7c3ad8626d507b50176a80cf7ecb6f3996 (diff)
downloadzsh-1c9ac56c43527819d80bc15a53460802cd7c84cd.tar.gz
zsh-1c9ac56c43527819d80bc15a53460802cd7c84cd.tar.xz
zsh-1c9ac56c43527819d80bc15a53460802cd7c84cd.zip
18325: options on by default weren't printed correctly by zsh/parameter
-rw-r--r--ChangeLog5
-rw-r--r--Src/Modules/parameter.c9
-rw-r--r--Src/Modules/termcap.c2
3 files changed, 13 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 2b8de6bfe..b9d82254a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2003-03-07  Peter Stephenson  <pws@csr.com>
+
+	* 18325: Src/Modules/parameter.c: options on by default weren't
+	handled correctly.
+
 2003-02-26  Clint Adams  <clint@zsh.org>
 
         * 18303: zshconfig.ac: fix some always-true test evaluations.
diff --git a/Src/Modules/parameter.c b/Src/Modules/parameter.c
index 34a418623..6e19a377e 100644
--- a/Src/Modules/parameter.c
+++ b/Src/Modules/parameter.c
@@ -794,7 +794,14 @@ getpmoption(HashTable ht, char *name)
     pm->level = 0;
 
     if ((n = optlookup(name)))
-	pm->u.str = dupstring(opts[n] ? "on" : "off");
+    {
+	int ison;
+	if (n > 0)
+	    ison = opts[n];
+	else
+	    ison = !opts[-n];
+	pm->u.str = dupstring(ison ? "on" : "off");
+    }
     else {
 	pm->u.str = dupstring("");
 	pm->flags |= PM_UNSET;
diff --git a/Src/Modules/termcap.c b/Src/Modules/termcap.c
index fb3c6f324..244efa48c 100644
--- a/Src/Modules/termcap.c
+++ b/Src/Modules/termcap.c
@@ -347,8 +347,6 @@ scantermcap(HashTable ht, ScanFunc func, int flags)
     u = buf;
 
     pm->flags = PM_READONLY | PM_SCALAR;
-    pm->sets.cfn = NULL;
-    pm->gets.cfn = strgetfn;
 
     for (capcode = (char **)boolcodes; *capcode; capcode++) {
 	if ((num = ztgetflag(*capcode)) != -1) {