# # # patch "cmd.hh" # from [7fc8ce839fb27fce0c2fcd27a1a91989641e28dd] # to [211fa6d55aa18f33f2040f1e655b5a6803d0d44b] # # patch "commands.cc" # from [0549759b96164a5fa1735b8616594ab91b09a5ac] # to [5b8a4f6458f87ab5bc22280e3028f460b79739f8] # # patch "monotone.cc" # from [b1c0051f294e7e09a5a19bd826a74ac16281a8c0] # to [933c84e0b62e5d35ca46bf811529869ffbe1e2d2] # ============================================================ --- cmd.hh 7fc8ce839fb27fce0c2fcd27a1a91989641e28dd +++ cmd.hh 211fa6d55aa18f33f2040f1e655b5a6803d0d44b @@ -200,9 +200,9 @@ void commands::cmd_ ## C::exec(app_state if (args.size() == 0) \ throw usage(name); \ \ - vector< utf8 >::const_iterator i = args.begin(); \ + args_vector::const_iterator i = args.begin(); \ ++i; \ - vector< utf8 > removed (i, args.end()); \ + args_vector removed (i, args.end()); \ /* XXX Command completion... */ \ /*command * child = find_command(this, idx(args, 0)()); \ if (child == NULL) \ ============================================================ --- commands.cc 0549759b96164a5fa1735b8616594ab91b09a5ac +++ commands.cc 5b8a4f6458f87ab5bc22280e3028f460b79739f8 @@ -599,7 +599,7 @@ namespace commands } } - int process(app_state & app, string const & cmd, args_vector const & args) + int process(app_state & app, string const & name, args_vector const & args) { command * cmd = NULL; if (cmd != NULL) ============================================================ --- monotone.cc b1c0051f294e7e09a5a19bd826a74ac16281a8c0 +++ monotone.cc 933c84e0b62e5d35ca46bf811529869ffbe1e2d2 @@ -125,11 +125,11 @@ void localize_monotone() } // read command-line options and return the command name -commands::command_id read_options(options & opts, args_vector args, vector< string > argsstr) +commands::command_id read_options(options & opts, args_vector args) { option::concrete_option_set optset = options::opts::all_options().instantiate(&opts); - optset.from_command_line(argsstr); + optset.from_command_line(args); // consume the command, and perform completion if necessary commands::command_id cmd; @@ -149,7 +149,7 @@ commands::command_id read_options(option optset.reset(); optset = (options::opts::globals() | cmdopts).instantiate(&opts); - optset.from_command_line(argsstr, false); + optset.from_command_line(args, false); if (!opts.args.empty()) opts.args.erase(opts.args.begin()); @@ -186,15 +186,12 @@ cpp_main(int argc, char ** argv) // decode all argv values into a UTF-8 array args_vector args; - // XXX Remove argsstr. - vector< string > argsstr; for (int i = 1; i < argc; ++i) { external ex(argv[i]); utf8 ut; system_to_utf8(ex, ut); args.push_back(arg_type(ut)); - argsstr.push_back(ut()); } // find base name of executable, convert to utf8, and save it in the @@ -212,7 +209,7 @@ cpp_main(int argc, char ** argv) app_state app; try { - commands::command_id cmd = read_options(app.opts, args, argsstr); + commands::command_id cmd = read_options(app.opts, args); // XXX Remove cmdstr string cmdstr = cmd.size() > 0 ? (*(cmd.begin()))() : ""; @@ -257,7 +254,7 @@ cpp_main(int argc, char ** argv) if (!app.found_workspace && global_sanity.filename.empty()) global_sanity.filename = (app.opts.conf_dir / "dump").as_external(); - app.lua.hook_note_mtn_startup(argsstr); + app.lua.hook_note_mtn_startup(args); // main options processed, now invoke the // sub-command w/ remaining args