-/* cbake.l @BAKE flex @FILE && cc -std=c99 -D_GNU_SOURCE -o @SHORT lex.yy.c @ARGS -lfl @STOP */
+/* cbake.l @BAKE flex @FILE && cc -std=c99 -D_GNU_SOURCE -o @{@SHORT} lex.yy.c @ARGS -lfl @STOP */
 %{
 
 #include <ctype.h>
 char ** gav;
 /* Options */
 int gselect = 1;
-/* Line accum */
-int  line = 1;
+/* accum */
+int line = 1, expunge_depth = 0;
+
 
 extern void root(char * filename);
 extern void args(int n);
  @ARGS:{NUM}+       { args(atoi(strrchr(yytext, ':')+1)); }
  @ARGS|$\+          { args(-1); }
  @STOP              { CHAR('\n'); if (gpipe) { fprintf(stderr, "output: "); } if (!gselect) { return 0; } BEGIN INITIAL; }
+ @\{ { ++expunge_depth; }
+ \}  {if (!expunge_depth--) { ECHO; } }
  {SPACE}+           { CHAR(' '); }
  .                  { ECHO; }
 }