
On Sat, Nov 17, 2012 at 1:39 AM, Boris Schaeling <boris@highscore.de> wrote:
On Fri, 16 Nov 2012 15:03:45 +0100, Yakov Galka <ybungalobill@gmail.com> wrote:
[...]I prefer concise, minimal and uniform interfaces. This implies:
* Use only the set_args, no set_cmd_line. Rationale: consistent with POSIX and the standard argv[] passed to main. Removes the need of run_exe or parsing the set_cmd_line to retrieve the exe name from there. * Leave the behavior in case of embedded quotation marks unspecified. Do not escape quotation marks within the argument.
set_args() is currently using boost::io::quoted() if a space is found in an argument. If I understand correctly, you propose dropping this function call?
Yes. The current behavior limits the functionality, as the examples I provided demonstrate.
Shall set_args() still check for a space and eventually wrap an argument in quotes? Or you think this should also be done by the library user?
The former. Why? Using the same criteria as before — wrapping the argument in quotes means that one will not be able to specify the whitespace between the quoted arguments. However, I think that it is a reasonable assumption that it does not matter what kind of whitespace separates the arguments. Take the said above with a grain of salt. -- Yakov