summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiles Bader <miles@gnu.org>2008-06-06 23:07:50 +0000
committerMiles Bader <miles@gnu.org>2008-06-06 23:07:50 +0000
commit408b8ab461dfde69178709940832ba0ce5f86ab6 (patch)
tree299683d8c747a80248f4f16ea9a2da46e1be57dd
parente6d2d263da3c83033860f408bc400386b54ff288 (diff)
downloademacs-408b8ab461dfde69178709940832ba0ce5f86ab6.tar.gz
Calculate tab width based on current face, not global default
Revision: emacs@sv.gnu.org/emacs--devo--0--patch-1217
-rw-r--r--src/ChangeLog5
-rw-r--r--src/xdisp.c4
2 files changed, 7 insertions, 2 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index d04d1b81c33..6ae6e4fc146 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,8 @@
+2008-06-06 Miles Bader <miles@gnu.org>
+
+ * xdisp.c (x_produce_glyphs): Calculate tab width based on current
+ face, not frame default.
+
2008-06-05 Martin Rudalics <rudalics@gmx.at>
* window.c (pop_up_windows, pop_up_frames)
diff --git a/src/xdisp.c b/src/xdisp.c
index 56db272dcb0..b248cba8e9d 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -20980,14 +20980,14 @@ x_produce_glyphs (it)
}
else if (it->char_to_display == '\t')
{
- int tab_width = it->tab_width * FRAME_SPACE_WIDTH (it->f);
+ int tab_width = it->tab_width * font->space_width;
int x = it->current_x + it->continuation_lines_width;
int next_tab_x = ((1 + x + tab_width - 1) / tab_width) * tab_width;
/* If the distance from the current position to the next tab
stop is less than a space character width, use the
tab stop after that. */
- if (next_tab_x - x < FRAME_SPACE_WIDTH (it->f))
+ if (next_tab_x - x < font->space_width)
next_tab_x += tab_width;
it->pixel_width = next_tab_x - x;