On Fri, Jan 10, 2014 at 12:45:51AM +0200, Oleksandr Gavenko wrote:
> The only thing I found in "QUOTING" section in fvwm(1) that quoted characters
> are spaces (when using single/double/back quotes).

[snip]
> But:
[snip]
>   Echo "XXX YYY"
>   [fvwm][Echo]: 
>   "XXX YYY"
> 
> So seems that Echo is special form and don't follow traditional
> Fvwm quoting convention... Is that true or this is a bug?

I'd call it a glitch.  Something that wasn't really indended, that
is surprising and doesn't do any harm.  Note that if you use
variables with the Echo command, they get properly expanded (e.g.
$[w.x]) whether inside or outside quotes.

The reason for this is that the whole command line is parsed by
the general command line code in functions.c.  This code expands
variables.  Then the CMD_Echo function is called with the rest of
the command line as a string and just prints it.

All(?) other commands use the parsing library to split the passed
argument string into separate tokens.  This library takes care of
stripping the quotes.

Actually, the command parsing code in fvwm lacks a real design;
every command does its own parsing, and there are probably many
more such glitches, especially in commands with complex syntax.
The way to deal with this glitch is to just ignore it; every other
command should handle quoting properly, and if not it's most
likely a bug.

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt

Reply via email to