zshrc: Fixing $PS2
authorFrank Terbeck <ft@grml.org>
Thu, 11 Sep 2008 10:06:05 +0000 (12:06 +0200)
committerFrank Terbeck <ft@grml.org>
Thu, 11 Sep 2008 10:06:05 +0000 (12:06 +0200)
We use prompt_subst for vcs_info() to work. PS2 contained a backtick, which
starts off command substitution. There was no closing backtick (because the
backtick is meant to be there for cosmetic reasons only), so that threw
a parsing error now. Thanks to Matthias Merk noticing.

This also removes some dead comments.

debian/changelog
etc/zsh/zshrc

index 2de0297..6873818 100644 (file)
@@ -1,3 +1,10 @@
+grml-etc-core (0.3.57) unstable; urgency=low
+
+  * zshrc: Fixed $PS2, which included a backtick, which is special when
+    setopt prompt_subst is set. Thanks to Matthias Merk for reporting.
+
+ -- Frank Terbeck <ft@grml.org>  Thu, 11 Sep 2008 12:00:14 +0200
+
 grml-etc-core (0.3.56) unstable; urgency=low
 
   [ Frank Terbeck ]
index b368970..6141171 100644 (file)
@@ -1627,11 +1627,6 @@ fi
 
 setopt prompt_subst
 
-# precmd() => a function which is executed just before each prompt
-# use 'NOPRECMD=1' to disable the precmd + preexec commands
-
-# precmd () { setopt promptsubst; [[ -o interactive ]] && jobs -l;
-
 # make sure to use right prompt only when not running a command
 is41 && setopt transient_rprompt
 
@@ -1642,7 +1637,7 @@ is4 && [[ -z $NOPRECMD ]] && precmd () {
 
     # allow manual overwriting of RPROMPT
     if [[ -n $RPROMPT ]] ; then
-        [[ $TERM == screen* ]] && echo -n $'\ekzsh\e\\'
+        [[ $TERM == screen* ]] && print -nP "\ekzsh\e\\"
         # return 0
     fi
     # just use DONTSETRPROMPT=1 to be able to overwrite RPROMPT
@@ -1664,8 +1659,6 @@ is4 && [[ -z $NOPRECMD ]] && precmd () {
     esac
 }
 
-# chpwd () => a function which is executed whenever the directory is changed
-
 # preexec() => a function running before every command
 is4 && [[ -z $NOPRECMD ]] && \
 preexec () {
@@ -1696,7 +1689,7 @@ preexec () {
 }
 
 EXITCODE="%(?..%?%1v )"
-PS2='`%_> '       # secondary prompt, printed when the shell needs more information to complete a command.
+PS2='\`%_> '      # secondary prompt, printed when the shell needs more information to complete a command.
 PS3='?# '         # selection prompt used within a select loop.
 PS4='+%N:%i:%_> ' # the execution trace prompt (setopt xtrace). default: '+%N:%i>'