index b6df54c82060163ce895102c69180a1294b48e78..80c4d7a6c7994725092b0aec0dd644f3a5ea4df4 100644 (file)
--- a/tig.c
+++ b/tig.c
}
waddnstr(view->win, string, len);
- }
- if (trimmed && use_tilde) {
- set_view_attr(view, LINE_DELIMITER);
- waddch(view->win, '~');
- col++;
+
+ if (trimmed && use_tilde) {
+ set_view_attr(view, LINE_DELIMITER);
+ waddch(view->win, '~');
+ col++;
+ }
}
return col;
}
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")) {