Filenames with spaces; output beside the input file; warning fixes (from dev c08eb1bbfa4c)
- Filenames may contain spaces: quote on the command line; filename lists use a standalone "/" separator; unseparated names that do not exist are rejoined into names that do (announced); leading ~ expands. - Without -o, output is written to the input file's directory; -o fully specifies the output directory and basename. - "Word not parsed" warnings now appear without -v, only for text that survives removal, with correct line numbers. - New tst/filename_test.sh regression suite. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -113,5 +113,10 @@ public:
|
||||
std::vector<std::string> m_var_names {};
|
||||
std::set<std::string> m_given {};
|
||||
std::vector<std::string> m_hyphen_markers {};
|
||||
// Original argv word boundaries for multi-word arguments (the single
|
||||
// positional list and variadic --name options). as_vector() returns
|
||||
// these, so a shell-quoted filename containing spaces stays one
|
||||
// element; the space-joined m_value remains only for get()/describe().
|
||||
std::map<std::string, std::vector<std::string>> m_vectors {};
|
||||
long unsigned int m_syntax_size = 0;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user