about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--Src/prompt.c3
2 files changed, 9 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 4fa42e068..6ff964fc3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2004-08-07  Geoff Wing  <gcw@zsh.org>
+
+	* 20196: Src/prompt.c: still allow user specified text modifiers
+	with a short terminal.  Only disallow if the terminal is really
+	unknown or without sufficient capabilities or if SINGLE_LINE_ZLE
+	option is specified
+
 2004-08-06  Peter Stephenson  <pws@csr.com>
 
 	* 20232 with typo corrected: Functions/Zftp/zfcd: remove
diff --git a/Src/prompt.c b/Src/prompt.c
index 3b16a8e44..b05bbf110 100644
--- a/Src/prompt.c
+++ b/Src/prompt.c
@@ -749,7 +749,8 @@ stradd(char *d)
 mod_export void
 tsetcap(int cap, int flag)
 {
-    if (!(termflags & TERM_SHORT) && tcstr[cap]) {
+    if (tccan(cap) && !isset(SINGLELINEZLE) &&
+        !(termflags & (TERM_NOUP|TERM_BAD|TERM_UNKNOWN))) {
 	switch(flag) {
 	case -1:
 	    tputs(tcstr[cap], 1, putraw);