[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#43891: 26.3; Wrong background-mode on gnome-terminal 3.38
From: |
Lars Ingebrigtsen |
Subject: |
bug#43891: 26.3; Wrong background-mode on gnome-terminal 3.38 |
Date: |
Thu, 15 Oct 2020 17:27:55 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) |
semente <semente@riseup.net> writes:
> This is the same bug reported in #29716[1], which was fixed for
> gnome-terminal 3.22. A solution made by Noam Postavsky is found on
> #29716 as well. Perhaps there is a way to fix this definetely for
> gnome-terminal, I believe it affects many users.
In gnome-terminal 3.38, the version string in xterm--version-handler is:
"65;6200;1"
So, just hacking blindly without any clue what this is, the following
patch fixes the issue for me.
Does anybody know whether this makes sense or not?
diff --git a/lisp/term/xterm.el b/lisp/term/xterm.el
index 1a727e3933..6f5fa7518b 100644
--- a/lisp/term/xterm.el
+++ b/lisp/term/xterm.el
@@ -710,15 +710,18 @@ xterm--version-handler
(while (and (setq chr (xterm--read-event-for-query)) (not (equal chr ?c)))
(setq str (concat str (string chr))))
;; Since xterm-280, the terminal type (NUMBER1) is now 41 instead of 0.
- (when (string-match "\\([0-9]+\\);\\([0-9]+\\);0" str)
+ (when (string-match "\\([0-9]+\\);\\([0-9]+\\);[01]" str)
(let ((version (string-to-number (match-string 2 str))))
- (when (and (> version 2000) (equal (match-string 1 str) "1"))
+ (when (and (> version 2000)
+ (or (equal (match-string 1 str) "1")
+ (equal (match-string 1 str) "65")))
;; Hack attack! bug#16988: gnome-terminal reports "1;NNNN;0"
;; with a large NNNN but is based on a rather old xterm code.
;; Gnome terminal 2.32.1 reports 1;2802;0
;; Gnome terminal 3.6.1 reports 1;3406;0
;; Gnome terminal 3.22.2 reports 1;4601;0 and *does* support
;; background color querying (Bug#29716).
+ ;; Gnome terminal 3.38.0 reports 65;6200;1.
(when (> version 4000)
(xterm--query "\e]11;?\e\\"
'(("\e]11;" . xterm--report-background-handler))))
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no