X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=tig.c;h=ee0d0d63eb32833202af271a8134291c9c32f738;hb=c3658955af8be4763fba1f0b0b9a2fe5eac48c02;hp=7bc5daaaeeb440018bcb7642e42af11c66ea63ad;hpb=80e97cdd456dfe71d0dbf32d77a73bb5a2ab158e;p=tig.git diff --git a/tig.c b/tig.c index 7bc5daa..ee0d0d6 100644 --- a/tig.c +++ b/tig.c @@ -1244,9 +1244,9 @@ static char opt_git_dir[SIZEOF_STR] = ""; static signed char opt_is_inside_work_tree = -1; /* set to TRUE or FALSE */ static char opt_editor[SIZEOF_STR] = ""; static FILE *opt_tty = NULL; -static const char **opt_diff_args = NULL; -static const char **opt_rev_args = NULL; -static const char **opt_file_args = NULL; +static const char **opt_diff_argv = NULL; +static const char **opt_rev_argv = NULL; +static const char **opt_file_argv = NULL; #define is_initial_commit() (!get_ref_head()) #define is_head_commit(rev) (!strcmp((rev), "HEAD") || (get_ref_head() && !strcmp(rev, get_ref_head()->id))) @@ -2182,14 +2182,14 @@ load_options(void) * that conflict with keybindings. */ add_builtin_run_requests(); - if (!opt_diff_args && tig_diff_opts && *tig_diff_opts) { + if (!opt_diff_argv && tig_diff_opts && *tig_diff_opts) { static const char *diff_opts[SIZEOF_ARG] = { NULL }; int argc = 0; if (!string_format(buf, "%s", tig_diff_opts) || !argv_from_string(diff_opts, &argc, buf)) die("TIG_DIFF_OPTS contains too many arguments"); - else if (!argv_copy(&opt_diff_args, diff_opts)) + else if (!argv_copy(&opt_diff_argv, diff_opts)) die("Failed to format TIG_DIFF_OPTS arguments"); } @@ -3236,18 +3236,18 @@ format_argv(const char ***dst_argv, const char *src_argv[], bool replace, bool f size_t bufpos = 0; if (!strcmp(arg, "%(fileargs)")) { - if (!argv_append_array(dst_argv, opt_file_args)) + if (!argv_append_array(dst_argv, opt_file_argv)) break; continue; } else if (!strcmp(arg, "%(diffargs)")) { - if (!argv_append_array(dst_argv, opt_diff_args)) + if (!argv_append_array(dst_argv, opt_diff_argv)) break; continue; } else if (!strcmp(arg, "%(revargs)") || (first && !strcmp(arg, "%(commit)"))) { - if (!argv_append_array(dst_argv, opt_rev_args)) + if (!argv_append_array(dst_argv, opt_rev_argv)) break; continue; } @@ -3332,7 +3332,7 @@ static bool prepare_io(struct view *view, const char *dir, const char *argv[], bool replace) { view->dir = dir; - return format_argv(&view->argv, argv, replace, !view->parent); + return format_argv(&view->argv, argv, replace, !view->prev); } static bool @@ -4235,9 +4235,9 @@ diff_read(struct view *view, char *data) { if (!data) { /* Fall back to retry if no diff will be shown. */ - if (view->lines == 0 && opt_file_args) { + if (view->lines == 0 && opt_file_argv) { int pos = argv_size(view->argv) - - argv_size(opt_file_args) - 1; + - argv_size(opt_file_argv) - 1; if (pos > 0 && !strcmp(view->argv[pos], "--")) { for (; view->argv[pos]; pos++) { @@ -6942,6 +6942,8 @@ main_request(struct view *view, enum request request, struct line *line) switch (request) { case REQ_ENTER: + if (view_is_displayed(view) && display[0] != view) + maximize_view(view); open_view(view, REQ_VIEW_DIFF, flags); break; case REQ_REFRESH: @@ -7111,7 +7113,11 @@ init_display(void) keypad(status_win, TRUE); wbkgdset(status_win, get_line_attr(LINE_STATUS)); +#if defined(NCURSES_VERSION_PATCH) && (NCURSES_VERSION_PATCH >= 20080119) set_tabsize(opt_tab_size); +#else + TABSIZE = opt_tab_size; +#endif term = getenv("XTERM_VERSION") ? NULL : getenv("COLORTERM"); if (term && !strcmp(term, "gnome-terminal")) { @@ -7789,9 +7795,9 @@ filter_rev_parse(const char ***args, const char *arg1, const char *arg2, const c static void filter_options(const char *argv[]) { - filter_rev_parse(&opt_file_args, "--no-revs", "--no-flags", argv); - filter_rev_parse(&opt_diff_args, "--no-revs", "--flags", argv); - filter_rev_parse(&opt_rev_args, "--symbolic", "--revs-only", argv); + filter_rev_parse(&opt_file_argv, "--no-revs", "--no-flags", argv); + filter_rev_parse(&opt_diff_argv, "--no-revs", "--flags", argv); + filter_rev_parse(&opt_rev_argv, "--symbolic", "--revs-only", argv); } static enum request @@ -7839,7 +7845,7 @@ parse_options(int argc, const char *argv[]) const char *opt = argv[i]; if (seen_dashdash) { - argv_append(&opt_file_args, opt); + argv_append(&opt_file_argv, opt); continue; } else if (!strcmp(opt, "--")) { @@ -7855,7 +7861,7 @@ parse_options(int argc, const char *argv[]) quit(0); } else if (!strcmp(opt, "--all")) { - argv_append(&opt_rev_args, opt); + argv_append(&opt_rev_argv, opt); continue; }