index e0e812c605128f15d40c104d8ba1373c51ff3a0e..80c4d7a6c7994725092b0aec0dd644f3a5ea4df4 100644 (file)
--- a/tig.c
+++ b/tig.c
}
static bool
-format_argv(const char ***dst_argv, const char *src_argv[], bool replace)
+format_argv(const char ***dst_argv, const char *src_argv[], bool replace, bool first)
{
char buf[SIZEOF_STR];
int argc;
break;
continue;
- } else if (!strcmp(arg, "%(revargs)")) {
+ } else if (!strcmp(arg, "%(revargs)") ||
+ (first && !strcmp(arg, "%(commit)"))) {
if (!argv_append_array(dst_argv, opt_rev_args))
break;
continue;
prepare_io(struct view *view, const char *dir, const char *argv[], bool replace)
{
view->dir = dir;
- return format_argv(&view->argv, argv, replace);
+ return format_argv(&view->argv, argv, replace, !view->prev);
}
static bool
return;
}
- if (format_argv(&argv, req->argv, TRUE))
+ if (format_argv(&argv, req->argv, TRUE, FALSE))
open_external_viewer(argv, NULL);
if (argv)
argv_free(argv);
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:
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")) {