From: Junio C Hamano Date: Wed, 11 Oct 2023 21:27:49 GMT Subject: Re: [PATCH] send-email: move process_address_list earlier to avoid, uninitialized address error Message-ID: In-Reply-To: <7e2c92ff-b42c-4b3f-a509-9d0785448262@amd.com> Michael Strawbridge writes: > @@ -799,6 +799,10 @@ sub is_format_patch_arg { > > $time = time - scalar $#files; > > +@initial_to = process_address_list(@initial_to); > +@initial_cc = process_address_list(@initial_cc); > +@initial_bcc = process_address_list(@initial_bcc); > + This does not look OK. If we trace how @initial_to gets its value, - it first gets its value from @getopt_to and @config_to - if that is empty, and there is no $to_cmd, the end-user is interactively asked. - then process_address_list() is applied. But this patch just swapped the second one and the third one, so process_address_list() does not process what the end-user gave interactively, no? > if ($validate) { > # FIFOs can only be read once, exclude them from validation. > my @real_files = (); It almost feels like what need to move is not the setting of these address lists, but the code that calls int validation callchain that needs access to these address lists---the block that begins with the above "if ($validate) {" needs to move below ... > @@ -1099,10 +1103,6 @@ sub expand_one_alias { > return $aliases{$alias} ? expand_aliases(@{$aliases{$alias}}) : $alias; > } > > -@initial_to = process_address_list(@initial_to); > -@initial_cc = process_address_list(@initial_cc); > -@initial_bcc = process_address_list(@initial_bcc); > - ... this point, or something, perhaps? > if ($thread && !defined $initial_in_reply_to && $prompting) { > $initial_in_reply_to = ask( > __("Message-ID to be used as In-Reply-To for the first email (if any)? "),