     } 1&& ;
 
 : line-continues? ( line -- ? )
-    { [ empty? not ] [ last CHAR: \ = ] } 1&& ;
+    ?last CHAR: \ = ;
 
 : section, ( -- )
     section get [ , ] when* ;

    } escape-string-by ;

: space? ( ch -- ? )
    {
        [ CHAR: \s = ]
        [ CHAR: \t = ]
        [ CHAR: \n = ]
        [ CHAR: \r = ]
        [ 0x0c = ] ! \f
        [ 0x0b = ] ! \v
    } 1|| ;

: unspace ( str -- str' )
    [ space? ] trim ;

: escape-string ( str -- str' )
    H{
        { CHAR: \a   "\\a"  }
        { CHAR: \b   "\\b"  }
        { CHAR: \f   "\\f"  }
        { CHAR: \n   "\\n"  }
        { CHAR: \r   "\\r"  }
        { CHAR: \t   "\\t"  }
        { CHAR: \b   "\\v"  }
        { CHAR: '    "\\'"  }
        { CHAR: \"   "\\\"" }
        { CHAR: \\   "\\\\" }
        { CHAR: ?    "\\?"  }
        { CHAR: ;    "\\;"  }
