zsh-workers
 help / color / mirror / code / Atom feed
From: Bart Schaefer <schaefer@brasslantern.com>
To: zsh-workers@zsh.org
Subject: WARN_CREATE_GLOBAL and prompt themes
Date: Sun, 22 Nov 2015 10:13:21 -0800	[thread overview]
Message-ID: <151122101321.ZM10240@torch.brasslantern.com> (raw)

Maybe we also don't want to warn about zle_highlight ... but that would be
some kind of ugly special case, I think.

I got lazy with the adam prompts because they create about a dozen globals.

diff --git a/Functions/Prompts/prompt_adam1_setup b/Functions/Prompts/prompt_adam1_setup
index aca0e59..27a613c 100644
--- a/Functions/Prompts/prompt_adam1_setup
+++ b/Functions/Prompts/prompt_adam1_setup
@@ -18,6 +18,7 @@ EOF
 }
 
 prompt_adam1_setup () {
+  setopt localoptions nowarncreateglobal
   prompt_adam1_color1=${1:-'blue'}
   prompt_adam1_color2=${2:-'cyan'}
   prompt_adam1_color3=${3:-'green'}
@@ -33,7 +34,7 @@ prompt_adam1_setup () {
 }
 
 prompt_adam1_precmd () {
-  setopt noxtrace localoptions
+  setopt localoptions noxtrace nowarncreateglobal
   local base_prompt_expanded_no_color base_prompt_etc
   local prompt_length space_left
 
diff --git a/Functions/Prompts/prompt_adam2_setup b/Functions/Prompts/prompt_adam2_setup
index 14603b4..b944511 100644
--- a/Functions/Prompts/prompt_adam2_setup
+++ b/Functions/Prompts/prompt_adam2_setup
@@ -20,6 +20,7 @@ EOF
 
 prompt_adam2_setup () {
   # Some can't be local
+  setopt localoptions nowarncreateglobal
   local prompt_gfx_tlc prompt_gfx_mlc prompt_gfx_blc
 
   if [[ $1 == '8bit' ]]; then
@@ -73,7 +74,7 @@ prompt_adam2_setup () {
 }
 
 prompt_adam2_precmd() {
-  setopt noxtrace localoptions extendedglob
+  setopt localoptions extendedglob noxtrace nowarncreateglobal
   local prompt_line_1
 
   prompt_adam2_choose_prompt
diff --git a/Functions/Prompts/prompt_bart_setup b/Functions/Prompts/prompt_bart_setup
index 22c0c03..cb032de 100644
--- a/Functions/Prompts/prompt_bart_setup
+++ b/Functions/Prompts/prompt_bart_setup
@@ -70,8 +70,8 @@ prompt_bart_help () {
 	print -nP '\n%E'
 }
 
-integer PSCOL=1
-typeset PSCMD=
+integer -g PSCOL=1
+typeset -g PSCMD=
 
 prompt_bart_preexec () {
     setopt localoptions noxtrace noshwordsplit noksharrays unset
@@ -106,7 +106,6 @@ prompt_bart_precmd () {
     psvar[8]=''		# No padding until we compute it
     psvar[9]=()
 
-    typeset -g PSCOL
     # Reset the truncation widths for upcoming computations
     ((PSCOL == 1)) || { PSCOL=1 ; prompt_bart_ps1 }
     if [[ -o promptcr ]]
diff --git a/Functions/Prompts/prompt_clint_setup b/Functions/Prompts/prompt_clint_setup
index 822d390..876d304 100644
--- a/Functions/Prompts/prompt_clint_setup
+++ b/Functions/Prompts/prompt_clint_setup
@@ -38,12 +38,13 @@ prompt_clint_setup () {
   [[ -n "$WINDOW" ]] && p_win="$pc['\(']%F{$pcc[4]}$WINDOW$pc['\)']"
 
   p_userpwd="$pc['<']%F{$pcc[3]}%n@%m$p_win%F{$pcc[5]}:%F{$pcc[4]}%~$pc['>']"
-  p_vcs="%(2v.%U%2v%u.)"
+  local p_vcs="%(2v.%U%2v%u.)"
 
   p_shlvlhist="%fzsh%(2L./$SHLVL.) %B%h%b "
   p_rc="%(?..[%?%1v] )"
   p_end="%f%B%#%b "
 
+  typeset -ga zle_highlight
   zle_highlight[(r)default:*]=default:$pcc[2]
 
   prompt="$p_date$p_tty$p_plat$p_ver
diff --git a/Functions/Prompts/prompt_oliver_setup b/Functions/Prompts/prompt_oliver_setup
index 44d3f99..979411d 100644
--- a/Functions/Prompts/prompt_oliver_setup
+++ b/Functions/Prompts/prompt_oliver_setup
@@ -37,6 +37,8 @@ prompt_oliver_setup() {
 
   PS1="$pcolr$user$host%~%"'$((COLUMNS-12))'"(l.$prompt_newline. )[%h%1(j.%%%j.)%0(?..:%?)]%# %b%f%k"  RPS2='<%^'
   PS2=''
+
+  typeset -ga zle_highlight
   zle_highlight[(r)default:*]=default:$tcolr
 }
 
diff --git a/Functions/Prompts/prompt_special_chars b/Functions/Prompts/prompt_special_chars
index a8da6c3..82a1f2d 100644
--- a/Functions/Prompts/prompt_special_chars
+++ b/Functions/Prompts/prompt_special_chars
@@ -19,6 +19,7 @@ if [[ ${LC_ALL:-${LC_CTYPE:-$LANG}} = *(UTF-8|utf8)* ]]; then
   schars[261]=$'\xe2\x96\x92'
   schars[260]=$'\xe2\x96\x91'
 else
+  local code
   for code in 300 304 332 333 371 372 262 261 260; do
     eval "schars[$code]=\$'\\$code'"
   done
diff --git a/Functions/Prompts/promptinit b/Functions/Prompts/promptinit
index edf2d02..5872489 100644
--- a/Functions/Prompts/promptinit
+++ b/Functions/Prompts/promptinit
@@ -160,7 +160,7 @@ Use prompt -h <theme> for help on specific themes.'
        for hook in chpwd precmd preexec periodic zshaddhistory zshexit; do
          add-zsh-hook -D "${hook}" "prompt_*_${hook}"
        done
-       set -A zle_highlight ${zle_highlight:#default:*}
+       typeset -ga zle_highlight=( ${zle_highlight:#default:*} )
        (( ${#zle_highlight} )) || unset zle_highlight
 
        prompt_$1_setup "$@[2,-1]" && prompt_theme=( "$@" )


                 reply	other threads:[~2015-11-22 18:13 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=151122101321.ZM10240@torch.brasslantern.com \
    --to=schaefer@brasslantern.com \
    --cc=zsh-workers@zsh.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).