Hi,

Attached is a small patchlet to make commands containing '}' work as
expected (see the convoluted example in the .txt file).
Tested, continued lines still work fine.

Please apply.

Thank you,
Bernhard
[Execute] (Control-Mod1-r) {PROMPT_COMMAND='echo -ne "\033]0;[EMAIL PROTECTED]: 
${PWD}\007"' /usr/bin/rxvt -fn 
-*-terminus-medium-r-*-*-*-160-*-*-*-*-iso10646-* -rv -sr -st -sl 16384 -cr red 
-pr red -ip -tint lightblue -ls -C -e sux -}
Index: src/FileTokenizer.cpp
===================================================================
RCS file: /cvsroot/bbkeys/bbkeys/src/FileTokenizer.cpp,v
retrieving revision 1.4
diff -u -r1.4 FileTokenizer.cpp
--- src/FileTokenizer.cpp       3 Sep 2004 01:22:50 -0000       1.4
+++ src/FileTokenizer.cpp       9 Jul 2005 20:42:53 -0000
@@ -120,8 +120,11 @@
             state = WANT_DATA;
         } else if (state == WANT_DATA && line[pos] == '{') {
             string::size_type start = ++pos;
-            while (pos < len && line[pos] != '}') {
-                if (line[pos++] == '\\') ++pos;
+           // now start to search for the closing curly bracket at the end
+           // as there might be a curly bracket in the command.
+            pos = len;
+            while (pos > start && line[pos] != '}') {
+                   --pos;
             }
 
             block->data.assign(line, start, pos - start);

Reply via email to