On Thu, Oct 21, 2010 at 8:58 PM, Pat Thoyts
[off-list ref] wrote:
Tor Arvid Lund [off-list ref] writes:
<snip>
quoted
I did a quick test (with core.whitespace unset, so the defaults should
be used). I wonder if there is a little bug somewhere else in git-gui.
If I have committed a line like this:
............Hello world
and change it to:
........*Hello world
I used '.' to indicate Space, and '*' to indicate Tab, so I changed 4
spaces to one tab character. As I understand space-before-tab, this
should render 8 red spaces, 1 white Tab, and then "Hello world". But
instead I get 9 white spaces... So the tab gets converted to a space
(I verified that it was not my editor that converted it - it really is
8 SP and 1 TAB).
This is caused by the tabstyle being defaulted to 'tabular'. This means
the first tab on a line extends to the first tab position and if that
lies to the left then the width of a single space is added. Looks like
this widget should be using -tabstyle wordprocessor which would do what
you expect and move to the next tab position.
It is still a tab - just the display width looks wrong.
<snap>
Ok. I tried this, which seems to make it better:
diff --git a/git-gui/git-gui.sh b/git-gui/git-gui.sh
index 31ca47d..65d5f2a 100755
--- a/git-gui/git-gui.sh
+++ b/git-gui/git-gui.sh
@@ -3283,6 +3283,7 @@ text $ui_diff -background white -foreground black \
-borderwidth 0 \
-width 80 -height 5 -wrap none \
-font font_diff \
+ -tabstyle wordprocessor \
-xscrollcommand {.vpane.lower.diff.body.sbx set} \
-yscrollcommand {.vpane.lower.diff.body.sby set} \
-state disabled
(this goes on top of your most recent patch from an hour ago)
-Tor Arvid-