[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] emacs-25 ff7e201: Fix bug#22891: wrong terminal width when
From: |
Anders Lindgren |
Subject: |
[Emacs-diffs] emacs-25 ff7e201: Fix bug#22891: wrong terminal width when a fringe width is zero. |
Date: |
Wed, 27 Apr 2016 21:29:27 +0000 |
branch: emacs-25
commit ff7e201ed87d206334afedd4366deebba440efde
Author: Anders Lindgren <address@hidden>
Commit: Anders Lindgren <address@hidden>
Fix bug#22891: wrong terminal width when a fringe width is zero.
When either fringe width is zero, Emacs reserved one column for a
continuation glyph. Terminal windows does not take this into
account when the frame is resized.
* lisp/window.el (window-adjust-process-window-size): Use
`window-max-chars-per-line' instead of `window-body-width'.
* lisp/term.el (term-window-width): Remove function. (It does the
same as `window-max-chars-per-line' but without recent bug fixes.)
(term-mode): Use `window-max-chars-per-line' instead of
`term-window-width'.
Backport
(cherry picked from commit 5b5403289888efe8783ae6a405845b925f544ec1)
---
lisp/term.el | 15 +--------------
lisp/window.el | 4 ++--
2 files changed, 3 insertions(+), 16 deletions(-)
diff --git a/lisp/term.el b/lisp/term.el
index 8cdf0c0..7e44c57 100644
--- a/lisp/term.el
+++ b/lisp/term.el
@@ -915,19 +915,6 @@ is buffer-local."
(term-set-escape-char (or term-escape-char ?\C-c))
-(defvar overflow-newline-into-fringe)
-
-(defun term-window-width ()
- (if (and (not (featurep 'xemacs))
- (display-graphic-p)
- overflow-newline-into-fringe
- ;; Subtract 1 from the width when any fringe has zero width,
- ;; not just the right fringe. Bug#18601.
- (/= (frame-parameter nil 'left-fringe) 0)
- (/= (frame-parameter nil 'right-fringe) 0))
- (window-body-width)
- (1- (window-body-width))))
-
(put 'term-mode 'mode-class 'special)
@@ -1014,7 +1001,7 @@ Entry to this mode runs the hooks on `term-mode-hook'."
(setq buffer-display-table term-display-table)
(set (make-local-variable 'term-home-marker) (copy-marker 0))
(set (make-local-variable 'term-height) (1- (window-height)))
- (set (make-local-variable 'term-width) (term-window-width))
+ (set (make-local-variable 'term-width) (window-max-chars-per-line))
(set (make-local-variable 'term-last-input-start) (make-marker))
(set (make-local-variable 'term-last-input-end) (make-marker))
(set (make-local-variable 'term-last-input-match) "")
diff --git a/lisp/window.el b/lisp/window.el
index fd0fcc9..0d7dbd8 100644
--- a/lisp/window.el
+++ b/lisp/window.el
@@ -8495,10 +8495,10 @@ WINDOWS is a list of windows associated with PROCESS.
REDUCER is
a two-argument function used to combine the widths and heights of
the given windows."
(when windows
- (let ((width (window-body-width (car windows)))
+ (let ((width (window-max-chars-per-line (car windows)))
(height (window-body-height (car windows))))
(dolist (window (cdr windows))
- (setf width (funcall reducer width (window-body-width window)))
+ (setf width (funcall reducer width (window-max-chars-per-line window)))
(setf height (funcall reducer height (window-body-height window))))
(cons width height))))
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] emacs-25 ff7e201: Fix bug#22891: wrong terminal width when a fringe width is zero.,
Anders Lindgren <=