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);