@@ -376,9 +376,11 @@ int cmd_whatchanged(int argc, const char **argv, const char *prefix)
376376static void show_tagger (char * buf , int len , struct rev_info * rev )
377377{
378378 struct strbuf out = STRBUF_INIT ;
379+ struct pretty_print_context pp = {0 };
379380
380- pp_user_info ("Tagger" , rev -> commit_format , & out , buf , rev -> date_mode ,
381- get_log_output_encoding ());
381+ pp .fmt = rev -> commit_format ;
382+ pp .date_mode = rev -> date_mode ;
383+ pp_user_info (& pp , "Tagger" , & out , buf , get_log_output_encoding ());
382384 printf ("%s" , out .buf );
383385 strbuf_release (& out );
384386}
@@ -762,17 +764,16 @@ static void make_cover_letter(struct rev_info *rev, int use_stdout,
762764 int quiet )
763765{
764766 const char * committer ;
765- const char * subject_start = NULL ;
766767 const char * body = "*** SUBJECT HERE ***\n\n*** BLURB HERE ***\n" ;
767768 const char * msg ;
768- const char * extra_headers = rev -> extra_headers ;
769769 struct shortlog log ;
770770 struct strbuf sb = STRBUF_INIT ;
771771 int i ;
772772 const char * encoding = "UTF-8" ;
773773 struct diff_options opts ;
774774 int need_8bit_cte = 0 ;
775775 struct commit * commit = NULL ;
776+ struct pretty_print_context pp = {0 };
776777
777778 if (rev -> commit_format != CMIT_FMT_EMAIL )
778779 die (_ ("Cover letter needs email format" ));
@@ -804,19 +805,19 @@ static void make_cover_letter(struct rev_info *rev, int use_stdout,
804805 free (commit );
805806 }
806807
807- log_write_email_headers (rev , head , & subject_start , & extra_headers ,
808+ log_write_email_headers (rev , head , & pp . subject , & pp . after_subject ,
808809 & need_8bit_cte );
809810
810811 for (i = 0 ; !need_8bit_cte && i < nr ; i ++ )
811812 if (has_non_ascii (list [i ]-> buffer ))
812813 need_8bit_cte = 1 ;
813814
814815 msg = body ;
815- pp_user_info ( NULL , CMIT_FMT_EMAIL , & sb , committer , DATE_RFC2822 ,
816- encoding ) ;
817- pp_title_line ( CMIT_FMT_EMAIL , & msg , & sb , subject_start , extra_headers ,
818- encoding , need_8bit_cte );
819- pp_remainder (CMIT_FMT_EMAIL , & msg , & sb , 0 );
816+ pp . fmt = CMIT_FMT_EMAIL ;
817+ pp . date_mode = DATE_RFC2822 ;
818+ pp_user_info ( & pp , NULL , & sb , committer , encoding );
819+ pp_title_line ( & pp , & msg , & sb , encoding , need_8bit_cte );
820+ pp_remainder (& pp , & msg , & sb , 0 );
820821 printf ("%s\n" , sb .buf );
821822
822823 strbuf_release (& sb );
@@ -1180,6 +1181,7 @@ int cmd_format_patch(int argc, const char **argv, const char *prefix)
11801181 die (_ ("-n and -k are mutually exclusive." ));
11811182 if (keep_subject && subject_prefix )
11821183 die (_ ("--subject-prefix and -k are mutually exclusive." ));
1184+ rev .preserve_subject = keep_subject ;
11831185
11841186 argc = setup_revisions (argc , argv , & rev , & s_r_opt );
11851187 if (argc > 1 )
@@ -1410,8 +1412,7 @@ static void print_commit(char sign, struct commit *commit, int verbose,
14101412 find_unique_abbrev (commit -> object .sha1 , abbrev ));
14111413 } else {
14121414 struct strbuf buf = STRBUF_INIT ;
1413- struct pretty_print_context ctx = {0 };
1414- pretty_print_commit (CMIT_FMT_ONELINE , commit , & buf , & ctx );
1415+ pp_commit_easy (CMIT_FMT_ONELINE , commit , & buf );
14151416 printf ("%c %s %s\n" , sign ,
14161417 find_unique_abbrev (commit -> object .sha1 , abbrev ),
14171418 buf .buf );
0 commit comments