Use third argument of posn-col-row on Emacs >= 29

* eat.el (eat-term-input-event): Use USE-WINDOW argument of
'posn-col-row' to support text scaling properly, but only on
Emacs >= 29 since on Emacs 28 'posn-col-row' takes only one
argument.
This commit is contained in:
Akib Azmain Turja 2022-11-25 13:00:56 +06:00
parent 0cf652a591
commit ebdbba0c4b
No known key found for this signature in database
GPG key ID: 5535FCF54D88616B

22
eat.el
View file

@ -4438,7 +4438,9 @@ client process may get confused."
(pos (if (memq 'drag modifiers)
(event-end mouse)
(event-start mouse)))
(x-y (posn-col-row pos 'use-window))
(x-y (if (< emacs-major-version 29)
(posn-col-row pos)
(posn-col-row pos 'use-window)))
(x (1+ (car x-y)))
(y (1+ (cdr x-y)))
(button
@ -4453,7 +4455,9 @@ client process may get confused."
(cl-incf b 16))
b)))
(when ref-pos
(let ((ref-x-y (posn-col-row ref-pos 'use-window)))
(let ((ref-x-y (if (< emacs-major-version 29)
(posn-col-row ref-pos)
(posn-col-row ref-pos 'use-window))))
(cl-decf x (car ref-x-y))
(cl-decf y (cdr ref-x-y))))
(when (and (<= 1 x (eat--t-disp-width disp))
@ -4527,16 +4531,22 @@ client process may get confused."
(pred mouse-movement-p)
movement)
(let* ((pos (event-start movement))
(x (1+ (car (posn-col-row pos))))
(y (1+ (cdr (posn-col-row pos))))
(x-y (if (< emacs-major-version 29)
(posn-col-row pos)
(posn-col-row pos 'use-window)))
(x (1+ (car x-y)))
(y (1+ (cdr x-y)))
(button
(if (car (eat--t-term-mouse-pressed terminal))
(+ (car (eat--t-term-mouse-pressed terminal))
32)
35)))
(when ref-pos
(cl-decf x (car (posn-col-row ref-pos)))
(cl-decf y (cdr (posn-col-row ref-pos))))
(let ((ref-x-y (if (< emacs-major-version 29)
(posn-col-row ref-pos)
(posn-col-row ref-pos 'use-window))))
(cl-decf x (car ref-x-y))
(cl-decf y (cdr ref-x-y))))
(when (and (or (eq (eat--t-term-mouse-mode terminal)
'any-event)
(/= button 35))