id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 545,Program_options: Fails to parse options with a common root,rleigh,Vladimir Prus,"{{{ Given the following testcase: #include #include namespace opt = boost::program_options; int main(int argc, char *argv[]) { try { bool all, all_chroots, all_sessions; opt::options_description chroot(""Chroot selection""); chroot.add_options() (""all,a"", ""Select all chroots and active sessions"") (""all-chroots"", ""Select all chroots"") (""all-sessions"", ""Select all active sessions""); opt::variables_map vm; opt::store(opt::parse_command_line(argc, argv, chroot), vm); opt::notify(vm); if (vm.count(""all"")) all = true; if (vm.count(""all-chroots"")) all_chroots = true; if (vm.count(""all-sessions"")) all_sessions = true; return 0; } catch (std::exception const& e) { std::cerr << e.what() << std::endl; return 1; } } $ g++ -o opt opt.cc -lboost_program_options $ ./opt --help unknown option help $ ./opt --all-chroots $ ./opt --all-sessions $ ./opt --all ambiguous option all --all is not abiguous, since it's an exact match. It's not ambigous for GNU getopt or GLib GOption, so this is IMHO a bug. Regards, Roger ii libboost-dev 1.33.0-6 Boost C++ Libraries development fi ii libboost-program-options1.33. 1.33.0-6 program options library for C++ }}}",Bugs,closed,Boost 1.44.0,program_options,Boost Development Trunk,Problem,fixed,,