From ebdbba0c4bc95383aa3eedb196cc6b37eb3880c5 Mon Sep 17 00:00:00 2001 From: Akib Azmain Turja Date: Fri, 25 Nov 2022 13:00:56 +0600 Subject: [PATCH] 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. --- eat.el | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/eat.el b/eat.el index 150a435..aa048a4 100644 --- a/eat.el +++ b/eat.el @@ -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))