tig-2.3.0
Release notes
Incompatibilities:
- The
width
setting on thestatus
,text
andcommit-title
columns was
never applied and has been removed. (GH #617)
Improvements:
- Improve load performance by throttling screen updates. (GH #622, #629)
- Speed up graph rendering. (GH #638)
- Enable scroll optimizations for Terminal.app and iTerm2. (GH #637)
- Improve the test suite portability to not depend on GNU sed. (GH #609, #614)
- Make build reproducible. (https://reproducible-builds.org/) (GH #613)
- Enable binding to more symbolic keys and keys with control modifier:
F13
-F19
,ShiftLeft
,ShiftRight
,ShiftDel
,ShiftHome
,ShiftEnd
,
ShiftTab
,Ctrl-C
,Ctrl-V
,Ctrl-S
, andCtrl-@
. (GH #314, #619, #642) - Persist readline history to
~/.tig_history
or$XDG_DATA_HOME/tig/history
.
Usehistory-size
to control the number of entries to save. (GH #620, #713,
#714, #718) - Preload last search from persistent history. (GH #630)
- Add
view-close-no-quit
action, unbound by default. (GH #607) - Add
mouse-wheel-cursor
option (off by default) when set to true causes
wheel actions to prefer moving the cursor instead of scrolling. (GH #608) - Add
truncation-delimiter
option, set to~
by default. (GH #646) - Add
-q
parameter tosource
for "source-if-present". (GH #612) - Add
:echo
prompt command to display text in the status bar. (GH #626, #636) - Make
diff-highlight
colors configurable. (GH #625, #633) - Let Ctrl-C exit Y/N dialog, menu prompts and the file finder. (GH #632, #648)
- Hide cursor unless at textual prompt. (GH #643)
- Expand tilde ('~') in
:script
paths. (GH #674) - Show single-line output of external command in status bar. (GH #200, #557,
#678) - Disable the graph when
--no-merges
is passed. (GH #687) - Print backtraces on segfault in debug mode.
- Ignore script lines starting with
#
(comment). (GH #705) - Complete
repo:*
variables when readline is enabled. (GH #702) - Incorporate XTerm's
wcwidth.c
to find Unicode widths. (GH #691)
Bug fixes:
- Fix graph display issues. (GH #419, #638)
- Fix and improve rendering of Unicode characters. (GH #330, #621, #644, #682)
- Handle hyphenated directory names when listing content. (GH #602)
- Do not jump to next match when cancelling the search prompt. (GH #627)
- Fix clearing of the status line after
Ctrl-C
. (GH #623, #649) - Fix handling of width on line-number and trimmed width of 1. (GH #617)
- Set cursor position when not updating prompt contents. (GH #647)
- Erase status line at exit time for users without altscreen-capable terminals.
(GH #589) - Fix unexpected keys when restoring from suspend (
Ctrl-Z
). (GH #232) - contrib/vim.tigrc: Also bind G in the main as a workaround for limitations of
thenone
action. (GH #594, #599) - Only override
blame-options
when commands are given and fix parsing of
-C
. (GH #597) - Fix diff name discovery to better handle prefixes.
- Interpret button5 as wheel-down. (GH #321, #606)
- Fix
back
/parent
in tree view. (GH #641) - Fix memory corruption in
concat_argv
and file finder. (GH #634, #655) - Fix reading from stdin for
tig show
. - Document problem of outdated system-wide
tigrc
files in Homebrew. (GH #598) - Repaint the display when toggling
line-graphics
. (GH #527) - Fix custom date formatting support longer strings. (GH #522)
- Don't segfault on ":exec" irregular args. (GH #686)
- Fix segfault when calling htab_empty. (GH #663, #745)
Change summary
The diffstat and log summary for changes made in this release.
.bookignore | 16 +
.gitignore | 1 +
.travis.yml | 1 +
INSTALL.adoc | 26 +-
Makefile | 42 +-
NEWS.adoc | 69 +-
README.adoc | 2 +-
book.md | 2 +
compat/compat.h | 15 +
compat/hashtab.h | 4 +-
compat/wcwidth.c | 709 ++++++++++++++++++
compat/wcwidth.h | 47 ++
compat/wordexp.c | 60 ++
config.make.in | 1 +
configure.ac | 3 +-
contrib/config.make | 3 +
contrib/config.make-CYGWIN_NT-6.1 | 2 +-
contrib/config.make-Darwin | 1 +
contrib/tig-completion.bash | 6 +-
contrib/vim.tigrc | 4 +-
doc/manual.adoc | 37 +-
doc/tig.1.adoc | 24 +-
doc/tigrc.5.adoc | 120 ++-
include/tig/display.h | 8 +-
include/tig/io.h | 8 +-
include/tig/keys.h | 9 +
include/tig/line.h | 36 +-
include/tig/options.h | 8 +-
include/tig/prompt.h | 1 +
include/tig/request.h | 5 +-
include/tig/tig.h | 6 +
include/tig/util.h | 2 +
src/argv.c | 12 +-
src/blame.c | 28 +-
src/blob.c | 2 +-
src/diff.c | 27 +-
src/display.c | 195 ++++-
src/draw.c | 17 +-
src/graph-v2.c | 193 ++++-
src/grep.c | 4 +-
src/io.c | 50 +-
src/keys.c | 24 +-
src/line.c | 15 +-
src/main.c | 2 +-
src/options.c | 46 +-
src/prompt.c | 188 ++++-
src/refdb.c | 3 +
src/search.c | 4 +-
src/status.c | 4 +-
src/string.c | 45 +-
src/tig.c | 71 +-
src/tree.c | 4 +-
src/ui.c | 10 +-
src/util.c | 2 +-
src/view.c | 39 +-
test/README.adoc | 10 +
test/diff/diff-context-test | 4 +-
test/diff/diff-highlight-color-test | 2 +-
test/diff/diff-stat-split-test | 51 ++
test/diff/diff-stat-test | 106 ++-
test/diff/diff-stdin-test | 84 +++
test/graph/00-simple-test | 10 -
test/graph/06-extra-bars-test | 14 +-
test/graph/10-shorter-merge-than-branch-test | 2 +-
test/graph/11-new-branch-in-middle-test | 6 +-
test/graph/15-many-merges-test | 31 +-
test/graph/17-more-merges-test | 4 +-
test/graph/18-tig-test | 12 -
test/graph/20-tig-all-long-test | 4 +-
test/graph/gh-490-heap-buffer-overflow-test | 4 +-
.../graph/regression/horizontal-artifact-test | 41 +
.../regression/horizontal-bar-wrong-2-test | 41 +
test/help/all-keybindings-test | 1 +
test/help/all-keybindings-test.expected | 238 +++---
test/help/default-test | 10 +-
test/help/user-command-test | 10 +-
test/main/all-arg-test | 2 +-
test/main/branch-var-test | 6 +-
test/main/commit-title-overflow-test | 4 +-
test/main/date-test | 34 +
test/main/emoji-test | 74 ++
test/main/filter-args-test | 10 +-
test/main/graph-argument-test | 4 +-
test/main/jump-ends-test | 54 ++
test/main/no-matching-commmits-test | 2 +-
test/main/no-merges-test | 33 +
test/main/refresh-periodic-test | 2 +-
test/main/refresh-test | 2 +-
test/main/show-changes-after-rename-test | 4 +-
test/main/view-split-test | 6 +-
test/prompt/exec-test | 42 ++
test/refs/branch-var-test | 7 +-
test/refs/replace-test | 12 +-
test/refs/start-on-line-test | 2 +-
test/regressions/github-390-test | 2 +-
test/script/comment-test | 23 +
test/script/default-test | 21 +-
test/stage/gh-410-test | 4 +-
test/stage/split-chunk-test | 2 +-
test/stash/start-on-line-test | 2 +-
test/status/file-name-test | 6 +-
test/status/on-branch-test | 18 +-
test/status/on-branch-tracking-info-test | 20 +-
test/status/refresh-test | 2 +-
test/status/repo-var-test | 17 +-
test/tigrc/builtin-save-test | 16 +
test/tigrc/command-value-long-test | 58 ++
test/tigrc/contrib-tigrc-test | 4 +-
test/tigrc/parse-test | 15 +-
test/tigrc/save-option-test | 9 +-
test/tigrc/source-test | 116 +++
test/tigrc/tigrc-manpage-examples-test | 14 +-
test/tigrc/truncation-test | 213 ++++++
test/tigrc/width-test | 504 +++++++++++++
test/tigrc/xdg-config-home-test | 6 +-
test/tools/libgit.sh | 18 +-
test/tools/libtest.sh | 392 ++++++----
test/tools/setup-conflict.sh | 4 +-
test/tools/show-results.sh | 23 +-
test/tools/valgrind-Darwin.supp | 9 +
test/tree/chdir-test | 197 +++++
test/tree/file-name-test | 111 +++
tigrc | 36 +-
tools/aspell.dict | 24 +-
tools/ax_lib_readline.m4 | 12 +-
acinclude.m4 => tools/iconv.m4 | 0
tools/make-builtin-config.sh | 2 +-
tools/release.sh | 2 +-
128 files changed, 4356 insertions(+), 794 deletions(-)
1 Andreas Stieger
1 Dan Wendorf
1 Edgar Hipp
1 Greg Hewgill
35 Jonas Fonseca
2 Marc Aldorasi
1 Ramsay Jones
112 Roland Walker
11 Sven Wegener
1 kiryph