chiark / gitweb /
Correct handling of @@ stuff inside @@?; make NC_SITES vary.
[ian-dotfiles.git] / gpt
diff --git a/gpt b/gpt
index 5076cc2ea3c8682beeafd44825bdf717f1c81e2c..129ead4db67b7928bc1989705c1d81f26dfba7ab 100755 (executable)
--- a/gpt
+++ b/gpt
@@ -124,9 +124,12 @@ sub process_input () {
                ($to,$op,$esc,$l) = ($`,$1,$&,$');
                add_text($to);
                if ($op =~ m/[-< \$?\n]/) {
-                   $substr.= $esc if @oplist;
+                   if (!@oplist) {
+                       add_perl($op) if $op =~ m/[\$]/;
+                   } else {
+                       $substr.= $esc;
+                   }
                    push @oplist, $op;
-                   add_perl($op) if $op =~ m/[\$]/;
                } elsif ($op =~ m/[\)\}\;\:]/) {
                    err("unmatched closing \@\@$op") unless @oplist;
                    $want= pop @oplist;