This is the first part of converting diff_opt_parse() to use parse_options(). Compared to the full series [1] I sent earlier, 03/76 is dropped and 02/14 is updated to allow KEEP_UNKNOWN and STOP_AT_NON_OPTION combination, but only for one shot mode. [1] https://public-inbox.org/git/20190117130615.18732-1-pclouds@xxxxxxxxx/ Nguyễn Thái Ngọc Duy (14): parse-options.h: remove extern on function prototypes parse-options: add one-shot mode parse-options: disable option abbreviation with PARSE_OPT_KEEP_UNKNOWN parse-options: add OPT_BITOP() parse-options: stop abusing 'callback' for lowlevel callbacks parse-options: avoid magic return codes parse-options: allow ll_callback with OPTION_CALLBACK diff.h: keep forward struct declarations sorted diff.h: avoid bit fields in struct diff_flags diff.c: prepare to use parse_options() for parsing diff.c: convert -u|-p|--patch diff.c: convert -U|--unified diff.c: convert -W|--[no-]function-context diff.c: convert --raw Documentation/diff-options.txt | 2 +- builtin/blame.c | 2 +- builtin/merge.c | 9 +- builtin/update-index.c | 41 +++++---- diff.c | 71 ++++++++++++--- diff.h | 80 ++++++++--------- parse-options-cb.c | 7 +- parse-options.c | 152 ++++++++++++++++++++++++--------- parse-options.h | 108 +++++++++++++---------- t/t7800-difftool.sh | 4 +- 10 files changed, 318 insertions(+), 158 deletions(-) -- 2.20.1.560.g70ca8b83ee