From unknown Sat Jun 21 05:17:43 2025 X-Loop: help-debbugs@gnu.org Subject: bug#38013: [PATCH] Rectangular region selection with mouse Resent-From: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 31 Oct 2019 23:11:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 38013 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: 38013@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.157256341730224 (code B ref -1); Thu, 31 Oct 2019 23:11:01 +0000 Received: (at submit) by debbugs.gnu.org; 31 Oct 2019 23:10:17 +0000 Received: from localhost ([127.0.0.1]:54450 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iQJa4-0007rP-IC for submit@debbugs.gnu.org; Thu, 31 Oct 2019 19:10:16 -0400 Received: from lists.gnu.org ([209.51.188.17]:59540) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iQJa3-0007rH-0e for submit@debbugs.gnu.org; Thu, 31 Oct 2019 19:10:15 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:60761) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iQJZy-0003jY-Ls for bug-gnu-emacs@gnu.org; Thu, 31 Oct 2019 19:10:13 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.1 required=5.0 tests=BAYES_50,RCVD_IN_DNSWL_LOW, URIBL_BLOCKED autolearn=disabled version=3.3.2 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iQJZx-0000ZX-1q for bug-gnu-emacs@gnu.org; Thu, 31 Oct 2019 19:10:10 -0400 Received: from mail1427c50.megamailservers.eu ([91.136.14.27]:36958 helo=mail118c50.megamailservers.eu) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1iQJZw-0000Nb-EH for bug-gnu-emacs@gnu.org; Thu, 31 Oct 2019 19:10:08 -0400 X-Authenticated-User: mattiase@bredband.net DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=megamailservers.eu; s=maildub; t=1572558929; bh=M8+USFmPJl2YyXZXwoKrBXuKgyuK/Eph4xNQYnEIObU=; h=From:Subject:Date:To:From; b=XZya4othq3+0aaSwVrlvfIwGrz1gj8QJnYp0EXuVx0OyMcTvNC7RFBhjTrXW+q4ud RaWMRy1mU0j5H6y46DeF41Wl2TkeQS5eKzN9/EPAeonJ/1hg3OBREC30nZeKwY8txM NL08K7aDdU8eK9i3mVZMQyqkjqsFUrdmjyKTlhwI= Feedback-ID: mattiase@acm.or Received: from [192.168.0.4] (c188-150-171-71.bredband.comhem.se [188.150.171.71]) (authenticated bits=0) by mail118c50.megamailservers.eu (8.14.9/8.13.1) with ESMTP id x9VLtRba007532 for ; Thu, 31 Oct 2019 21:55:29 +0000 From: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= Content-Type: multipart/mixed; boundary="Apple-Mail=_9055E942-6BCB-4037-8CC3-7D965542314C" Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\)) Message-Id: Date: Thu, 31 Oct 2019 22:55:26 +0100 X-Mailer: Apple Mail (2.3445.104.11) X-CTCH-RefID: str=0001.0A0B0214.5DBB5851.0013, ss=1, re=0.000, recu=0.000, reip=0.000, cl=1, cld=1, fgs=0 X-CTCH-VOD: Unknown X-CTCH-Spam: Unknown X-CTCH-Score: 0.000 X-CTCH-Rules: X-CTCH-Flags: 0 X-CTCH-ScoreCust: 0.000 X-CSC: 0 X-CHA: v=2.3 cv=DYBpVclW c=1 sm=1 tr=0 a=SF+I6pRkHZhrawxbOkkvaA==:117 a=SF+I6pRkHZhrawxbOkkvaA==:17 a=M51BFTxLslgA:10 a=z8QdycKeBd5250rj2sgA:9 a=7Zwj6sZBwVKJAoWSPKxL6X1jA+E=:19 a=CjuIK1q_8ugA:10 a=tia7W_PVlcL2gi8pddYA:9 a=B2y7HmGcmWMA:10 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x (no timestamps) [generic] [fuzzy] X-Received-From: 91.136.14.27 X-Spam-Score: -1.3 (-) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) --Apple-Mail=_9055E942-6BCB-4037-8CC3-7D965542314C Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii This is a proposal to add mouse-selection of rectangular regions. It = turns out to be useful; Emacs should come with the facility built-in. The main problem is what to bind it to. The common modifiers (shift, = control, meta) are already taken. Platforms have different "standard" = modifiers: Option on macOS, Alt on Windows, Control in Gnome (?). Assuming that the secondary selection is somewhat of an anachronism = which is likely to be less used today than the rectangular one would be, = the patch uses Meta as default modifier. Both secondary and rectangular = mouse selection have defcustoms permitting easy change. The defaults could be different, for example if secondary mouse = selection turns out to be very popular. There is no documentation yet. --Apple-Mail=_9055E942-6BCB-4037-8CC3-7D965542314C Content-Disposition: attachment; filename=0001-Mouse-rectangular-region-selection.patch Content-Type: application/octet-stream; x-unix-mode=0644; name="0001-Mouse-rectangular-region-selection.patch" Content-Transfer-Encoding: quoted-printable =46rom=20e8d781baf8ffd0cd911505a50ffefa0f54d2d185=20Mon=20Sep=2017=20= 00:00:00=202001=0AFrom:=20=3D?UTF-8?q?Mattias=3D20Engdeg=3DC3=3DA5rd?=3D=20= =0ADate:=20Fri,=2025=20Oct=202019=2011:16:39=20+0200=0A= Subject:=20[PATCH]=20Mouse=20rectangular=20region=20selection=0A=0AMake=20= it=20possible=20to=20select=20a=20rectangular=20region=20using=20the=20= mouse.=0AThe=20modifier=20is=20customisable=20and=20defaults=20to=20= meta.=0AThe=20modifier=20for=20mouse=20secondary=20selection=20is=20now=20= also=20customisable=20and=0Adefaults=20to=20nil=20(disabled).=0A=0A*=20= lisp/mouse.el=20(mouse-scroll-subr):=20Add=20COLUMN=20argument.=0A= (mouse-drag-region-rectangle):=20New.=0A(mouse--global-with-modifier)=0A= (mouse--set-secondary-selection-bindings,=20= mouse-secondary-selection-modifier)=0A= (mouse--set-rectangular-region-selection-bindings)=0A= (mouse-region-rectangle-modifier):=20New=20defcustoms=20with=20helper=20= functions.=0A---=0A=20lisp/mouse.el=20|=20110=20= +++++++++++++++++++++++++++++++++++++++++++++++---=0A=201=20file=20= changed,=20104=20insertions(+),=206=20deletions(-)=0A=0Adiff=20--git=20= a/lisp/mouse.el=20b/lisp/mouse.el=0Aindex=204a351f7be2..48ea109daa=20= 100644=0A---=20a/lisp/mouse.el=0A+++=20b/lisp/mouse.el=0A@@=20-1045,10=20= +1045,11=20@@=20mouse-scroll-min-lines=0A=20of=20lines=20specified=20by=20= this=20variable."=0A=20=20=20:type=20'integer)=0A=20=0A-(defun=20= mouse-scroll-subr=20(window=20jump=20&optional=20overlay=20start)=0A= +(defun=20mouse-scroll-subr=20(window=20jump=20&optional=20overlay=20= start=20column)=0A=20=20=20"Scroll=20the=20window=20WINDOW,=20JUMP=20= lines=20at=20a=20time,=20until=20new=20input=20arrives.=0A=20If=20= OVERLAY=20is=20an=20overlay,=20let=20it=20stretch=20from=20START=20to=20= the=20far=20edge=20of=0A=20the=20newly=20visible=20text.=0A+If=20COLUMN=20= is=20non-nil,=20try=20to=20keep=20point=20in=20that=20column=20when=20= scrolling.=0A=20Upon=20exit,=20point=20is=20at=20the=20far=20edge=20of=20= the=20newly=20visible=20text."=0A=20=20=20(cond=0A=20=20=20=20((and=20(>=20= jump=200)=20(<=20jump=20mouse-scroll-min-lines))=0A@@=20-1077,6=20= +1078,8=20@@=20mouse-scroll-subr=0A=20=09=09=20=20=20;;=20so=20that=20we=20= don't=20mess=20up=20the=20selected=20window.=0A=20=09=09=20=20=20(or=20= (eq=20window=20(selected-window))=0A=20=09=09=20=20=20=20=20=20=20= (goto-char=20opoint))=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20(when=20column=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20(move-to-column=20column))=0A=20=09=09=20=20=20(sit-for=20= mouse-scroll-delay)))))=0A=20=20=20=20=20(or=20(eq=20window=20= (selected-window))=0A=20=09(goto-char=20opoint))))=0A@@=20-1666,11=20= +1669,43=20@@=20mouse-save-then-kill=0A=20=20=20=20=20=20=20(setq=20= mouse-save-then-kill-posn=20click-pt)))))=0A=20=0A=20=0C=0A= -(global-set-key=20[M-mouse-1]=20'mouse-start-secondary)=0A= -(global-set-key=20[M-drag-mouse-1]=20'mouse-set-secondary)=0A= -(global-set-key=20[M-down-mouse-1]=20'mouse-drag-secondary)=0A= -(global-set-key=20[M-mouse-3]=20'mouse-secondary-save-then-kill)=0A= -(global-set-key=20[M-mouse-2]=20'mouse-yank-secondary)=0A+(defun=20= mouse--global-with-modifier=20(base=20modifier=20command)=0A+=20=20= "Globally=20bind=20BASE=20+=20MODIFIER=20to=20COMMAND."=0A+=20=20= (global-set-key=20(vector=20(event-convert-list=20(list=20modifier=20= base)))=20command))=0A+=0A+(defun=20= mouse--set-secondary-selection-bindings=20(mod=20activate)=0A+=20=20"Set=20= global=20mouse=20bindings=20using=20MOD=20for=20secondary=20selection.=0A= +If=20ACTIVATE=20is=20nil,=20remove=20those=20bindings."=0A+=20=20(when=20= mod=0A+=20=20=20=20(mouse--global-with-modifier=20'mouse-1=20mod=0A+=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20(and=20activate=20'mouse-start-secondary))=0A+=20=20=20= =20(mouse--global-with-modifier=20'drag-mouse-1=20mod=0A+=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20(and=20activate=20'mouse-set-secondary))=0A+=20=20=20=20= (mouse--global-with-modifier=20'down-mouse-1=20mod=0A+=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20(and=20activate=20'mouse-drag-secondary))=0A+=20=20=20=20= (mouse--global-with-modifier=20'mouse-3=20mod=0A+=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= (and=20activate=20'mouse-secondary-save-then-kill))=0A+=20=20=20=20= (mouse--global-with-modifier=20'mouse-2=20mod=0A+=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= (and=20activate=20'mouse-yank-secondary))))=0A+=0A+(defcustom=20= mouse-secondary-selection-modifier=20nil=0A+=20=20"The=20modifier=20key=20= for=20secondary=20selection=20using=20the=20mouse.=0A+If=20nil,=20mouse=20= secondary=20selection=20is=20disabled."=0A+=20=20:group=20'mouse=0A+=20=20= :type=20'(choice=20(const=20:tag=20"None=20(disabled)"=20nil)=0A+=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20(const=20meta)=0A+=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20(const=20control)=0A+=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20(const=20shift)=0A+=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20(const=20super)=0A+=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20(const=20hyper))=0A+=20=20:version=20"27.1"=0A= +=20=20:set=20(lambda=20(variable=20new-value)=0A+=20=20=20=20=20=20=20=20= =20(when=20(boundp=20'mouse-secondary-selection-modifier)=0A+=20=20=20=20= =20=20=20=20=20=20=20(mouse--set-secondary-selection-bindings=0A+=20=20=20= =20=20=20=20=20=20=20=20=20mouse-secondary-selection-modifier=20nil))=0A= +=20=20=20=20=20=20=20=20=20(set-default=20variable=20new-value)=0A+=20=20= =20=20=20=20=20=20=20(mouse--set-secondary-selection-bindings=0A+=20=20=20= =20=20=20=20=20=20=20mouse-secondary-selection-modifier=20t)))=0A=20=0A=20= (defconst=20mouse-secondary-overlay=0A=20=20=20(let=20((ol=20= (make-overlay=20(point-min)=20(point-min))))=0A@@=20-1960,6=20+1995,69=20= @@=20secondary-selection-from-region=0A=20=20=20=20=20(move-overlay=20= mouse-secondary-overlay=20(region-beginning)=20(region-end))))=0A=20=0A=20= =0C=0A+(defun=20mouse-drag-region-rectangle=20(start-event)=0A+=20=20= "Set=20the=20region=20to=20the=20rectangle=20that=20the=20mouse=20is=20= dragged=20over.=0A+This=20must=20be=20bound=20to=20a=20button-down=20= mouse=20event."=0A+=20=20(interactive=20"e")=0A+=20=20(deactivate-mark)=0A= +=20=20(mouse-set-point=20start-event)=0A+=20=20(rectangle-mark-mode)=0A= +=20=20(let*=20((scroll-margin=200)=0A+=20=20=20=20=20=20=20=20=20= (start-posn=20(event-start=20start-event))=0A+=20=20=20=20=20=20=20=20=20= (start-point=20(posn-point=20start-posn))=0A+=20=20=20=20=20=20=20=20=20= (start-window=20(posn-window=20start-posn))=0A+=20=20=20=20=20=20=20=20=20= (bounds=20(window-edges=20start-window))=0A+=20=20=20=20=20=20=20=20=20= (top=20(nth=201=20bounds))=0A+=20=20=20=20=20=20=20=20=20(bottom=20(if=20= (window-minibuffer-p=20start-window)=0A+=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20(nth=203=20bounds)=0A+=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20(1-=20(nth=203=20bounds))))=0A+=20=20= =20=20=20=20=20=20=20event)=0A+=20=20=20=20(track-mouse=0A+=20=20=20=20=20= =20(while=20(progn=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(setq=20= event=20(read-event))=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= (mouse-movement-p=20event))=0A+=20=20=20=20=20=20=20=20(let=20((window=20= (posn-window=20(event-end=20event)))=0A+=20=20=20=20=20=20=20=20=20=20=20= =20=20=20(mouse-row=20(cddr=20(mouse-position))))=0A+=20=20=20=20=20=20=20= =20=20=20(if=20(and=20(eq=20window=20start-window)=0A+=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20mouse-row=0A+=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20(<=3D=20top=20mouse-row=20(1-=20= bottom)))=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20(mouse-set-point=20= event)=0A+=20=20=20=20=20=20=20=20=20=20=20=20(cond=0A+=20=20=20=20=20=20= =20=20=20=20=20=20=20((null=20mouse-row))=0A+=20=20=20=20=20=20=20=20=20=20= =20=20=20((<=20mouse-row=20top)=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20= =20(mouse-scroll-subr=20start-window=20(-=20mouse-row=20top)=0A+=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20nil=20start-point=20(current-column)))=0A+=20=20=20=20=20=20= =20=20=20=20=20=20=20((>=3D=20mouse-row=20bottom)=0A+=20=20=20=20=20=20=20= =20=20=20=20=20=20=20(mouse-scroll-subr=20start-window=20(1+=20(-=20= mouse-row=20bottom))=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20nil=20start-point=20= (current-column))))))))))=0A+=0A+(defun=20= mouse--set-rectangular-region-selection-bindings=20(mod=20activate)=0A+=20= =20"Set=20global=20mouse=20bindings=20using=20MOD=20for=20rectangular=20= selection.=0A+If=20ACTIVATE=20is=20nil,=20remove=20those=20bindings."=0A= +=20=20(when=20mod=0A+=20=20=20=20(mouse--global-with-modifier=20= 'down-mouse-1=20mod=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(and=20activate=20= 'mouse-drag-region-rectangle))))=0A+=0A+(defcustom=20= mouse-region-rectangle-modifier=20'meta=0A+=20=20"The=20modifier=20key=20= for=20rectangular=20region=20selection=20using=20the=20mouse.=0A+If=20= nil,=20mouse=20rectangular=20region=20selection=20is=20disabled."=0A+=20=20= :group=20'mouse=0A+=20=20:type=20'(choice=20(const=20:tag=20"None=20= (disabled)"=20nil)=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= (const=20meta)=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= (const=20control)=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= (const=20shift)=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= (const=20super)=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= (const=20hyper))=0A+=20=20:version=20"27.1"=0A+=20=20:set=20(lambda=20= (variable=20new-value)=0A+=20=20=20=20=20=20=20=20=20(when=20(boundp=20= 'mouse-region-rectangle-modifier)=0A+=20=20=20=20=20=20=20=20=20=20=20= (mouse--set-rectangular-region-selection-bindings=0A+=20=20=20=20=20=20=20= =20=20=20=20=20mouse-region-rectangle-modifier=20nil))=0A+=20=20=20=20=20= =20=20=20=20(set-default=20variable=20new-value)=0A+=20=20=20=20=20=20=20= =20=20(mouse--set-rectangular-region-selection-bindings=0A+=20=20=20=20=20= =20=20=20=20=20mouse-region-rectangle-modifier=20t)))=0A+=0A+=0C=0A=20= (defcustom=20mouse-buffer-menu-maxlen=2020=0A=20=20=20"Number=20of=20= buffers=20in=20one=20pane=20(submenu)=20of=20the=20buffer=20menu.=0A=20= If=20we=20have=20lots=20of=20buffers,=20divide=20them=20into=20groups=20= of=0A--=20=0A2.21.0=20(Apple=20Git-122)=0A=0A= --Apple-Mail=_9055E942-6BCB-4037-8CC3-7D965542314C-- From unknown Sat Jun 21 05:17:43 2025 X-Loop: help-debbugs@gnu.org Subject: bug#38013: [PATCH] Rectangular region selection with mouse Resent-From: Drew Adams Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 01 Nov 2019 00:13:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 38013 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= , 38013@debbugs.gnu.org Received: via spool by 38013-submit@debbugs.gnu.org id=B38013.15725671614398 (code B ref 38013); Fri, 01 Nov 2019 00:13:01 +0000 Received: (at 38013) by debbugs.gnu.org; 1 Nov 2019 00:12:41 +0000 Received: from localhost ([127.0.0.1]:54503 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iQKYS-00018r-Ne for submit@debbugs.gnu.org; Thu, 31 Oct 2019 20:12:41 -0400 Received: from userp2120.oracle.com ([156.151.31.85]:54194) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iQKYQ-00018a-46 for 38013@debbugs.gnu.org; Thu, 31 Oct 2019 20:12:38 -0400 Received: from pps.filterd (userp2120.oracle.com [127.0.0.1]) by userp2120.oracle.com (8.16.0.27/8.16.0.27) with SMTP id xA109H5i052932; Fri, 1 Nov 2019 00:12:27 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=mime-version : message-id : date : from : sender : to : subject : references : in-reply-to : content-type : content-transfer-encoding; s=corp-2019-08-05; bh=Pt96tVA+p3BKZIjiX9acTN+CPqeRq8Rn7L7Zn1I8Kww=; b=b0Y9o7tGqKeNuDpbS3kBbozGVHmMTfLXyDzfNN3QCUKD0S/0YYqFMkos5dwgWnyKdaPN L1NvbTsuLcvzG4QH2G2juLrXnMC4Uc4WhR8RvZCb7eRRQdBFhkUi7EIz77kmQJQoWls4 3Ujb0wDEjsmUvOv9T3EwgQwOJeLxH1XqizCIr6kyzN8YJODVo/ZR5VppPv4KoXcm0Yu7 OSnMqIjK9ur+NSEV754M/cQxETp29emvMM4jTaZA7loPKwq/5COnQ8f4YCGGidKQPXYe w7Ec5jNEyQzGprw+yPWt/SRsOKBuRxM7lMpjk67OkfdOtXPr65Nx50Pt1z/ojbrbPIyF 8w== Received: from userp3020.oracle.com (userp3020.oracle.com [156.151.31.79]) by userp2120.oracle.com with ESMTP id 2vxwhfxhcq-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 01 Nov 2019 00:12:27 +0000 Received: from pps.filterd (userp3020.oracle.com [127.0.0.1]) by userp3020.oracle.com (8.16.0.27/8.16.0.27) with SMTP id xA108kZR050746; Fri, 1 Nov 2019 00:12:27 GMT Received: from userv0122.oracle.com (userv0122.oracle.com [156.151.31.75]) by userp3020.oracle.com with ESMTP id 2vyv9h5h4y-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 01 Nov 2019 00:12:27 +0000 Received: from abhmp0012.oracle.com (abhmp0012.oracle.com [141.146.116.18]) by userv0122.oracle.com (8.14.4/8.14.4) with ESMTP id xA10CPAO003480; Fri, 1 Nov 2019 00:12:25 GMT MIME-Version: 1.0 Message-ID: Date: Thu, 31 Oct 2019 17:12:24 -0700 (PDT) From: Drew Adams References: In-Reply-To: X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9.1 (1003210) [OL 16.0.4900.0 (x86)] Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9427 signatures=668685 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 mlxscore=0 mlxlogscore=807 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1908290000 definitions=main-1911010000 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9427 signatures=668685 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 priorityscore=1501 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1011 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=957 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1908290000 definitions=main-1911010000 X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > This is a proposal to add mouse-selection of rectangular regions. It > turns out to be useful; Emacs should come with the facility built-in. >=20 > The main problem is what to bind it to. The common modifiers (shift, > control, meta) are already taken. Platforms have different "standard" > modifiers: Option on macOS, Alt on Windows, Control in Gnome (?). >=20 > Assuming that the secondary selection is somewhat of an anachronism > which is likely to be less used today than the rectangular one would > be, the patch uses Meta as default modifier. Both secondary and > rectangular mouse selection have defcustoms permitting easy change. >=20 > The defaults could be different, for example if secondary mouse > selection turns out to be very popular. > There is no documentation yet. FWIW - 1. I like the general idea of being able to use the mouse to directly define a rectangular region. _Good initiative_. 2. But I disagree completely that the secondary selection is an anachronism. IMO it is not used as much as it could (and should and would) be used in Emacs only because it has no _keyboard_ bindings, by default. I use C-M-y to do all of this:=20 * yank the secondary (no pref arg) * select the secondary as the region (pref arg =3D 0) * move the secondary to the region (pref arg > 0) * swap the secondary and the region (pref arg < 0) The 3rd and 4th of those set the secondary with just the keyboard - from the region. Another way to set it using just the keyboard is to use C-x C-M-SPC to start it and C-x C-M- to end it. (And I use C-M-y during Isearch to yank the secondary to the end of the search string.) The secondary selection is different from the region. Its advantage, and its disadvantage, is that it is liberated from point - it need not even be currently visible in a window. It doesn't change just because you move the cursor around. The region has a ring, `kill-ring', to let you get previous selections. I do the same thing for the secondary selection, as well - give it a ring. And if the previous command yanked the secondary then M-y yank-pops the secondary ring (not the kill-ring), to replace that yank with the previous secondary on the ring. https://www.emacswiki.org/emacs/SecondarySelection#second-sel.el From unknown Sat Jun 21 05:17:43 2025 X-Loop: help-debbugs@gnu.org Subject: bug#38013: [PATCH] Rectangular region selection with mouse Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 01 Nov 2019 07:52:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 38013 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= Cc: 38013@debbugs.gnu.org Received: via spool by 38013-submit@debbugs.gnu.org id=B38013.157259470017891 (code B ref 38013); Fri, 01 Nov 2019 07:52:01 +0000 Received: (at 38013) by debbugs.gnu.org; 1 Nov 2019 07:51:40 +0000 Received: from localhost ([127.0.0.1]:54983 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iQRie-0004eV-Ix for submit@debbugs.gnu.org; Fri, 01 Nov 2019 03:51:40 -0400 Received: from eggs.gnu.org ([209.51.188.92]:37474) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iQRic-0004eI-L5 for 38013@debbugs.gnu.org; Fri, 01 Nov 2019 03:51:38 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:41122) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1iQRiX-0006ls-9D; Fri, 01 Nov 2019 03:51:33 -0400 Received: from [176.228.60.248] (port=2203 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1iQRiW-0007iT-Nb; Fri, 01 Nov 2019 03:51:33 -0400 Date: Fri, 01 Nov 2019 09:51:35 +0200 Message-Id: <83lft0m3ug.fsf@gnu.org> From: Eli Zaretskii In-reply-to: (message from Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= on Thu, 31 Oct 2019 22:55:26 +0100) References: MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Mattias Engdegård > Date: Thu, 31 Oct 2019 22:55:26 +0100 > > This is a proposal to add mouse-selection of rectangular regions. It turns out to be useful; Emacs should come with the facility built-in. Could you please tell how to try and test this feature? The patch comes without any documentation, so it's hard to understand quickly what to do to see this in action. > The main problem is what to bind it to. The common modifiers (shift, control, meta) are already taken. Platforms have different "standard" modifiers: Option on macOS, Alt on Windows, Control in Gnome (?). > > Assuming that the secondary selection is somewhat of an anachronism which is likely to be less used today than the rectangular one would be, the patch uses Meta as default modifier. Both secondary and rectangular mouse selection have defcustoms permitting easy change. I'd prefer not to step on another feature, if possible. How about defining a minor mode, and then using the usual mouse selection gestures instead? That would be more natural, IMO, and will not require users to give up another feature. Thanks. From unknown Sat Jun 21 05:17:43 2025 X-Loop: help-debbugs@gnu.org Subject: bug#38013: [PATCH] Rectangular region selection with mouse Resent-From: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 01 Nov 2019 11:54:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 38013 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Eli Zaretskii Cc: 38013@debbugs.gnu.org Received: via spool by 38013-submit@debbugs.gnu.org id=B38013.157260923625803 (code B ref 38013); Fri, 01 Nov 2019 11:54:01 +0000 Received: (at 38013) by debbugs.gnu.org; 1 Nov 2019 11:53:56 +0000 Received: from localhost ([127.0.0.1]:55110 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iQVV6-0006i7-BO for submit@debbugs.gnu.org; Fri, 01 Nov 2019 07:53:56 -0400 Received: from mail1430c50.megamailservers.eu ([91.136.14.30]:41360 helo=mail118c50.megamailservers.eu) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iQVV4-0006hq-09 for 38013@debbugs.gnu.org; Fri, 01 Nov 2019 07:53:55 -0400 X-Authenticated-User: mattiase@bredband.net DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=megamailservers.eu; s=maildub; t=1572609227; bh=Qs2ED783lnU8MgYVjGpEbt6jUDdHVo9Sr4I9aG7VTm8=; h=Subject:From:In-Reply-To:Date:Cc:References:To:From; b=Z3yEyGXF5wOo6C7BrjG0SJjhh05eRCAcdOf9XAEYlVEbJRpBAaOJDyzJsRnc0nmr+ mdFCv4+JvfVVZvI2mmhQH4DkPPj2qbtwZry6ubO+Fvp+7/FhEvKuSGVXXwKn+3ACh0 oZ9kgy+dwfTt1Gwrlr7BcMEOiBe4G3exbiyXbvL4= Feedback-ID: mattiase@acm.or Received: from [192.168.0.4] (c188-150-171-71.bredband.comhem.se [188.150.171.71]) (authenticated bits=0) by mail118c50.megamailservers.eu (8.14.9/8.13.1) with ESMTP id xA1Bri0T010739; Fri, 1 Nov 2019 11:53:46 +0000 Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\)) From: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= In-Reply-To: <83lft0m3ug.fsf@gnu.org> Date: Fri, 1 Nov 2019 12:53:44 +0100 Content-Transfer-Encoding: quoted-printable Message-Id: <3541E0E8-9E33-4FBD-B0D9-DFF77C241F6F@acm.org> References: <83lft0m3ug.fsf@gnu.org> X-Mailer: Apple Mail (2.3445.104.11) X-CTCH-RefID: str=0001.0A0B020D.5DBC1CCB.0010, ss=1, re=0.000, recu=0.000, reip=0.000, cl=1, cld=1, fgs=0 X-CTCH-VOD: Unknown X-CTCH-Spam: Unknown X-CTCH-Score: 0.000 X-CTCH-Rules: X-CTCH-Flags: 0 X-CTCH-ScoreCust: 0.000 X-CSC: 0 X-CHA: v=2.3 cv=DYBpVclW c=1 sm=1 tr=0 a=SF+I6pRkHZhrawxbOkkvaA==:117 a=SF+I6pRkHZhrawxbOkkvaA==:17 a=jpOVt7BSZ2e4Z31A5e1TngXxSK0=:19 a=kj9zAlcOel0A:10 a=M51BFTxLslgA:10 a=mDV3o1hIAAAA:8 a=pOugm2AvIh42jSsi9LsA:9 a=7Zwj6sZBwVKJAoWSPKxL6X1jA+E=:19 a=CjuIK1q_8ugA:10 a=_FVE-zBwftR9WsbkzFJk:22 a=pHzHmUro8NiASowvMSCR:22 a=Ew2E2A-JSTLzCXPT_086:22 X-Spam-Score: 0.3 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) 1 nov. 2019 kl. 08.51 skrev Eli Zaretskii : > Could you please tell how to try and test this feature? The patch > comes without any documentation, so it's hard to understand quickly > what to do to see this in action. With the default settings, click and drag (mouse button 1) with meta = held to mark a rectangular region. Sorry about the lack of documentation; it will be written once we agree = on the design. > I'd prefer not to step on another feature, if possible. How about > defining a minor mode, and then using the usual mouse selection > gestures instead? That would be more natural, IMO, and will not > require users to give up another feature. Very much agree that other features should be left alone, but in this = case there seemed to be no really good unused binding. A minor mode is less ideal: rectangular selection is something the user = wants to be able to do on a whim, without having to plan ahead by = activating a minor mode. It is also good to follow standard practice in = other editors and terminal emulators Competing mouse bindings are: Meta: secondary selection Shift: mouse-appearance-menu (mouse-save-then-kill for NS) Control: mouse-buffer-menu The secondary selection appeared weaker than the rest, in the sense that = repurposing its binding would annoy fewer users than the alternatives. = (Annoyed users can still regain the old behaviour by customisation.) Other possibilities: A. Unbind mouse-appearance-menu, mouse-save-then-kill or = mouse-buffer-menu instead. The trade-offs are similar. B. Combined modifiers (Shift-Meta etc). Less ergonomic; there may be = platform restrictions. C. Use a different mouse button. Diverges from other platforms; messy on = Macs. D. Less common modifiers (Super, Hyper). Many don't have them. E. Follow the platform conventions. Not the Emacs tradition, and makes = for more binding clashes. F. Leaving rectangular selection unbound by default. This is tantamount = to stating that it is less useful. Is it? From unknown Sat Jun 21 05:17:43 2025 X-Loop: help-debbugs@gnu.org Subject: bug#38013: [PATCH] Rectangular region selection with mouse Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 01 Nov 2019 13:18:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 38013 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= Cc: 38013@debbugs.gnu.org Received: via spool by 38013-submit@debbugs.gnu.org id=B38013.157261423324937 (code B ref 38013); Fri, 01 Nov 2019 13:18:01 +0000 Received: (at 38013) by debbugs.gnu.org; 1 Nov 2019 13:17:13 +0000 Received: from localhost ([127.0.0.1]:55185 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iQWnh-0006Tv-0W for submit@debbugs.gnu.org; Fri, 01 Nov 2019 09:17:13 -0400 Received: from eggs.gnu.org ([209.51.188.92]:41594) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iQWnf-0006O9-Rz for 38013@debbugs.gnu.org; Fri, 01 Nov 2019 09:17:12 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:58036) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1iQWnZ-0000Au-BD; Fri, 01 Nov 2019 09:17:05 -0400 Received: from [176.228.60.248] (port=2217 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1iQWnY-0006GK-OP; Fri, 01 Nov 2019 09:17:05 -0400 Date: Fri, 01 Nov 2019 15:17:07 +0200 Message-Id: <83y2wzlorw.fsf@gnu.org> From: Eli Zaretskii In-reply-to: <3541E0E8-9E33-4FBD-B0D9-DFF77C241F6F@acm.org> (message from Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= on Fri, 1 Nov 2019 12:53:44 +0100) References: <83lft0m3ug.fsf@gnu.org> <3541E0E8-9E33-4FBD-B0D9-DFF77C241F6F@acm.org> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Mattias Engdegård > Date: Fri, 1 Nov 2019 12:53:44 +0100 > Cc: 38013@debbugs.gnu.org > > With the default settings, click and drag (mouse button 1) with meta held to mark a rectangular region. Thanks, I will try. > A minor mode is less ideal: rectangular selection is something the user wants to be able to do on a whim, without having to plan ahead by activating a minor mode. It is also good to follow standard practice in other editors and terminal emulators And yet cua-rect.el defined a command to enter this mode. I don't really buy the "on a whim" argument; I think the user always knows in advance whether the next selection will or won't be rectangular. So I still think a minor mode is the best solution, if something like C-M-mouse-1 is not portable enough. From unknown Sat Jun 21 05:17:43 2025 X-Loop: help-debbugs@gnu.org Subject: bug#38013: [PATCH] Rectangular region selection with mouse Resent-From: martin rudalics Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 01 Nov 2019 13:24:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 38013 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= , Eli Zaretskii Cc: 38013@debbugs.gnu.org Received: via spool by 38013-submit@debbugs.gnu.org id=B38013.157261460025948 (code B ref 38013); Fri, 01 Nov 2019 13:24:02 +0000 Received: (at 38013) by debbugs.gnu.org; 1 Nov 2019 13:23:20 +0000 Received: from localhost ([127.0.0.1]:55200 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iQWtc-0006kR-12 for submit@debbugs.gnu.org; Fri, 01 Nov 2019 09:23:20 -0400 Received: from mout.gmx.net ([212.227.17.20]:35113) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iQWtZ-0006kC-G2 for 38013@debbugs.gnu.org; Fri, 01 Nov 2019 09:23:18 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1572614584; bh=L/FsPhVCgcGTQFLgJ2YjIwHC/UmyHdb3BSvcEAzD160=; h=X-UI-Sender-Class:Subject:To:Cc:References:From:Date:In-Reply-To; b=VI1hYNSapWbHGWpipIArQsuAS4UqSqYc9IaAkM7nMaIBIDfo+0qm+tUffQJJTRjUW iAz6h2D+LHz/oDguXoMci5rpyd5S2ACb1POaVLoM6dFjjXYAVcX9BjNRW0bbjwmXx0 IDe6d/8XjuUG9ga+3afmPVOmSg469nBI12ENhsEo= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from [192.168.1.102] ([212.95.5.32]) by mail.gmx.com (mrgmx104 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MJmKX-1igHQH0LjF-00K8pa; Fri, 01 Nov 2019 14:23:04 +0100 References: <83lft0m3ug.fsf@gnu.org> <3541E0E8-9E33-4FBD-B0D9-DFF77C241F6F@acm.org> From: martin rudalics Message-ID: Date: Fri, 1 Nov 2019 14:23:03 +0100 MIME-Version: 1.0 In-Reply-To: <3541E0E8-9E33-4FBD-B0D9-DFF77C241F6F@acm.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: de-AT Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K1:J+AcfryTn2ialkeUcygqQ8jDZavlNbgpAqTK+9pq/Iozhu1/C/K 9d1TIwLkCS04L2pZSr3cRULWRLpcrbFJKUZ0zoo8lIEUuG51NacFYLpGc8/d9o6I6m4r0D6 j6K/RCNur9sU+qnquyztRiblgK84tHZ1iEiyRkqHTj6KI2n1P1KaTXLS6SfSyc8gNUzwxqS XL8f4p0EcEU4w9y51WkSA== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:zDZ16rWjEBI=:+xtI5JZDuGxV+Pi68kzd8p x+W8EQJ9Lzf8HvrA6SHBNAFjbBTG0nY5Yjhlxr/Egyb6tcKVCcha8VypQbWQ9cg6LRs0VIVFU Dy9OB3UHbnz4jvxtUWrikXeNin0TnzIHNCA9D8mCNMZy+9TSqvRpbk70C8hAgID0hBTTqKOPZ GeTLkwod+40kUGjTQKJ8HasE8PFDYw8NLQcqgg4jpBCePekWgN/XPSUw8klA8JDCs78mY4irn TgADRJ+DryX9ZtpqBZhFTmpJgxfJfrD7wIlbGn20Z/m4F/WGiiRFsXgkNU6gy/EWfsK7RpIEu ALCXnOCKbSiqhE0v8E9BJwfp1FZj+l3Pj02J6xkxgZPIw8sSL88yW1cCBFltwULquh0AVy5Nh K3MlRhx/x1EEsBuGWc2wvKbrz0/aP4Hz6OH/RoQn/pm8AgU/0SA9Mdn08i3Jp/Ab8oSX1XNZH Ng1sH34yHm6SkVaTgidTiPto4gOon1RoBxKszK8PA1SibkixBXL1O5PNE18V4rTLbRB7ezUNc iLPp4CRYlnb8/59rpOBEjt/dacPBvrutE1eUE0Hpyzxnvb34IFzoqId8mGOZpGcOQbQUSEOx0 d+b5ef8fI8aV3dC+JnEWB7+b3ve5bGkXJqnLXIbiRRmiVOWNDuEkvmWAjB9xIsdFcuy9wVmEB NiSLzvturJmZcw36wqugKBMTe2c0XHTZcqMiTsjezL7Pe0cHDp4lUM/fg9QpEJY2doznqTMJp Nm9F8ow0+KoGQGZxMWSl4UyO70IzyrTg7OMzmk+rQBKok5G/WOe0FZaHUaE72dk2bYwt157gj 9r8nklio/B80J6oM1gJoUHC449KRp5osWXyc3kMSYkZL0LnrdtLJ0I099G7h+aG31ex0GsICL 7foDAuN+8R9GahfLRPboj7vnqDvT45t6sCRs0VOXrxfU2DvuUfOvahe+hGJ8HAdCZQUpDleQM v2I7knh1LripsF1ncEQo5QVfDlgL4D+n4rl+a7m0s9m/oPghpCvORlpIbQTDpT7htpSeDLb7e eeoQO1LVvFpuu50zIMKdx70clN7w7uxFbKeS89CCZxta4EjelY0Ay2be/FzgLNFzwgEG3otEO DVjjGb8tI8ebpo5m6+N8OfbPsLhLTpV8V1po8ZK39K0NFhnS5bKOT5X52NEnEbOIlkbLLW6ur tA1UMrO25W6FXq2UCkdQdy0IpqW5aN936qiiWy6I0oUPOyK5TA75w9y+AOvlCAqvfS1PSmaLS Q7o2XO2EEEqxevnSzSDDUO/5K46LlTchzyODr6Gr5muZFV0fpAhF95pUn+6Y= X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) 9> Competing mouse bindings are: > > Meta: secondary selection The meta combinations are bound to the secondary selection in a very elaborate fashion and should be left alone. > Shift: mouse-appearance-menu (mouse-save-then-kill for NS) > Control: mouse-buffer-menu I have no idea why these are bound to down events in the first place. I would reserve S-down-mouse-1 for extending an existing selection and provide C-down-mouse-1 for rectangular selection. Some programs allow C-down-mouse-1 to provide non-contiguous selections which we then could accommodate easily by checking initially whether a selection is already active. > B. Combined modifiers (Shift-Meta etc). Less ergonomic; there may be platform restrictions. I'd consider these as viable alternatives. martin From unknown Sat Jun 21 05:17:43 2025 X-Loop: help-debbugs@gnu.org Subject: bug#38013: [PATCH] Rectangular region selection with mouse Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 01 Nov 2019 13:31:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 38013 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: mattiase@acm.org Cc: 38013@debbugs.gnu.org Received: via spool by 38013-submit@debbugs.gnu.org id=B38013.157261504329145 (code B ref 38013); Fri, 01 Nov 2019 13:31:02 +0000 Received: (at 38013) by debbugs.gnu.org; 1 Nov 2019 13:30:43 +0000 Received: from localhost ([127.0.0.1]:55209 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iQX0l-0007Za-7E for submit@debbugs.gnu.org; Fri, 01 Nov 2019 09:30:43 -0400 Received: from eggs.gnu.org ([209.51.188.92]:44429) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iQX0h-0007Qr-S8 for 38013@debbugs.gnu.org; Fri, 01 Nov 2019 09:30:41 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:58344) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1iQX0c-00039W-IO; Fri, 01 Nov 2019 09:30:34 -0400 Received: from [176.228.60.248] (port=3040 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1iQX0b-0007HP-UN; Fri, 01 Nov 2019 09:30:34 -0400 Date: Fri, 01 Nov 2019 15:30:36 +0200 Message-Id: <83v9s3lo5f.fsf@gnu.org> From: Eli Zaretskii In-reply-to: <83y2wzlorw.fsf@gnu.org> (message from Eli Zaretskii on Fri, 01 Nov 2019 15:17:07 +0200) References: <83lft0m3ug.fsf@gnu.org> <3541E0E8-9E33-4FBD-B0D9-DFF77C241F6F@acm.org> <83y2wzlorw.fsf@gnu.org> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Date: Fri, 01 Nov 2019 15:17:07 +0200 > From: Eli Zaretskii > Cc: 38013@debbugs.gnu.org > > > From: Mattias Engdegård > > Date: Fri, 1 Nov 2019 12:53:44 +0100 > > Cc: 38013@debbugs.gnu.org > > > > With the default settings, click and drag (mouse button 1) with meta held to mark a rectangular region. > > Thanks, I will try. Tried it. I see 2 problems: . an annoying 1-pixel horizontal movement when I just press M-mouse-1, but don't move it; this doesn't happen in a "normal" selection by dragging mouse-1 . problems when dragging the mouse across a TAB -- you cannot select just a "part" of the TAB's 8-column white space (see cua-rect.el for how this can be done better) In addition, it looks like making the rectangular selection is very error-prone: about 40% of the attempts I get a non-rectangular selection instead, and sometimes the selection "jumps" to the other side, i.e. I drag the mouse to the right, but get the text from the mouse to the _left_ selected, and the selection extends to the BOB. Thanks. From unknown Sat Jun 21 05:17:43 2025 X-Loop: help-debbugs@gnu.org Subject: bug#38013: [PATCH] Rectangular region selection with mouse Resent-From: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 03 Nov 2019 21:13:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 38013 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: 38013@debbugs.gnu.org Cc: martin rudalics , Eli Zaretskii Received: via spool by 38013-submit@debbugs.gnu.org id=B38013.157281558018857 (code B ref 38013); Sun, 03 Nov 2019 21:13:01 +0000 Received: (at 38013) by debbugs.gnu.org; 3 Nov 2019 21:13:00 +0000 Received: from localhost ([127.0.0.1]:35222 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iRNBE-0004u4-3G for submit@debbugs.gnu.org; Sun, 03 Nov 2019 16:13:00 -0500 Received: from mail1424c50.megamailservers.eu ([91.136.14.24]:48288 helo=mail102c50.megamailservers.eu) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iRNBA-0004tn-QW for 38013@debbugs.gnu.org; Sun, 03 Nov 2019 16:12:58 -0500 X-Authenticated-User: mattiase@bredband.net DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=megamailservers.eu; s=maildub; t=1572815570; bh=hneMCDjnGpkx0NGuvsjBn1Igb2PyvPVb1BG4QeKOiRU=; h=From:Subject:Date:In-Reply-To:Cc:To:References:From; b=TCb0OZoQtlBDZAIheay7tRtg2qu1Xx1SCqsleSdR6oxLBR1ANLki1nzlN/s7JsMoQ p9X2hJG2RPCnG+h2By3p2UNrfMF/7PmkuDBlg1h4XydkB/t46WSMcsZ9wf1dgwW4MJ 0/e5w0bus7r0JAEFmg0NPzv7cczC9x8yUc8s+wsw= Feedback-ID: mattiase@acm.or Received: from [192.168.1.64] (c-ac4be655.032-75-73746f71.bbcust.telenor.se [85.230.75.172]) (authenticated bits=0) by mail102c50.megamailservers.eu (8.14.9/8.13.1) with ESMTP id xA3LClv7032324; Sun, 3 Nov 2019 21:12:49 +0000 From: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= Message-Id: <75EC4FBC-F636-4D75-BAC4-982D85188794@acm.org> Content-Type: multipart/mixed; boundary="Apple-Mail=_C0ACF265-8155-47F3-AE85-0F4866E97DE7" Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\)) Date: Sun, 3 Nov 2019 22:12:47 +0100 In-Reply-To: <83v9s3lo5f.fsf@gnu.org> References: <83lft0m3ug.fsf@gnu.org> <3541E0E8-9E33-4FBD-B0D9-DFF77C241F6F@acm.org> <83y2wzlorw.fsf@gnu.org> <83v9s3lo5f.fsf@gnu.org> X-Mailer: Apple Mail (2.3445.104.11) X-CTCH-RefID: str=0001.0A0B0215.5DBF42D2.0003, ss=1, re=0.000, recu=0.000, reip=0.000, cl=1, cld=1, fgs=0 X-CTCH-VOD: Unknown X-CTCH-Spam: Unknown X-CTCH-Score: 0.000 X-CTCH-Rules: X-CTCH-Flags: 0 X-CTCH-ScoreCust: 0.000 X-CSC: 0 X-CHA: v=2.3 cv=R8J95uZX c=1 sm=1 tr=0 a=7cLsWLGj2bcc4bLyp6BeEw==:117 a=7cLsWLGj2bcc4bLyp6BeEw==:17 a=jpOVt7BSZ2e4Z31A5e1TngXxSK0=:19 a=M51BFTxLslgA:10 a=mDV3o1hIAAAA:8 a=zIwo6d7sAeZCSnXofroA:9 a=7Zwj6sZBwVKJAoWSPKxL6X1jA+E=:19 a=CjuIK1q_8ugA:10 a=51Pgbzs0mQj3Xp-AKj4A:9 a=B2y7HmGcmWMA:10 a=_FVE-zBwftR9WsbkzFJk:22 a=pHzHmUro8NiASowvMSCR:22 a=Ew2E2A-JSTLzCXPT_086:22 X-Spam-Score: 0.3 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) --Apple-Mail=_C0ACF265-8155-47F3-AE85-0F4866E97DE7 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii 1 nov. 2019 kl. 14.30 skrev Eli Zaretskii : > . an annoying 1-pixel horizontal movement when I just press > M-mouse-1, but don't move it; this doesn't happen in a "normal" > selection by dragging mouse-1 It also happens with C-x SPC and is a result of creating a zero-width = selection that still has to be visible somehow. Now mitigated, so that = it goes away if you release the button without selecting anything. > . problems when dragging the mouse across a TAB -- you cannot select > just a "part" of the TAB's 8-column white space (see cua-rect.el > for how this can be done better) > In addition, it looks like making the rectangular selection is very > error-prone: about 40% of the attempts I get a non-rectangular > selection instead, and sometimes the selection "jumps" to the other > side, i.e. I drag the mouse to the right, but get the text from the > mouse to the _left_ selected, and the selection extends to the BOB. Quite right! Now fixed so that the rectangle corners, including the = starting and ending corner, are no longer limited to points in the text. = They can now be beyond EOL or in the middle of a TAB. Thank you for = making it better! The customisable variables for rectangular and secondary selection are = now sets of modifiers, so that combinations like (shift meta) can be = used. 1 nov. 2019 kl. 14.23 skrev martin rudalics : > The meta combinations are bound to the secondary selection in a very > elaborate fashion and should be left alone. Abstracting the modifiers for the secondary selection seemed = straightforward to me. Did I miss anything? > > Shift: mouse-appearance-menu (mouse-save-then-kill for NS) > > Control: mouse-buffer-menu >=20 > I have no idea why these are bound to down events in the first place. > I would reserve S-down-mouse-1 for extending an existing selection and > provide C-down-mouse-1 for rectangular selection. Some programs allow > C-down-mouse-1 to provide non-contiguous selections which we then > could accommodate easily by checking initially whether a selection is > already active. It would be nice to avoid the automatic bias toward favouring existing = bindings regardless of merit, but that requires a sound understanding of = which operations are actually useful (or not). Picking some free = multi-key modifier like shift-control would have nobody complain, but = isn't necessarily optimal. You seem to believe that mouse-buffer-menu and mouse-appearance-menu = don't deserve their bindings. I'm neutral, but would be interested in = what other people have to say about it. --Apple-Mail=_C0ACF265-8155-47F3-AE85-0F4866E97DE7 Content-Disposition: attachment; filename=0001-Mouse-rectangular-region-selection-bug-38013.patch Content-Type: application/octet-stream; x-unix-mode=0644; name="0001-Mouse-rectangular-region-selection-bug-38013.patch" Content-Transfer-Encoding: quoted-printable =46rom=205db74b60fc263ec68de78542b2a334c1b19d70df=20Mon=20Sep=2017=20= 00:00:00=202001=0AFrom:=20=3D?UTF-8?q?Mattias=3D20Engdeg=3DC3=3DA5rd?=3D=20= =0ADate:=20Fri,=2025=20Oct=202019=2011:16:39=20+0200=0A= Subject:=20[PATCH]=20Mouse=20rectangular=20region=20selection=20= (bug#38013)=0A=0AMake=20it=20possible=20to=20select=20a=20rectangular=20= region=20using=20the=20mouse.=0AThe=20modifier=20is=20customisable=20and=20= defaults=20to=20meta.=0AThe=20modifier=20for=20mouse=20secondary=20= selection=20is=20now=20also=20customisable=20and=0Adefaults=20to=20nil=20= (disabled).=0A=0A*=20lisp/mouse.el=20(mouse-scroll-subr):=20Add=20ADJUST=20= argument.=0A(mouse-drag-region-rectangle):=20New.=0A= (mouse--global-with-modifiers,=20= mouse--set-secondary-selection-bindings)=0A= (mouse-secondary-selection-modifiers)=0A= (mouse--set-rectangular-region-selection-bindings)=0A= (mouse-region-rectangle-modifiers):=20New=20defcustoms=20with=20helper=20= functions.=0A---=0A=20lisp/mouse.el=20|=20123=20= +++++++++++++++++++++++++++++++++++++++++++++++---=0A=201=20file=20= changed,=20117=20insertions(+),=206=20deletions(-)=0A=0Adiff=20--git=20= a/lisp/mouse.el=20b/lisp/mouse.el=0Aindex=204a351f7be2..738f5403d8=20= 100644=0A---=20a/lisp/mouse.el=0A+++=20b/lisp/mouse.el=0A@@=20-1045,10=20= +1045,12=20@@=20mouse-scroll-min-lines=0A=20of=20lines=20specified=20by=20= this=20variable."=0A=20=20=20:type=20'integer)=0A=20=0A-(defun=20= mouse-scroll-subr=20(window=20jump=20&optional=20overlay=20start)=0A= +(defun=20mouse-scroll-subr=20(window=20jump=20&optional=20overlay=20= start=20adjust)=0A=20=20=20"Scroll=20the=20window=20WINDOW,=20JUMP=20= lines=20at=20a=20time,=20until=20new=20input=20arrives.=0A=20If=20= OVERLAY=20is=20an=20overlay,=20let=20it=20stretch=20from=20START=20to=20= the=20far=20edge=20of=0A=20the=20newly=20visible=20text.=0A+ADJUST,=20if=20= non-nil,=20is=20a=20function,=20without=20arguments,=20to=20call=20after=0A= +setting=20point.=0A=20Upon=20exit,=20point=20is=20at=20the=20far=20edge=20= of=20the=20newly=20visible=20text."=0A=20=20=20(cond=0A=20=20=20=20((and=20= (>=20jump=200)=20(<=20jump=20mouse-scroll-min-lines))=0A@@=20-1077,6=20= +1079,8=20@@=20mouse-scroll-subr=0A=20=09=09=20=20=20;;=20so=20that=20we=20= don't=20mess=20up=20the=20selected=20window.=0A=20=09=09=20=20=20(or=20= (eq=20window=20(selected-window))=0A=20=09=09=20=20=20=20=20=20=20= (goto-char=20opoint))=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20(when=20adjust=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20(funcall=20adjust))=0A=20=09=09=20=20=20(sit-for=20= mouse-scroll-delay)))))=0A=20=20=20=20=20(or=20(eq=20window=20= (selected-window))=0A=20=09(goto-char=20opoint))))=0A@@=20-1666,11=20= +1670,40=20@@=20mouse-save-then-kill=0A=20=20=20=20=20=20=20(setq=20= mouse-save-then-kill-posn=20click-pt)))))=0A=20=0A=20=0C=0A= -(global-set-key=20[M-mouse-1]=20'mouse-start-secondary)=0A= -(global-set-key=20[M-drag-mouse-1]=20'mouse-set-secondary)=0A= -(global-set-key=20[M-down-mouse-1]=20'mouse-drag-secondary)=0A= -(global-set-key=20[M-mouse-3]=20'mouse-secondary-save-then-kill)=0A= -(global-set-key=20[M-mouse-2]=20'mouse-yank-secondary)=0A+(defun=20= mouse--global-with-modifiers=20(base=20modifiers=20command)=0A+=20=20= "Globally=20bind=20BASE=20+=20MODIFIERS=20to=20COMMAND."=0A+=20=20= (global-set-key=20(vector=20(event-convert-list=20(append=20modifiers=20= (list=20base))))=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= command))=0A+=0A+(defun=20mouse--set-secondary-selection-bindings=20= (mods=20activate)=0A+=20=20"Set=20global=20mouse=20bindings=20using=20= MODS=20for=20secondary=20selection.=0A+If=20ACTIVATE=20is=20nil,=20= remove=20those=20bindings."=0A+=20=20(when=20mods=0A+=20=20=20=20= (mouse--global-with-modifiers=0A+=20=20=20=20=20'mouse-1=20mods=20(and=20= activate=20'mouse-start-secondary))=0A+=20=20=20=20= (mouse--global-with-modifiers=0A+=20=20=20=20=20'drag-mouse-1=20mods=20= (and=20activate=20'mouse-set-secondary))=0A+=20=20=20=20= (mouse--global-with-modifiers=0A+=20=20=20=20=20'down-mouse-1=20mods=20= (and=20activate=20'mouse-drag-secondary))=0A+=20=20=20=20= (mouse--global-with-modifiers=0A+=20=20=20=20=20'mouse-3=20mods=20(and=20= activate=20'mouse-secondary-save-then-kill))=0A+=20=20=20=20= (mouse--global-with-modifiers=0A+=20=20=20=20=20'mouse-2=20mods=20(and=20= activate=20'mouse-yank-secondary))))=0A+=0A+(defcustom=20= mouse-secondary-selection-modifiers=20'()=0A+=20=20"The=20modifier=20= keys=20for=20secondary=20selection=20using=20the=20mouse.=0A+If=20none,=20= mouse=20secondary=20selection=20is=20disabled."=0A+=20=20:group=20'mouse=0A= +=20=20:type=20'(set=20(const=20meta)=20(const=20control)=20(const=20= shift)=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20(const=20super)=20= (const=20hyper))=0A+=20=20:version=20"27.1"=0A+=20=20:set=20(lambda=20= (variable=20new-value)=0A+=20=20=20=20=20=20=20=20=20(when=20(boundp=20= 'mouse-secondary-selection-modifiers)=0A+=20=20=20=20=20=20=20=20=20=20=20= (mouse--set-secondary-selection-bindings=0A+=20=20=20=20=20=20=20=20=20=20= =20=20mouse-secondary-selection-modifiers=20nil))=0A+=20=20=20=20=20=20=20= =20=20(set-default=20variable=20new-value)=0A+=20=20=20=20=20=20=20=20=20= (mouse--set-secondary-selection-bindings=0A+=20=20=20=20=20=20=20=20=20=20= mouse-secondary-selection-modifiers=20t)))=0A=20=0A=20(defconst=20= mouse-secondary-overlay=0A=20=20=20(let=20((ol=20(make-overlay=20= (point-min)=20(point-min))))=0A@@=20-1960,6=20+1993,84=20@@=20= secondary-selection-from-region=0A=20=20=20=20=20(move-overlay=20= mouse-secondary-overlay=20(region-beginning)=20(region-end))))=0A=20=0A=20= =0C=0A+(defun=20mouse-drag-region-rectangle=20(start-event)=0A+=20=20= "Set=20the=20region=20to=20the=20rectangle=20that=20the=20mouse=20is=20= dragged=20over.=0A+This=20must=20be=20bound=20to=20a=20button-down=20= mouse=20event."=0A+=20=20(interactive=20"e")=0A+=20=20= (mouse-minibuffer-check=20start-event)=0A+=20=20(deactivate-mark)=0A+=20=20= (let*=20((start-pos=20(event-start=20start-event))=0A+=20=20=20=20=20=20=20= =20=20(col-row=20(posn-col-row=20start-pos)))=0A+=20=20=20=20= (posn-set-point=20start-pos)=0A+=20=20=20=20(rectangle-mark-mode)=0A+=20=20= =20=20;;=20Tell=20the=20rectangle=20selection=20about=20the=20exact=20= column,=20since=20it=20might=0A+=20=20=20=20;;=20not=20correspond=20= exactly=20to=20a=20valid=20position=20in=20the=20text.=0A+=20=20=20=20= (rectangle--col-pos=20(car=20col-row)=20'mark)=0A+=20=20=20=20= (rectangle--col-pos=20(car=20col-row)=20'point))=0A+=20=20(let*=20= ((scroll-margin=200)=0A+=20=20=20=20=20=20=20=20=20(start-posn=20= (event-start=20start-event))=0A+=20=20=20=20=20=20=20=20=20(start-point=20= (posn-point=20start-posn))=0A+=20=20=20=20=20=20=20=20=20(start-window=20= (posn-window=20start-posn))=0A+=20=20=20=20=20=20=20=20=20(bounds=20= (window-edges=20start-window))=0A+=20=20=20=20=20=20=20=20=20(top=20(nth=20= 1=20bounds))=0A+=20=20=20=20=20=20=20=20=20(bottom=20(if=20= (window-minibuffer-p=20start-window)=0A+=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20(nth=203=20bounds)=0A+=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20(1-=20(nth=203=20bounds))))=0A+=20=20= =20=20=20=20=20=20=20event)=0A+=20=20=20=20(track-mouse=0A+=20=20=20=20=20= =20(while=20(progn=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(setq=20= event=20(read-event))=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= (mouse-movement-p=20event))=0A+=20=20=20=20=20=20=20=20(let*=20((posn=20= (event-end=20event))=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= (window=20(posn-window=20posn))=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20(mouse-pos=20(mouse-position))=0A+=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20(mouse-col=20(cadr=20mouse-pos))=0A+=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20(mouse-row=20(cddr=20mouse-pos)))=0A+=20=20=20=20=20=20= =20=20=20=20(if=20(and=20(eq=20window=20start-window)=0A+=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20mouse-row=0A+=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20(<=3D=20top=20mouse-row=20(1-=20= bottom)))=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20;;=20Drag=20= inside=20the=20same=20window.=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20= (progn=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= (posn-set-point=20posn)=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= (rectangle--col-pos=20mouse-col=20'point))=0A+=20=20=20=20=20=20=20=20=20= =20=20=20;;=20Drag=20outside=20the=20window:=20scroll.=0A+=20=20=20=20=20= =20=20=20=20=20=20=20(cond=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20= ((null=20mouse-row))=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20((<=20= mouse-row=20top)=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20= (mouse-scroll-subr=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= start-window=20(-=20mouse-row=20top)=20nil=20start-point=0A+=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20(lambda=20()=20(rectangle--col-pos=20= mouse-col=20'point))))=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20((>=3D=20= mouse-row=20bottom)=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20= (mouse-scroll-subr=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= start-window=20(1+=20(-=20mouse-row=20bottom))=20nil=20start-point=0A+=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20(lambda=20()=20= (rectangle--col-pos=20mouse-col=20'point)))))))))=0A+=20=20=20=20(when=20= (equal=20(rectangle-dimensions=20(mark)=20(point))=20'(0=20.=201))=0A+=20= =20=20=20=20=20;;=20No=20nontrivial=20region=20selected;=20deactivate=20= rectangle=20mode.=0A+=20=20=20=20=20=20(rectangle-mark-mode=20-1))))=0A+=0A= +(defun=20mouse--set-rectangular-region-selection-bindings=20(mods=20= activate)=0A+=20=20"Set=20global=20mouse=20bindings=20using=20MODS=20for=20= rectangular=20selection.=0A+If=20ACTIVATE=20is=20nil,=20remove=20those=20= bindings."=0A+=20=20(when=20mods=0A+=20=20=20=20= (mouse--global-with-modifiers=20'down-mouse-1=20mods=0A+=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20(and=20activate=20'mouse-drag-region-rectangle))))=0A+=0A= +(defcustom=20mouse-region-rectangle-modifiers=20'(meta)=0A+=20=20"The=20= modifier=20keys=20for=20rectangular=20region=20selection=20using=20the=20= mouse.=0A+If=20none,=20mouse=20rectangular=20region=20selection=20is=20= disabled."=0A+=20=20:group=20'mouse=0A+=20=20:type=20'(set=20(const=20= meta)=20(const=20control)=20(const=20shift)=0A+=20=20=20=20=20=20=20=20=20= =20=20=20=20=20(const=20super)=20(const=20hyper))=0A+=20=20:version=20= "27.1"=0A+=20=20:set=20(lambda=20(variable=20new-value)=0A+=20=20=20=20=20= =20=20=20=20(when=20(boundp=20'mouse-region-rectangle-modifiers)=0A+=20=20= =20=20=20=20=20=20=20=20=20= (mouse--set-rectangular-region-selection-bindings=0A+=20=20=20=20=20=20=20= =20=20=20=20=20mouse-region-rectangle-modifiers=20nil))=0A+=20=20=20=20=20= =20=20=20=20(set-default=20variable=20new-value)=0A+=20=20=20=20=20=20=20= =20=20(mouse--set-rectangular-region-selection-bindings=0A+=20=20=20=20=20= =20=20=20=20=20mouse-region-rectangle-modifiers=20t)))=0A+=0A+=0C=0A=20= (defcustom=20mouse-buffer-menu-maxlen=2020=0A=20=20=20"Number=20of=20= buffers=20in=20one=20pane=20(submenu)=20of=20the=20buffer=20menu.=0A=20= If=20we=20have=20lots=20of=20buffers,=20divide=20them=20into=20groups=20= of=0A--=20=0A2.21.0=20(Apple=20Git-122)=0A=0A= --Apple-Mail=_C0ACF265-8155-47F3-AE85-0F4866E97DE7-- From unknown Sat Jun 21 05:17:43 2025 X-Loop: help-debbugs@gnu.org Subject: bug#38013: [PATCH] Rectangular region selection with mouse Resent-From: Drew Adams Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 03 Nov 2019 21:52:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 38013 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= , 38013@debbugs.gnu.org Received: via spool by 38013-submit@debbugs.gnu.org id=B38013.157281790323560 (code B ref 38013); Sun, 03 Nov 2019 21:52:01 +0000 Received: (at 38013) by debbugs.gnu.org; 3 Nov 2019 21:51:43 +0000 Received: from localhost ([127.0.0.1]:35602 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iRNmg-00067w-PX for submit@debbugs.gnu.org; Sun, 03 Nov 2019 16:51:43 -0500 Received: from userp2130.oracle.com ([156.151.31.86]:43922) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iRNmf-00067h-5L for 38013@debbugs.gnu.org; Sun, 03 Nov 2019 16:51:41 -0500 Received: from pps.filterd (userp2130.oracle.com [127.0.0.1]) by userp2130.oracle.com (8.16.0.27/8.16.0.27) with SMTP id xA3LijJY064515; Sun, 3 Nov 2019 21:51:34 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=mime-version : message-id : date : from : sender : to : subject : references : in-reply-to : content-type : content-transfer-encoding; s=corp-2019-08-05; bh=/uR4gVxsx0vuh+QU9tFjPQ382bT0WBNxYQ0bNrW0zS4=; b=R0nmZaV6rM885HRfTlnqVXuv0zYuy5zakBicAbQTCsaVHUhPZtBVgMc6Ezsv4+VRbVRl nQ59cu6tBjlpskIW98iuKUsOep1fmIZDKnAbiZuzn7m6D1w4o4D70F6akHzuxinlsrYu XfWFmYL4bawUHuV/XPkYUr2Mbjc1/d6HKOuhPONo51fjgKT3kEl0O25HV2UufklFZ/Bz jrqpBMNHLpByxSN3km/OKDROs6NPcuFoPtOFutA0kHUfsx+Ct6tWf4aVPebQSwMWjinx 9R9jDNIbpmxt2Z6I1ArCXvFE4FgGpKfZ1RoB9AbcF8GfizOTbVjttBrrAsk+4Pd7v+vf uQ== Received: from aserp3020.oracle.com (aserp3020.oracle.com [141.146.126.70]) by userp2130.oracle.com with ESMTP id 2w117tm4wn-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sun, 03 Nov 2019 21:51:34 +0000 Received: from pps.filterd (aserp3020.oracle.com [127.0.0.1]) by aserp3020.oracle.com (8.16.0.27/8.16.0.27) with SMTP id xA3LnW5S030657; Sun, 3 Nov 2019 21:51:33 GMT Received: from aserv0121.oracle.com (aserv0121.oracle.com [141.146.126.235]) by aserp3020.oracle.com with ESMTP id 2w1ka8bv5s-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sun, 03 Nov 2019 21:51:33 +0000 Received: from abhmp0006.oracle.com (abhmp0006.oracle.com [141.146.116.12]) by aserv0121.oracle.com (8.14.4/8.13.8) with ESMTP id xA3LpV7o000581; Sun, 3 Nov 2019 21:51:32 GMT MIME-Version: 1.0 Message-ID: <10a910e6-6981-4f23-8e46-24db4ce3392f@default> Date: Sun, 3 Nov 2019 13:51:31 -0800 (PST) From: Drew Adams References: <83lft0m3ug.fsf@gnu.org> <3541E0E8-9E33-4FBD-B0D9-DFF77C241F6F@acm.org> <83y2wzlorw.fsf@gnu.org> <83v9s3lo5f.fsf@gnu.org> <75EC4FBC-F636-4D75-BAC4-982D85188794@acm.org> In-Reply-To: <75EC4FBC-F636-4D75-BAC4-982D85188794@acm.org> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9.1 (1003210) [OL 16.0.4900.0 (x86)] Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9430 signatures=668685 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 mlxscore=0 mlxlogscore=960 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1908290000 definitions=main-1911030227 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9430 signatures=668685 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 priorityscore=1501 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1908290000 definitions=main-1911030227 X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Sorry, but I don't see why you did any of what you did that affects the secondary selection. Why all of that? Why not just continue to provide the same default mouse key bindings for it? It's always been easy for a user to change those default mouse key bindings. How are things easier for users after the proposed changes? Searching your patch for "second", it seems that the only changes affecting the secondary affect just the (mouse) key bindings for it. How is any of that related to rectangular region selection? I really don't see what has been gained by the changes that affect the secondary selection. Can you please explain? What's the aim - what's the problem that this is trying to solve? How about just removing all of the code in the patch that deals with the secondary selection? Is any of that needed, to provide mouse selection of a rectangular region? And I disagree with removing the longstanding default mouse key bindings for the secondary. You've done that in a roundabout way (defaulting a new user option to nil), but you've done it, AFAICT. [BTW, there's no need to use '(); just () suffices.]=20 From unknown Sat Jun 21 05:17:43 2025 X-Loop: help-debbugs@gnu.org Subject: bug#38013: [PATCH] Rectangular region selection with mouse Resent-From: martin rudalics Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 04 Nov 2019 09:08:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 38013 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= , 38013@debbugs.gnu.org Cc: Eli Zaretskii Received: via spool by 38013-submit@debbugs.gnu.org id=B38013.157285845032547 (code B ref 38013); Mon, 04 Nov 2019 09:08:01 +0000 Received: (at 38013) by debbugs.gnu.org; 4 Nov 2019 09:07:30 +0000 Received: from localhost ([127.0.0.1]:35830 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iRYKf-0008St-T8 for submit@debbugs.gnu.org; Mon, 04 Nov 2019 04:07:30 -0500 Received: from mout.gmx.net ([212.227.17.21]:41781) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iRYKe-0008Sd-1w for 38013@debbugs.gnu.org; Mon, 04 Nov 2019 04:07:28 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1572858434; bh=SL7cbZwrVW/xuiFJP9N2UN/k6noai6DeRS9MauFpEMU=; h=X-UI-Sender-Class:Subject:To:Cc:References:From:Date:In-Reply-To; b=Lw7PCchLOLGYLJfu2OKmZ/dzytdO8TdTHcUcjNBf1GP3mw4PshQnmsI1gtr7+ViNB gS4AROst09mtByZkJDOea3ErOLgLUhDOq+61/qtae6eneiKoDPpVdQeBObKGUtTRSv 43gpZGtjJN8+jLOm4VN98/0qm0TYn/SSQK+p1KS4= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from [192.168.1.102] ([212.95.5.23]) by mail.gmx.com (mrgmx105 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MpUYu-1hbhKI10ma-00pr9t; Mon, 04 Nov 2019 10:07:14 +0100 References: <83lft0m3ug.fsf@gnu.org> <3541E0E8-9E33-4FBD-B0D9-DFF77C241F6F@acm.org> <83y2wzlorw.fsf@gnu.org> <83v9s3lo5f.fsf@gnu.org> <75EC4FBC-F636-4D75-BAC4-982D85188794@acm.org> From: martin rudalics Message-ID: <9b9222ad-ead7-d0a0-0602-780d0680f070@gmx.at> Date: Mon, 4 Nov 2019 10:07:17 +0100 MIME-Version: 1.0 In-Reply-To: <75EC4FBC-F636-4D75-BAC4-982D85188794@acm.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: de-AT Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K1:TiWAPe+w3JWKM4PniA9yhpZuOfmekPn+heY6HPGhF6JOximmsPc WXq7Bgo8IS2lfcbFRAMxz/pQKFLs7UAX852XUMDal8YaKf1dzT9qKRL2CLp3iySRj68/Tzs HpvJrcAyZMv51JjSDHkU2iYopvZDVPwcOaHHZoNqr2ko0aubSXDKkcXvzHg578KrD6WoBWc RqLRLah4QC+quLSb+fA+g== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:CtqM4IrkkF8=:SSoHr64wAq4V4mg94mwy6o 4GhEzF1c0fMsozxfPMgf+f02AOUO9KuHOYJFpp99SLBHgCpZOHo5URHXMi9dh2dSfUgMrtF3D v0MTxnlVVy5PrKSD2n0odJ/E+eaoszpre7mFLDh+xPP/3K6eqIaim6T2XPq/wIKj//VNuhFpD 1Fugos6z3m3SS3s8bT9zJX9z9JyCn8rpoHlJbqziPVRNMNVGjsUuq64lXi2TH/PlaVghjdaWT 8q+31426hO2kGppUCgSAC3xSOV/z3/abpjHN+0yRQ/eB6ZpB1eehMkDhzqWdRwOGmH3mdGbZ9 golzMrpsrLxbtWX0cp5A+jV9a31+4xoDXGmScn/Ezqr45Tm8GR2TCe4ZTsshc8odDd/6eAsiS GcLbKESDilBg262IEroG6kKqxL/RAA3y9WbGDD/86wHlQw5H6O/8iGR8vSW3ETpFjIWMCZ2H3 8jO0Hu3oKKc5kG2J6EUGoN4OeB7WFRTjPwxtx8UfVkDy6ZaQ6JJvAUHZOdXHgN85C6RGZHVzl 5In+ekqEz/Ej25ew/fO0VUPtFl87Y+IYbuXLvU0X8JeJyKigS7aN7GMzFdKdWv38wJxrsloXE PVfqnV1MycOkxWUJRDMWcGwIKou8zHcno5Y/cstau/kVWlMJRGui+FTKb9OJid4LT7KMJgMjr /6Nh11NNziPzyVV30HnwLb/z0rxXK7mMDOnJwhrvjBGiGDaGZ2MLW5B0xnAxQnVhH1ieORiw0 tzP/rm7mDiAAM7/84v5GTvX3bG0uNv0wSrdxg1ptbFiORd0CbnV71Sl6ZPoyRwe+jKQKzHuAo 3tbIz+p0PwHLXwjqwzGa2tQvuciebVjOT1WWF4pGpdhWvyntz/i49lDLjo+r2K4HM8CfK7xYL B9wYYuPptbIkywRxyjgzWrJgeQj4PbxbRLmHFQaACu1NAsgGBdPfSfABp2a3qxKTSbyxSiQZr il3sfEaCb0mbBl9a5t+CuVzaBHKIptoEKQ0wdbv75/CjpgciOB7DjpuFbGoIUGjdyOCq2sT2L mcKsw5DC8AP/ejuRpGjmGW64CtWp1oDtOnki0jpuwp6PbDiyHjv8nuGPwKg+FbOrFBup43QtZ D3qBgm9mRr15FJEaBx987a0hGBiJYtbKuedxoZH/1V4LxqaOcSEzeH3ckUJ54agbttvDSlYhJ 3p7apS0AU0xFb3SQ838ZGqdFwhvkoLS/91Yk51z/e9kquDxUhd9IIs4fs9LFIonWpyeZa7XsJ bQ8XS2NFrBP2cg9Z189d+aDUyl14NpMVrAPZtAA== X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) >> The meta combinations are bound to the secondary selection in a very >> elaborate fashion and should be left alone. > > Abstracting the modifiers for the secondary selection seemed > straightforward to me. Did I miss anything? I meant that the code for working with the secondary selection has been set up in a quite meticulous way so I would never mess with it (including the modifiers it uses). > Picking some free multi-key modifier like shift-control would > have nobody complain, but isn't necessarily optimal. I usually shift-control with my pinkie alone so I would consider it optimal and use it for many key combinations all the time. > You seem to believe that mouse-buffer-menu and mouse-appearance-menu > don't deserve their bindings. I'm neutral, but would be interested > in what other people have to say about it. These deserve their bindings though I would not pop up a menu from a mouse-down event alone. What I am obviously assuming is that the rectangular region selection code is based on mouse-dragging from one corner of the rectangle to the opposite one, so a mouse-drag is easily distinguishable from a click for a pop-up-menu. If this assumption is wrong, my rebinding proposal is clearly void. martin From unknown Sat Jun 21 05:17:43 2025 X-Loop: help-debbugs@gnu.org Subject: bug#38013: [PATCH] Rectangular region selection with mouse Resent-From: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 04 Nov 2019 11:34:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 38013 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: martin rudalics Cc: Eli Zaretskii , 38013@debbugs.gnu.org, Drew Adams Received: via spool by 38013-submit@debbugs.gnu.org id=B38013.157286722423650 (code B ref 38013); Mon, 04 Nov 2019 11:34:02 +0000 Received: (at 38013) by debbugs.gnu.org; 4 Nov 2019 11:33:44 +0000 Received: from localhost ([127.0.0.1]:35935 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iRacC-00069K-3e for submit@debbugs.gnu.org; Mon, 04 Nov 2019 06:33:44 -0500 Received: from mail221c50.megamailservers.eu ([91.136.10.231]:60666 helo=mail33c50.megamailservers.eu) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iRac9-00069A-4y for 38013@debbugs.gnu.org; Mon, 04 Nov 2019 06:33:42 -0500 X-Authenticated-User: mattiase@bredband.net DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=megamailservers.eu; s=maildub; t=1572867218; bh=clE+j6TsR1ev1yKKsXANuk81tR/CSMxH1OqA7ISDxkM=; h=Subject:From:In-Reply-To:Date:Cc:References:To:From; b=MnalSrcKRm+yuyHl5gI0AnAEg3nZY5lcXXiW+9V1OxduG7n432KkRZEG6a8F6XJhy aGyDSlfGLg35F0Ln9AX1Yws2YJRVb6z3H12JwrYwzeb0VnG7V44/8Eq03hi3oTUlIZ 8qRHWN4fTR1CjjVffqnaTDTwIj/EXpjX0Z3xY9EQ= Feedback-ID: mattiase@acm.or Received: from [192.168.1.64] (c-ab48e655.032-75-73746f71.bbcust.telenor.se [85.230.72.171]) (authenticated bits=0) by mail33c50.megamailservers.eu (8.14.9/8.13.1) with ESMTP id xA4BXaqI014496; Mon, 4 Nov 2019 11:33:37 +0000 Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\)) From: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= In-Reply-To: <9b9222ad-ead7-d0a0-0602-780d0680f070@gmx.at> Date: Mon, 4 Nov 2019 12:33:36 +0100 Content-Transfer-Encoding: quoted-printable Message-Id: References: <83lft0m3ug.fsf@gnu.org> <3541E0E8-9E33-4FBD-B0D9-DFF77C241F6F@acm.org> <83y2wzlorw.fsf@gnu.org> <83v9s3lo5f.fsf@gnu.org> <75EC4FBC-F636-4D75-BAC4-982D85188794@acm.org> <9b9222ad-ead7-d0a0-0602-780d0680f070@gmx.at> X-Mailer: Apple Mail (2.3445.104.11) X-CTCH-RefID: str=0001.0A0B0205.5DC00C92.004E, ss=1, re=0.000, recu=0.000, reip=0.000, cl=1, cld=1, fgs=0 X-CTCH-VOD: Unknown X-CTCH-Spam: Unknown X-CTCH-Score: 0.000 X-CTCH-Rules: X-CTCH-Flags: 0 X-CTCH-ScoreCust: 0.000 X-CSC: 0 X-CHA: v=2.3 cv=ccisUULM c=1 sm=1 tr=0 a=rXevXwunHxhYrmnhJinORQ==:117 a=rXevXwunHxhYrmnhJinORQ==:17 a=jpOVt7BSZ2e4Z31A5e1TngXxSK0=:19 a=kj9zAlcOel0A:10 a=M51BFTxLslgA:10 a=z3M_6VYJbFPRu-Ef4CAA:9 a=7Zwj6sZBwVKJAoWSPKxL6X1jA+E=:19 a=CjuIK1q_8ugA:10 a=pHzHmUro8NiASowvMSCR:22 a=Ew2E2A-JSTLzCXPT_086:22 X-Spam-Score: 0.3 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) 4 nov. 2019 kl. 10.07 skrev martin rudalics : > I meant that the code for working with the secondary selection has > been set up in a quite meticulous way so I would never mess with it > (including the modifiers it uses). Not here to mess with it, but if the user prefers to free up the Meta = modifier for something else but still have access to the secondary = selection, it seems to be perfectly possible. The current patch applies = the modifier in a consistent way on all related bindings. Even better would be a unified binding interface that also takes care of = clashes in an automated way. (Drew, don't worry --- the bindings are placeholders so that people can = try out the selection mechanism. The default bindings are yet to be = determined.) > I usually shift-control with my pinkie alone so I would consider it > optimal and use it for many key combinations all the time. Geometry of hands and keyboards varies; I find single-key modifiers = easier (but not necessarily difficult) to use. However, shift-control could be a reasonable default value, if we dare = not alter anything else. Is there any reason to prefer one of = {shift-control, shift-meta, control-meta} to the rest? > These deserve their bindings though I would not pop up a menu from a > mouse-down event alone. What I am obviously assuming is that the > rectangular region selection code is based on mouse-dragging from one > corner of the rectangle to the opposite one, so a mouse-drag is easily > distinguishable from a click for a pop-up-menu. If this assumption is > wrong, my rebinding proposal is clearly void. Thanks for explaining. Unfortunately, region selection and menu pop-up = do not seem to be compatible in that way --- at least I didn't manage to = use the same modifier for both. Perhaps the events could be multiplexed = somehow, but it seems to be on the hacky side. From unknown Sat Jun 21 05:17:43 2025 X-Loop: help-debbugs@gnu.org Subject: bug#38013: [PATCH] Rectangular region selection with mouse Resent-From: Drew Adams Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 04 Nov 2019 15:27:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 38013 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= , martin rudalics Cc: Eli Zaretskii , 38013@debbugs.gnu.org Received: via spool by 38013-submit@debbugs.gnu.org id=B38013.157288117731623 (code B ref 38013); Mon, 04 Nov 2019 15:27:02 +0000 Received: (at 38013) by debbugs.gnu.org; 4 Nov 2019 15:26:17 +0000 Received: from localhost ([127.0.0.1]:37374 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iReFF-0008Dz-7k for submit@debbugs.gnu.org; Mon, 04 Nov 2019 10:26:17 -0500 Received: from userp2120.oracle.com ([156.151.31.85]:53274) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iReFA-0008Df-5m for 38013@debbugs.gnu.org; Mon, 04 Nov 2019 10:26:15 -0500 Received: from pps.filterd (userp2120.oracle.com [127.0.0.1]) by userp2120.oracle.com (8.16.0.27/8.16.0.27) with SMTP id xA4FN4Vq028540; Mon, 4 Nov 2019 15:26:00 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=mime-version : message-id : date : from : sender : to : cc : subject : references : in-reply-to : content-type : content-transfer-encoding; s=corp-2019-08-05; bh=5AFKo/at0cpw3tGguTBcBAwAvt2rBcJJDOzrRjYuCvA=; b=dKBqz1Cy4XcgBaOUWtARzbF74TkQUPckHgR6g1Lz8x6JUjrYmfDl1Ixmj6QHQIcmmmpx IkdZZmKk14uKEqeSQWxf1QdhFOOEP4Kip9RkIhFaNL/nwgT+nVBlaPP11hX7HF7gcDp1 Tw6ATkICE1SW9/V+nFynp9LqYag8rPun1FEP93iVjufZorI+glKYBGYsKGhppzs1KB7o I3jcMdRvxlxjX46VTm7VX+BLVG9hNtIcUj4Tqt7rRqakjt6M82lRzcJQkjC8tnbSs2N6 VgNUsFEOgc7tHz/ZwTUhiyXr74dHcKtup0ouTFlAdfya/wSA/4+AZ2Ay60OndB3dK/cX ng== Received: from aserp3020.oracle.com (aserp3020.oracle.com [141.146.126.70]) by userp2120.oracle.com with ESMTP id 2w12eqyxse-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 04 Nov 2019 15:26:00 +0000 Received: from pps.filterd (aserp3020.oracle.com [127.0.0.1]) by aserp3020.oracle.com (8.16.0.27/8.16.0.27) with SMTP id xA4FA9GK060115; Mon, 4 Nov 2019 15:25:59 GMT Received: from userv0122.oracle.com (userv0122.oracle.com [156.151.31.75]) by aserp3020.oracle.com with ESMTP id 2w1kabau4k-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 04 Nov 2019 15:25:59 +0000 Received: from abhmp0006.oracle.com (abhmp0006.oracle.com [141.146.116.12]) by userv0122.oracle.com (8.14.4/8.14.4) with ESMTP id xA4FPqor022688; Mon, 4 Nov 2019 15:25:53 GMT MIME-Version: 1.0 Message-ID: Date: Mon, 4 Nov 2019 07:25:51 -0800 (PST) From: Drew Adams References: <83lft0m3ug.fsf@gnu.org> <3541E0E8-9E33-4FBD-B0D9-DFF77C241F6F@acm.org> <83y2wzlorw.fsf@gnu.org> <83v9s3lo5f.fsf@gnu.org> <75EC4FBC-F636-4D75-BAC4-982D85188794@acm.org> <9b9222ad-ead7-d0a0-0602-780d0680f070@gmx.at> In-Reply-To: X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9.1 (1003210) [OL 16.0.4900.0 (x86)] Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9431 signatures=668685 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 mlxscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1908290000 definitions=main-1911040151 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9431 signatures=668685 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 priorityscore=1501 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1908290000 definitions=main-1911040151 X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > (Drew, don't worry --- the bindings are placeholders so that people can > try out the selection mechanism. The default bindings are yet to be > determined.) My latest question was why we would add all of that stuff - options for choosing modifiers etc. _Users have control_ over key bindings now. Just what's the point of adding this other stuff? And what exactly does that have to do with selecting a rectangular region with the mouse? Why should that be mixed in with providing the possibility of using a mouse to select a rectangular region? And why provide any binding, by default, for doing that? The feature hasn't even been introduced to users yet. Why would we sacrifice a default binding for it at this time? From unknown Sat Jun 21 05:17:43 2025 X-Loop: help-debbugs@gnu.org Subject: bug#38013: [PATCH] Rectangular region selection with mouse Resent-From: martin rudalics Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 04 Nov 2019 18:28:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 38013 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= Cc: Eli Zaretskii , 38013@debbugs.gnu.org, Drew Adams Received: via spool by 38013-submit@debbugs.gnu.org id=B38013.157289208118207 (code B ref 38013); Mon, 04 Nov 2019 18:28:02 +0000 Received: (at 38013) by debbugs.gnu.org; 4 Nov 2019 18:28:01 +0000 Received: from localhost ([127.0.0.1]:37506 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iRh57-0004ja-80 for submit@debbugs.gnu.org; Mon, 04 Nov 2019 13:28:01 -0500 Received: from mout.gmx.net ([212.227.17.22]:38457) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iRh55-0004jO-K9 for 38013@debbugs.gnu.org; Mon, 04 Nov 2019 13:28:00 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1572892061; bh=9vow1fa0j8kxxVU1A8TSbCggO+JYSD2c6xfDsxQvEiU=; h=X-UI-Sender-Class:Subject:To:Cc:References:From:Date:In-Reply-To; b=fP1KDlvP1xHG4Pz3WoUOdyyZwvCLNw9726cWsJkvFeVUkFfH5WC0axDaE7mZs3Hkz gI8MQNziMAgRV5djxW52RJxANyBhWpYrWEIJnnIhEC+14Gw8qixL8DYmHNkLM0pFNs KGN3r9NQC/CCu9Zw9hht8HwPTon6cU5I0iyS1LoI= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from [192.168.1.101] ([212.95.5.36]) by mail.gmx.com (mrgmx105 [212.227.17.168]) with ESMTPSA (Nemesis) id 1M1Ycl-1iUi982FFz-0034Uf; Mon, 04 Nov 2019 19:27:41 +0100 References: <83lft0m3ug.fsf@gnu.org> <3541E0E8-9E33-4FBD-B0D9-DFF77C241F6F@acm.org> <83y2wzlorw.fsf@gnu.org> <83v9s3lo5f.fsf@gnu.org> <75EC4FBC-F636-4D75-BAC4-982D85188794@acm.org> <9b9222ad-ead7-d0a0-0602-780d0680f070@gmx.at> From: martin rudalics Message-ID: <6bf229f4-c22f-c3c2-5158-5235f908de3c@gmx.at> Date: Mon, 4 Nov 2019 19:27:44 +0100 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: de-AT Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K1:WuRYJf1/Uj0t1CaAGJf3PX9OmKdpkaFVg83WzN2zj/J07VqVVd0 y8y27fv/FDY1/uiUKmcrnX2PUw47bE6Lz7uwmb7NdODBLeLykxNvFLIJmWn5U3bTAf7YzjD 4sGxbOum2klefiY0RK6mZW1Cuq/2tJO7oMm8+KPHkNoS/aTkr6FcTsXC2BvQeoVqCLb8vlm Cr6DkWjDKGsKdU/43rS7Q== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:NjuHA/09lWk=:wlkqOBl+pb2H9H8qeB62VC J56ytkxgMa8UoyLavF3QCBoka81FchYNlgVMzifmKQeBqZPadHwL75PZBmepPYUYkamHXIvjQ aviMDhoP7YFL/gT+C3QaBMXSzZZkz0b5Cib7j/gNuhXRiCQSjmCcaIFAdkuLmbr95nQeVH9II WbX35C3U1Z10BAvnvfyzJuxbzAIupdbJAA+Sn77U+PvAm/7vJqIv3ACHS1DpHmtzPAZj/IS+f 3Q1M6T9M3a3kXCYZFgo+UvWFpmLt49CAvZtIF1YUPWGX6EqxGJ0kc+2ilbfhSNwjXBKCSHR/m 0WNX1L1RD07Sr6xnkPy7e3WzbYxpmmBLG7ubQdhYoLux2cmV7Qe2SgoWi0i+fXvseRnK7DV9g +qHsQLmoJRftX7+au7DXA61GSCOkrtc6L4c33LYo3HZVItax909dCJ/Uil6c5+7UdhCr1Tf20 LkEO6oaRdi93Dw9r8RXDmgT0drUMfPJakSXP/W1X0JvywhpxFhwXm6bjKP7ZhT2lUZxHpvVVJ zDLPD9A0wgE97ZaRmWEAOagSKEZp+iH+RkEgwVIvsvb68lph+n16H5axWLvnNJK8+lLUAjm57 EDYdji3tcfUEaRrcVc0V4ZPlnSqFQ4paWYeO6CtPfiRJjvFhOXeUqZhOjEk/hhCrbPRGIKb5i 9jMtphQjOlmDLqc9L+ajvQ8Qs3gmcpyzvmWLsb4Q2Sve0IPe1yHABWB7zYpomIT+oDin3tZTP hiX8Jx0sMSaEJaMW6baGpOmz0ai6AOifJksob2Ax9ewzCzKG1mmRResY/RsEU+4KqnyfZHYpA h5aID3Zg79JX/17JskSIZxWM7AaHFhLhzQpbTEGuHUxx84bpoiwYMg6H8R5SJPPg0QUtrw+Pg YsxvHfWjgRnIFLGSieuZ8wRuTdHJ13/bjQrgDjmViLJkJuNTd6TeGhJWOQ1Y4bUAwztj+EMmk p1K5DSUdnX2mW6TFkQfa4EoX8+C0rmgCN6Dmy42RcWjm6TDhN0yWusCC+fx5wWMuajjtmmBgv 8m7cc7T49K7JzZfDJwSVB4AldozFzQ3ymalhP1hWniU9r+srOAG7YkwyqXk/ur1vpRQE/AmrW APSE1fUDMwj9008+jWZShLxzgqbyGSirqyCAj1x1dNVy3j2D1eAcWATf/ZkbmW70rNXWy1++j 6XSbysogwdUedA4yqSv3MKvz7jME0CGPks3BLh7uhBDlL6oitaJmkTvmxzSzvqEyuB+RnIIc3 w2652U1ZKjJAHas0VRf4Ouh343Ie+lsDHrjZ8Ixtr9dWZ1hE5m9iE+pzEv50= X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) > Thanks for explaining. Unfortunately, region selection and menu > pop-up do not seem to be compatible in that way --- at least I > didn't manage to use the same modifier for both. Perhaps the events > could be multiplexed somehow, but it seems to be on the hacky side. If you bind it to the control key you should at least be able to pop up the buffer menu yourself if the up event occurs at the same position as the down event. But here I can simply do (global-set-key [C-down-mouse-1] 'mouse-drag-region) (global-set-key [C-drag-mouse-1] 'mouse-set-region) (global-set-key [C-mouse-1] 'mouse-buffer-menu) and get both, normal mouse dragging and the buffer menu. What more would you need? martin From unknown Sat Jun 21 05:17:43 2025 X-Loop: help-debbugs@gnu.org Subject: bug#38013: [PATCH] Rectangular region selection with mouse Resent-From: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 04 Nov 2019 20:19:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 38013 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: martin rudalics Cc: Eli Zaretskii , 38013@debbugs.gnu.org Received: via spool by 38013-submit@debbugs.gnu.org id=B38013.15728987105204 (code B ref 38013); Mon, 04 Nov 2019 20:19:02 +0000 Received: (at 38013) by debbugs.gnu.org; 4 Nov 2019 20:18:30 +0000 Received: from localhost ([127.0.0.1]:37587 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iRio0-0001Lp-1P for submit@debbugs.gnu.org; Mon, 04 Nov 2019 15:18:28 -0500 Received: from mail210c50.megamailservers.eu ([91.136.10.220]:56506 helo=mail194c50.megamailservers.eu) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iRinw-0001Le-Pi for 38013@debbugs.gnu.org; Mon, 04 Nov 2019 15:18:26 -0500 X-Authenticated-User: mattiase@bredband.net DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=megamailservers.eu; s=maildub; t=1572898703; bh=G8e92e679lWBwY8BgeUUU7lbfInuoPY/eZQxI/u2cAk=; h=Subject:From:In-Reply-To:Date:Cc:References:To:From; b=PWQdKzXpxipnw6lVOfMoNyu9ePqn07KqPCzXx3dy8PuMq2i+OrRlO7+qGtcLCT8JK kDRpDsH/0NmfOUvUSJq3QjD17si7DWVPzOhWlK38s7weOe+bwEcwLboOm7olLOJqeq rrDoMRodHWQeHwiqKwvZ6Lt8nHwTfnvMdYI6C3L0= Feedback-ID: mattiase@acm.or Received: from [192.168.1.64] (c-ab48e655.032-75-73746f71.bbcust.telenor.se [85.230.72.171]) (authenticated bits=0) by mail194c50.megamailservers.eu (8.14.9/8.13.1) with ESMTP id xA4KIKCq015276; Mon, 4 Nov 2019 20:18:21 +0000 Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\)) From: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= In-Reply-To: <6bf229f4-c22f-c3c2-5158-5235f908de3c@gmx.at> Date: Mon, 4 Nov 2019 21:18:20 +0100 Content-Transfer-Encoding: quoted-printable Message-Id: References: <83lft0m3ug.fsf@gnu.org> <3541E0E8-9E33-4FBD-B0D9-DFF77C241F6F@acm.org> <83y2wzlorw.fsf@gnu.org> <83v9s3lo5f.fsf@gnu.org> <75EC4FBC-F636-4D75-BAC4-982D85188794@acm.org> <9b9222ad-ead7-d0a0-0602-780d0680f070@gmx.at> <6bf229f4-c22f-c3c2-5158-5235f908de3c@gmx.at> X-Mailer: Apple Mail (2.3445.104.11) X-CTCH-RefID: str=0001.0A0B0211.5DC0878F.0007, ss=1, re=0.000, recu=0.000, reip=0.000, cl=1, cld=1, fgs=0 X-CTCH-VOD: Unknown X-CTCH-Spam: Unknown X-CTCH-Score: 0.000 X-CTCH-Rules: X-CTCH-Flags: 0 X-CTCH-ScoreCust: 0.000 X-CSC: 0 X-CHA: v=2.3 cv=TbLoSiYh c=1 sm=1 tr=0 a=rXevXwunHxhYrmnhJinORQ==:117 a=rXevXwunHxhYrmnhJinORQ==:17 a=jpOVt7BSZ2e4Z31A5e1TngXxSK0=:19 a=kj9zAlcOel0A:10 a=M51BFTxLslgA:10 a=OTf87VpxlgCW17UmtaMA:9 a=CjuIK1q_8ugA:10 a=pHzHmUro8NiASowvMSCR:22 a=Ew2E2A-JSTLzCXPT_086:22 X-Spam-Score: 0.3 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) 4 nov. 2019 kl. 19.27 skrev martin rudalics : > If you bind it to the control key you should at least be able to pop > up the buffer menu yourself if the up event occurs at the same > position as the down event. >=20 > But here I can simply do >=20 > (global-set-key [C-down-mouse-1] 'mouse-drag-region) > (global-set-key [C-drag-mouse-1] 'mouse-set-region) > (global-set-key [C-mouse-1] 'mouse-buffer-menu) >=20 > and get both, normal mouse dragging and the buffer menu. What more > would you need? The rectangle-mark code can perhaps be rewritten to work that way, but = doesn't it force the pop-up menu to be used with = click-release-select-click-release instead of the quicker = click-select-release? From unknown Sat Jun 21 05:17:43 2025 X-Loop: help-debbugs@gnu.org Subject: bug#38013: [PATCH] Rectangular region selection with mouse Resent-From: martin rudalics Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 05 Nov 2019 09:36:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 38013 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= Cc: Eli Zaretskii , 38013@debbugs.gnu.org Received: via spool by 38013-submit@debbugs.gnu.org id=B38013.15729465487625 (code B ref 38013); Tue, 05 Nov 2019 09:36:02 +0000 Received: (at 38013) by debbugs.gnu.org; 5 Nov 2019 09:35:48 +0000 Received: from localhost ([127.0.0.1]:37879 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iRvFc-0001yu-4E for submit@debbugs.gnu.org; Tue, 05 Nov 2019 04:35:48 -0500 Received: from mout.gmx.net ([212.227.17.22]:43319) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iRvFZ-0001yf-QY for 38013@debbugs.gnu.org; Tue, 05 Nov 2019 04:35:47 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1572946533; bh=6ToxR1gjme7PgVFwupcMVhPPkx4MHJqD9VmlccBUKj8=; h=X-UI-Sender-Class:Subject:To:Cc:References:From:Date:In-Reply-To; b=fJdohI2Pz/sX/nKiPPiv/ilLIRlZvmCRLcM14HPJcErDCTeyS1ruHIqWuzwVh2t9y t3EATvm4Mi85x5aeFVOlJRsBuqgZLG0ZUUTvQqlC0jOVEJMc4b1h/16qk6P0tY++V8 nYX5IkJQCrCz+bFLt+7ic5/Z4zcDOt8jMA0LeEN4= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from [192.168.1.104] ([46.125.249.39]) by mail.gmx.com (mrgmx104 [212.227.17.168]) with ESMTPSA (Nemesis) id 1M7b6b-1iZNVI1wLd-0085nK; Tue, 05 Nov 2019 10:35:33 +0100 References: <83lft0m3ug.fsf@gnu.org> <3541E0E8-9E33-4FBD-B0D9-DFF77C241F6F@acm.org> <83y2wzlorw.fsf@gnu.org> <83v9s3lo5f.fsf@gnu.org> <75EC4FBC-F636-4D75-BAC4-982D85188794@acm.org> <9b9222ad-ead7-d0a0-0602-780d0680f070@gmx.at> <6bf229f4-c22f-c3c2-5158-5235f908de3c@gmx.at> From: martin rudalics Message-ID: <8ec84837-172c-1ce5-cab0-b4c96a86274e@gmx.at> Date: Tue, 5 Nov 2019 10:35:30 +0100 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: de-AT Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:SFC0HpfAfZJFDWyrtq7BJcuk7/ynf4zg3hKDDfhEXNWJsof4OWI es0lHT9bKSEorRqpmXdYUmignu8jPc96A019I0wSVRTrlV5No0aA4Q5sHBcxAF2bmCH8sJY 549fZQf3ATLtgUtQwvoC0QlDKB3fWkAAk0snUUkA0jtiBudPFtwBeEhxb4evFCSzSHyK4AE 4rmg2wD/s2zZiGjuYfRsQ== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:usIYeFMAMkY=:ZxyeiQWw41h0OlUsNu+cxs 3KgSAO5kzrOjBg0UvxiHQjOQhnYcrhevidZ6pmwAx4JtPjUwvIOf+KomSdL2wI1dOeC4fJ7UD ItYLsthnqg5YCLLtK9PrkcTXCzqmgZi2rlo2VQNizrcFjXemGhSvAzb+O4AHK5v6tP3CVFTur FRTvXDOPmmASZa5GkmnJMXgjpxnjjMX8uej3A4dpcIGI5UEUXGnziLu00AkQoqOXJidYsaQ0e XZcyVbAar6TdAdO/2+rrC7sGc/wXdUz0qKjyVR9MZ8WFrqTsRB4tIUFSPn16ebuzvfFTqlX8X Po2ADrVVCPSidnxKahnBhDPmoKGfS5phymvfcglIQT+4ZiY0PIETBx8Xj8jYPZaBgG8QzNeOg yfctDai+5WZN7xu/sVubfQNphduqqyERwvY+PWEzZ24TSrJSRXnIcYWCVqkcGKKyi7PS2vT2P WlLOP3Y3yiHyxigirrMn/5V70zQg3J5JDvw/qdkUJ0XX3PNSHyXDUAqX7qoe93BOirFZBCrG7 2ondFzLZbGi5hDgDeyIkUsU893EJtMzYob0h1YR/MRoxozv46/aBJOzZAWp5VYZaXGC/9kW77 c3U2dJGS36ASLEXoiSKEWE4uNeJTcVSIVEnNN8jGr2/x5LrO8v8Nfw1Momw6DckSBnKQxExWg yTnFxjADXfw+7CHKRBFRSBAbJsrvLw0m5Fwhbpio2XSibfchmNA3BWrzeaMOfj875V94jBf5E AXywOY1zhOSoQIbmJJT/9SydhJtMHLeAp80Uuzad15um0FTbIrdom1yUXRCST9BQApw1Lk00Q rmCVzN+Ggl2naBuw9awi1QvSQHdRwd2mB+Y1SfjN//MDuSMZIB/jWWR9mE8Gcw0IZe6Ta836C KH7b58Ifj+BZU23U2m0GE+9KnkoKpybWt/BPDOXeDGfmwbygnflzmCECjobq3Up0xikT/51iK aOxrA1WtIvebh9zCgM+bmXU9sxpQl8lYdTmEGmIh1/S+XDBUELMfTBSwDwr9OiWhFzbpSQxMe jKKco4eLeixaUlqnZQFNjt+LWg1HL8QWmArEXiRQQxETfzctI3WJDbmQ3pPq9E+JsWMl8+9tp WDg0GQIPYzWJdtk40jgQu24LA9RElXaqHvfFRAngeR+yOFuK5zhgJlboIcYOJ3+pCQmATBb8O Oy9RD0qDL+9b4eWTUsq8NdkNjHjPIBa1EJRLPfRmrmkHyzwA8+0HKJBwwe2QQ3e9qXUgecC7v fDa/u6GgR+Bol6e0oJUrFn4ysW0Yzj3NJ1pM+qg== X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) > The rectangle-mark code can perhaps be rewritten to work that way, Any code based on mouse dragging should be written in such way that the corresponding click event can be easily handed over to a separate command. That's what the drag- prefix is for. > but doesn't it force the pop-up menu to be used with > click-release-select-click-release instead of the quicker > click-select-release? Yes and I think that the former is the correct and expected behavior. I don't use the buffer menu but if I did I were much more annoyed by the fact that when I abandon the selection by clicking somewhere else I get an active region which I then have to click away in a further step. Note that even the Emacs manual itself confuses down-mouse events and clicks as =E2=80=98C-mouse-1=E2=80=99 This menu is for selecting a buffer. The MSB (=E2=80=9Cmouse select buffer=E2=80=9D) global minor mode m= akes this menu smarter and more customizable. *Note Buffer Menus::. and It replaces the =E2=80=98mouse-buffer-menu=E2=80=99 commands, normally= bound to =E2=80=98C-Down-mouse-1=E2=80=99 IMHO the rule should be that non-dragging commands are always bound to clicks (including double and triple ones) and never to a down- event. The menu bar might be an exception (Firefox even pops up an entry when the mouse just hovers over it) but the various (non-)toolkits Emacs uses for it apparently defeat a common unified behavior anway. And personally, I'd reserve C-drag-mouse for marking arbitrary non-contiguous text (like, for example, Firefox does) and use C-S-drag-mouse for marking rectangular regions. martin From unknown Sat Jun 21 05:17:43 2025 X-Loop: help-debbugs@gnu.org Subject: bug#38013: [PATCH] Rectangular region selection with mouse Resent-From: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 07 Nov 2019 17:49:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 38013 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: martin rudalics Cc: Eli Zaretskii , 38013@debbugs.gnu.org Received: via spool by 38013-submit@debbugs.gnu.org id=B38013.157314891215951 (code B ref 38013); Thu, 07 Nov 2019 17:49:02 +0000 Received: (at 38013) by debbugs.gnu.org; 7 Nov 2019 17:48:32 +0000 Received: from localhost ([127.0.0.1]:43872 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iSltY-00049D-4B for submit@debbugs.gnu.org; Thu, 07 Nov 2019 12:48:32 -0500 Received: from mail237c50.megamailservers.eu ([91.136.10.247]:56084 helo=mail56c50.megamailservers.eu) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iSltV-000492-NS for 38013@debbugs.gnu.org; Thu, 07 Nov 2019 12:48:30 -0500 X-Authenticated-User: mattiase@bredband.net DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=megamailservers.eu; s=maildub; t=1573148906; bh=sCNHJpQtOOpQK5O4XzcD1AGbL6xvGPvyVmngcAyW+H4=; h=From:Subject:Date:In-Reply-To:Cc:To:References:From; b=NEkiFzmlBttrZaC5r6nWjElXuNpCBeIXsvZ1zgJGuScrQa9LS1g9yp7j0yNcZFZq2 J/FA5V9vixyfk8GqaZ+LbT1nUH9U7q5whNhERCDMFxNQHehDghzEs46196i/cUNqXd eH/CehbBoLM/IvZUKFPIBfEcwI/bQZj73/tSgT8c= Feedback-ID: mattiase@acm.or Received: from [192.168.1.64] (c-4c48e655.032-75-73746f71.bbcust.telenor.se [85.230.72.76]) (authenticated bits=0) by mail56c50.megamailservers.eu (8.14.9/8.13.1) with ESMTP id xA7HmOPa021916; Thu, 7 Nov 2019 17:48:25 +0000 From: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= Message-Id: <411EAB4E-B666-4263-8514-5F47391268B1@acm.org> Content-Type: multipart/mixed; boundary="Apple-Mail=_076F2AB6-3450-47BA-BE6E-541D2CBFC637" Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\)) Date: Thu, 7 Nov 2019 18:48:21 +0100 In-Reply-To: <8ec84837-172c-1ce5-cab0-b4c96a86274e@gmx.at> References: <83lft0m3ug.fsf@gnu.org> <3541E0E8-9E33-4FBD-B0D9-DFF77C241F6F@acm.org> <83y2wzlorw.fsf@gnu.org> <83v9s3lo5f.fsf@gnu.org> <75EC4FBC-F636-4D75-BAC4-982D85188794@acm.org> <9b9222ad-ead7-d0a0-0602-780d0680f070@gmx.at> <6bf229f4-c22f-c3c2-5158-5235f908de3c@gmx.at> <8ec84837-172c-1ce5-cab0-b4c96a86274e@gmx.at> X-Mailer: Apple Mail (2.3445.104.11) X-CTCH-RefID: str=0001.0A0B020B.5DC458EA.004B, ss=1, re=0.000, recu=0.000, reip=0.000, cl=1, cld=1, fgs=0 X-CTCH-VOD: Unknown X-CTCH-Spam: Unknown X-CTCH-Score: 0.000 X-CTCH-Rules: X-CTCH-Flags: 0 X-CTCH-ScoreCust: 0.000 X-CSC: 0 X-CHA: v=2.3 cv=Hc1qsRM8 c=1 sm=1 tr=0 a=1rTi8g4bvmsLpnurc7XrhA==:117 a=1rTi8g4bvmsLpnurc7XrhA==:17 a=jpOVt7BSZ2e4Z31A5e1TngXxSK0=:19 a=M51BFTxLslgA:10 a=gYDgUnLjrNg4IJ_HIQUA:9 a=7Zwj6sZBwVKJAoWSPKxL6X1jA+E=:19 a=w19t9apjiSXs1-J1:21 a=_PcsQSoJFxjLED8S:21 a=CjuIK1q_8ugA:10 a=uChYRsm3G7wJh8dgyGYA:9 a=B2y7HmGcmWMA:10 a=tclcd6dtLQvEqt9_mmAA:9 a=pHzHmUro8NiASowvMSCR:22 a=Ew2E2A-JSTLzCXPT_086:22 X-Spam-Score: 0.3 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) --Apple-Mail=_076F2AB6-3450-47BA-BE6E-541D2CBFC637 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii 5 nov. 2019 kl. 10.35 skrev martin rudalics : > Any code based on mouse dragging should be written in such way that > the corresponding click event can be easily handed over to a separate > command. That's what the drag- prefix is for. All right, I re-wrote the patch to allow for independent use for = X-mouse-N, but... > > but doesn't it force the pop-up menu to be used with > > click-release-select-click-release instead of the quicker > > click-select-release? >=20 > Yes and I think that the former is the correct and expected behavior. > I don't use the buffer menu but if I did I were much more annoyed by > the fact that when I abandon the selection by clicking somewhere else > I get an active region which I then have to click away in a further > step. I don't think so; being able to select from a menu with a single = dragging movement is not only more ergonomic, it's the expected = behaviour of pop-up menus. mouse.el even contains a comment to that = effect: ;; By binding these to down-going events, we let the user use the = up-going ;; event to make the selection, saving a click. You can try for yourself: with the patch applied, bind M-mouse-1 to a = menu: (global-set-key [M-mouse-1] 'mouse-buffer-menu) Now a single meta-click will open the menu, and meta-drag will mark a = rectangle. This sort of multiplexing doesn't feel right, and affects = both uses negatively. For example, suppose you have marked a rectangle and change your mind. = Intuitively, you will click somewhere to make the mark go away, using = the same modifiers. But that doesn't work, because now you get a pop-up = menu. > IMHO the rule should be that non-dragging commands are always bound to > clicks (including double and triple ones) and never to a down- event. My patch now follows that rule, but it doesn't seem to solve any = problem. > And personally, I'd reserve C-drag-mouse for marking arbitrary > non-contiguous text (like, for example, Firefox does) and use > C-S-drag-mouse for marking rectangular regions. Emacs's mouse bindings seem rather haphazard and organised mainly on the = principle of first-come, enshrining a fair bit of historical baggage. = For example, there are two different buffer menus (one for font and one = for everything else). There is also the secondary selection, of which = there seems to be much fewer actual users than people who just want to = know how to disable it. We could do worse than following some conventions that have become more = or less universal, such as right-clicking (control-click on macOS) for a = context menu. That said, do you have any particular reason (precedence, ergonomics) = for suggesting control-shift? I'd rather use meta and move secondary = selection to shift-meta (say). (As before, the attached patch uses meta but that is just a placeholder = and should not be interpreted as the final word.) --Apple-Mail=_076F2AB6-3450-47BA-BE6E-541D2CBFC637 Content-Disposition: attachment; filename=0001-Mouse-rectangular-region-selection-bug-38013.patch Content-Type: application/octet-stream; x-unix-mode=0644; name="0001-Mouse-rectangular-region-selection-bug-38013.patch" Content-Transfer-Encoding: quoted-printable =46rom=200d71173e6409de45629806b10cc11f6f06c7c992=20Mon=20Sep=2017=20= 00:00:00=202001=0AFrom:=20=3D?UTF-8?q?Mattias=3D20Engdeg=3DC3=3DA5rd?=3D=20= =0ADate:=20Fri,=2025=20Oct=202019=2011:16:39=20+0200=0A= Subject:=20[PATCH]=20Mouse=20rectangular=20region=20selection=20= (bug#38013)=0A=0AMake=20it=20possible=20to=20select=20a=20rectangular=20= region=20using=20the=20mouse.=0AThe=20modifier=20is=20customisable=20and=20= defaults=20to=20meta.=0AThe=20modifier=20for=20mouse=20secondary=20= selection=20is=20now=20also=20customisable=20and=0Adefaults=20to=20nil=20= (disabled).=0A=0A*=20lisp/mouse.el=20(mouse-scroll-subr):=20Add=20ADJUST=20= argument.=0A(mouse-drag-region-rectangle):=20New.=0A= (mouse--global-with-modifiers,=20= mouse--set-secondary-selection-bindings)=0A= (mouse-secondary-selection-modifiers)=0A= (mouse--set-rectangular-region-selection-bindings)=0A= (mouse-region-rectangle-modifiers):=20New=20defcustoms=20with=20helper=20= functions.=0A---=0A=20lisp/mouse.el=20|=20150=20= ++++++++++++++++++++++++++++++++++++++++++++++++--=0A=201=20file=20= changed,=20144=20insertions(+),=206=20deletions(-)=0A=0Adiff=20--git=20= a/lisp/mouse.el=20b/lisp/mouse.el=0Aindex=204a351f7be2..2ac9ff3e66=20= 100644=0A---=20a/lisp/mouse.el=0A+++=20b/lisp/mouse.el=0A@@=20-1045,10=20= +1045,12=20@@=20mouse-scroll-min-lines=0A=20of=20lines=20specified=20by=20= this=20variable."=0A=20=20=20:type=20'integer)=0A=20=0A-(defun=20= mouse-scroll-subr=20(window=20jump=20&optional=20overlay=20start)=0A= +(defun=20mouse-scroll-subr=20(window=20jump=20&optional=20overlay=20= start=20adjust)=0A=20=20=20"Scroll=20the=20window=20WINDOW,=20JUMP=20= lines=20at=20a=20time,=20until=20new=20input=20arrives.=0A=20If=20= OVERLAY=20is=20an=20overlay,=20let=20it=20stretch=20from=20START=20to=20= the=20far=20edge=20of=0A=20the=20newly=20visible=20text.=0A+ADJUST,=20if=20= non-nil,=20is=20a=20function,=20without=20arguments,=20to=20call=20after=0A= +setting=20point.=0A=20Upon=20exit,=20point=20is=20at=20the=20far=20edge=20= of=20the=20newly=20visible=20text."=0A=20=20=20(cond=0A=20=20=20=20((and=20= (>=20jump=200)=20(<=20jump=20mouse-scroll-min-lines))=0A@@=20-1077,6=20= +1079,8=20@@=20mouse-scroll-subr=0A=20=09=09=20=20=20;;=20so=20that=20we=20= don't=20mess=20up=20the=20selected=20window.=0A=20=09=09=20=20=20(or=20= (eq=20window=20(selected-window))=0A=20=09=09=20=20=20=20=20=20=20= (goto-char=20opoint))=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20(when=20adjust=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20(funcall=20adjust))=0A=20=09=09=20=20=20(sit-for=20= mouse-scroll-delay)))))=0A=20=20=20=20=20(or=20(eq=20window=20= (selected-window))=0A=20=09(goto-char=20opoint))))=0A@@=20-1666,11=20= +1670,40=20@@=20mouse-save-then-kill=0A=20=20=20=20=20=20=20(setq=20= mouse-save-then-kill-posn=20click-pt)))))=0A=20=0A=20=0C=0A= -(global-set-key=20[M-mouse-1]=20'mouse-start-secondary)=0A= -(global-set-key=20[M-drag-mouse-1]=20'mouse-set-secondary)=0A= -(global-set-key=20[M-down-mouse-1]=20'mouse-drag-secondary)=0A= -(global-set-key=20[M-mouse-3]=20'mouse-secondary-save-then-kill)=0A= -(global-set-key=20[M-mouse-2]=20'mouse-yank-secondary)=0A+(defun=20= mouse--global-with-modifiers=20(base=20modifiers=20command)=0A+=20=20= "Globally=20bind=20BASE=20+=20MODIFIERS=20to=20COMMAND."=0A+=20=20= (global-set-key=20(vector=20(event-convert-list=20(append=20modifiers=20= (list=20base))))=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= command))=0A+=0A+(defun=20mouse--set-secondary-selection-bindings=20= (mods=20activate)=0A+=20=20"Set=20global=20mouse=20bindings=20using=20= MODS=20for=20secondary=20selection.=0A+If=20ACTIVATE=20is=20nil,=20= remove=20those=20bindings."=0A+=20=20(when=20mods=0A+=20=20=20=20= (mouse--global-with-modifiers=0A+=20=20=20=20=20'mouse-1=20mods=20(and=20= activate=20'mouse-start-secondary))=0A+=20=20=20=20= (mouse--global-with-modifiers=0A+=20=20=20=20=20'drag-mouse-1=20mods=20= (and=20activate=20'mouse-set-secondary))=0A+=20=20=20=20= (mouse--global-with-modifiers=0A+=20=20=20=20=20'down-mouse-1=20mods=20= (and=20activate=20'mouse-drag-secondary))=0A+=20=20=20=20= (mouse--global-with-modifiers=0A+=20=20=20=20=20'mouse-3=20mods=20(and=20= activate=20'mouse-secondary-save-then-kill))=0A+=20=20=20=20= (mouse--global-with-modifiers=0A+=20=20=20=20=20'mouse-2=20mods=20(and=20= activate=20'mouse-yank-secondary))))=0A+=0A+(defcustom=20= mouse-secondary-selection-modifiers=20'(shift=20meta)=0A+=20=20"The=20= modifier=20keys=20for=20secondary=20selection=20using=20the=20mouse.=0A= +If=20none,=20mouse=20secondary=20selection=20is=20disabled."=0A+=20=20= :group=20'mouse=0A+=20=20:type=20'(set=20(const=20meta)=20(const=20= control)=20(const=20shift)=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20= (const=20super)=20(const=20hyper))=0A+=20=20:version=20"27.1"=0A+=20=20= :set=20(lambda=20(variable=20new-value)=0A+=20=20=20=20=20=20=20=20=20= (when=20(boundp=20'mouse-secondary-selection-modifiers)=0A+=20=20=20=20=20= =20=20=20=20=20=20(mouse--set-secondary-selection-bindings=0A+=20=20=20=20= =20=20=20=20=20=20=20=20mouse-secondary-selection-modifiers=20nil))=0A+=20= =20=20=20=20=20=20=20=20(set-default=20variable=20new-value)=0A+=20=20=20= =20=20=20=20=20=20(mouse--set-secondary-selection-bindings=0A+=20=20=20=20= =20=20=20=20=20=20mouse-secondary-selection-modifiers=20t)))=0A=20=0A=20= (defconst=20mouse-secondary-overlay=0A=20=20=20(let=20((ol=20= (make-overlay=20(point-min)=20(point-min))))=0A@@=20-1960,6=20+1993,111=20= @@=20secondary-selection-from-region=0A=20=20=20=20=20(move-overlay=20= mouse-secondary-overlay=20(region-beginning)=20(region-end))))=0A=20=0A=20= =0C=0A+(defun=20mouse-drag-region-rectangle=20(start-event)=0A+=20=20= "Set=20the=20region=20to=20the=20rectangle=20that=20the=20mouse=20is=20= dragged=20over.=0A+This=20must=20be=20bound=20to=20a=20button-down=20= mouse=20event."=0A+=20=20(interactive=20"e")=0A+=20=20(let*=20= ((scroll-margin=200)=0A+=20=20=20=20=20=20=20=20=20(start-pos=20= (event-start=20start-event))=0A+=20=20=20=20=20=20=20=20=20(start-posn=20= (event-start=20start-event))=0A+=20=20=20=20=20=20=20=20=20(start-point=20= (posn-point=20start-posn))=0A+=20=20=20=20=20=20=20=20=20(start-window=20= (posn-window=20start-posn))=0A+=20=20=20=20=20=20=20=20=20(start-hscroll=20= (window-hscroll=20start-window))=0A+=20=20=20=20=20=20=20=20=20= (start-col=20(+=20(car=20(posn-col-row=20start-pos))=20start-hscroll))=0A= +=20=20=20=20=20=20=20=20=20(bounds=20(window-edges=20start-window))=0A+=20= =20=20=20=20=20=20=20=20(top=20(nth=201=20bounds))=0A+=20=20=20=20=20=20=20= =20=20(bottom=20(if=20(window-minibuffer-p=20start-window)=0A+=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(nth=203=20bounds)=0A= +=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(1-=20(nth=203=20= bounds))))=0A+=20=20=20=20=20=20=20=20=20(dragged=20nil)=0A+=20=20=20=20=20= =20=20=20=20(old-track-mouse=20track-mouse))=0A+=20=20=20=20(setq=20= track-mouse=20t)=0A+=20=20=20=20(set-transient-map=0A+=20=20=20=20=20= (let=20((map=20(make-sparse-keymap)))=0A+=20=20=20=20=20=20=20= (define-key=20map=20[switch-frame]=20#'ignore)=0A+=20=20=20=20=20=20=20= (define-key=20map=20[select-window]=20#'ignore)=0A+=20=20=20=20=20=20=20= (define-key=20map=20[mouse-movement]=0A+=20=20=20=20=20=20=20=20=20= (lambda=20(event)=0A+=20=20=20=20=20=20=20=20=20=20=20(interactive=20= "e")=0A+=20=20=20=20=20=20=20=20=20=20=20(unless=20dragged=0A+=20=20=20=20= =20=20=20=20=20=20=20=20=20;;=20This=20is=20actually=20a=20drag.=0A+=20=20= =20=20=20=20=20=20=20=20=20=20=20(mouse-minibuffer-check=20start-event)=0A= +=20=20=20=20=20=20=20=20=20=20=20=20=20(deactivate-mark)=0A+=20=20=20=20= =20=20=20=20=20=20=20=20=20(posn-set-point=20start-pos)=0A+=20=20=20=20=20= =20=20=20=20=20=20=20=20(rectangle-mark-mode)=0A+=20=20=20=20=20=20=20=20= =20=20=20=20=20;;=20Tell=20the=20rectangle=20selection=20about=20the=20= exact=20column,=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20;;=20since=20= it=20might=20not=20correspond=20exactly=20to=20a=20valid=0A+=20=20=20=20=20= =20=20=20=20=20=20=20=20;;=20position=20in=20the=20text.=0A+=20=20=20=20=20= =20=20=20=20=20=20=20=20(rectangle--col-pos=20start-col=20'mark)=0A+=20=20= =20=20=20=20=20=20=20=20=20=20=20(rectangle--col-pos=20start-col=20= 'point)=0A+=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20(setq=20dragged=20= t))=0A+=0A+=20=20=20=20=20=20=20=20=20=20=20(let*=20((posn=20(event-end=20= event))=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(window=20= (posn-window=20posn))=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20(hscroll=20(if=20(window-live-p=20window)=0A+=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= (window-hscroll=20window)=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=200))=0A+=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20(mouse-pos=20(mouse-position))=0A+=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(mouse-col=20(+=20(cadr=20= mouse-pos)=20hscroll))=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20(mouse-row=20(cddr=20mouse-pos)))=0A+=20=20=20=20=20=20=20=20=20=20= =20=20=20(if=20(and=20(eq=20window=20start-window)=0A+=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20mouse-row=0A+=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(<=3D=20top=20= mouse-row=20(1-=20bottom)))=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20;;=20Drag=20inside=20the=20same=20window.=0A+=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20(progn=0A+=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20(posn-set-point=20posn)=0A+=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20(rectangle--col-pos=20mouse-col=20= 'point))=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20;;=20Drag=20= outside=20the=20window:=20scroll.=0A+=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20(cond=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20((null=20= mouse-row))=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20((<=20= mouse-row=20top)=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= (mouse-scroll-subr=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20start-window=20(-=20mouse-row=20top)=20nil=20start-point=0A+=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20(lambda=20()=20= (rectangle--col-pos=20mouse-col=20'point))))=0A+=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20((>=3D=20mouse-row=20bottom)=0A+=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20(mouse-scroll-subr=0A+=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20start-window=20(1+=20(-=20mouse-row=20= bottom))=20nil=20start-point=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20(lambda=20()=20(rectangle--col-pos=20mouse-col=20= 'point)))))))))=0A+=20=20=20=20=20=20=20map)=0A+=20=20=20=20=20t=0A+=20=20= =20=20=20(lambda=20()=0A+=20=20=20=20=20=20=20(setq=20track-mouse=20= old-track-mouse)=0A+=20=20=20=20=20=20=20(when=20(or=20(not=20dragged)=0A= +=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(not=20(mark))=0A+=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(equal=20= (rectangle-dimensions=20(mark)=20(point))=20'(0=20.=201)))=0A+=20=20=20=20= =20=20=20=20=20;;=20No=20nontrivial=20region=20selected;=20deactivate=20= rectangle=20mode.=0A+=20=20=20=20=20=20=20=20=20(deactivate-mark))))))=0A= +=0A+(defun=20mouse--set-rectangular-region-selection-bindings=20(mods=20= activate)=0A+=20=20"Set=20global=20mouse=20bindings=20using=20MODS=20for=20= rectangular=20selection.=0A+If=20ACTIVATE=20is=20nil,=20remove=20those=20= bindings."=0A+=20=20(when=20mods=0A+=20=20=20=20;;=20For=20rectangular=20= selection=20to=20work,=20down-mouse-N=20must=20be=20bound=20to=0A+=20=20=20= =20;;=20`mouse-drag-region-rectangle',=20and=20drag-mouse-N=20to=20= ignore.=0A+=20=20=20=20;;=20mouse-N=20can=20be=20bound=20to=20anything=20= but=20`mouse-set-selection'=20is=0A+=20=20=20=20;;=20probably=20the=20= most=20ergonomic=20binding.=0A+=20=20=20=20(mouse--global-with-modifiers=20= 'down-mouse-1=20mods=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(and=20activate=20= 'mouse-drag-region-rectangle))=0A+=20=20=20=20= (mouse--global-with-modifiers=20'drag-mouse-1=20mods=0A+=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20(and=20activate=20'ignore))))=0A+=0A+(defcustom=20= mouse-region-rectangle-modifiers=20'(meta)=0A+=20=20"The=20modifier=20= keys=20for=20rectangular=20region=20selection=20using=20the=20mouse.=0A= +If=20none,=20mouse=20rectangular=20region=20selection=20is=20disabled."=0A= +=20=20:group=20'mouse=0A+=20=20:type=20'(set=20(const=20meta)=20(const=20= control)=20(const=20shift)=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20= (const=20super)=20(const=20hyper))=0A+=20=20:version=20"27.1"=0A+=20=20= :set=20(lambda=20(variable=20new-value)=0A+=20=20=20=20=20=20=20=20=20= (when=20(boundp=20'mouse-region-rectangle-modifiers)=0A+=20=20=20=20=20=20= =20=20=20=20=20(mouse--set-rectangular-region-selection-bindings=0A+=20=20= =20=20=20=20=20=20=20=20=20=20mouse-region-rectangle-modifiers=20nil))=0A= +=20=20=20=20=20=20=20=20=20(set-default=20variable=20new-value)=0A+=20=20= =20=20=20=20=20=20=20(mouse--set-rectangular-region-selection-bindings=0A= +=20=20=20=20=20=20=20=20=20=20mouse-region-rectangle-modifiers=20t)))=0A= +=0A+=0C=0A=20(defcustom=20mouse-buffer-menu-maxlen=2020=0A=20=20=20= "Number=20of=20buffers=20in=20one=20pane=20(submenu)=20of=20the=20buffer=20= menu.=0A=20If=20we=20have=20lots=20of=20buffers,=20divide=20them=20into=20= groups=20of=0A--=20=0A2.21.0=20(Apple=20Git-122)=0A=0A= --Apple-Mail=_076F2AB6-3450-47BA-BE6E-541D2CBFC637 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=us-ascii --Apple-Mail=_076F2AB6-3450-47BA-BE6E-541D2CBFC637-- From unknown Sat Jun 21 05:17:43 2025 X-Loop: help-debbugs@gnu.org Subject: bug#38013: [PATCH] Rectangular region selection with mouse Resent-From: Drew Adams Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 07 Nov 2019 17:54:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 38013 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= , martin rudalics Cc: 38013@debbugs.gnu.org Received: via spool by 38013-submit@debbugs.gnu.org id=B38013.157314920216428 (code B ref 38013); Thu, 07 Nov 2019 17:54:02 +0000 Received: (at 38013) by debbugs.gnu.org; 7 Nov 2019 17:53:22 +0000 Received: from localhost ([127.0.0.1]:43877 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iSlyD-0004Gu-Ui for submit@debbugs.gnu.org; Thu, 07 Nov 2019 12:53:22 -0500 Received: from userp2130.oracle.com ([156.151.31.86]:48794) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iSlyB-0004Gg-Dr for 38013@debbugs.gnu.org; Thu, 07 Nov 2019 12:53:19 -0500 Received: from pps.filterd (userp2130.oracle.com [127.0.0.1]) by userp2130.oracle.com (8.16.0.27/8.16.0.27) with SMTP id xA7Hj1Jx030129; Thu, 7 Nov 2019 17:53:12 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=mime-version : message-id : date : from : sender : to : cc : subject : references : in-reply-to : content-type : content-transfer-encoding; s=corp-2019-08-05; bh=U8+nSnMNYSZB0zSS3Sw+QrxTw8UV4LKG5JNL4CZOt0U=; b=aa+60+V03YKkkQy3hsWzf+sErOvg3kKcZNyMJre+/MI6EohhKJWsAUKr3Bmr9kvgzZ6c dhc9elNXduZRvSHWjfRhOa7cVqpHLCM+dwkLzzlahHrpKKcNn61fK536Z046wXQpWpth aXDxRvSANRG8BGu6WXrWous94hseCiHlYyjhdbkuljVq0YjtGr6ted2TgAgxCjUgY/nD la2jo0jQXacwZub0TRB3qBQwg6Qp9Xdz+156YIFbPbiwm/Cdxb5likxvxNOfwmj7Q9jV LF1n83U7tuwzloMeg0QV43CM1IQYRdAuaW0iRX5WBkidNYAvTYKX8Rbik3ScQ1L2MaD0 ZA== Received: from userp3030.oracle.com (userp3030.oracle.com [156.151.31.80]) by userp2130.oracle.com with ESMTP id 2w41w17y6m-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 07 Nov 2019 17:53:12 +0000 Received: from pps.filterd (userp3030.oracle.com [127.0.0.1]) by userp3030.oracle.com (8.16.0.27/8.16.0.27) with SMTP id xA7Hj8QW077023; Thu, 7 Nov 2019 17:53:12 GMT Received: from aserv0121.oracle.com (aserv0121.oracle.com [141.146.126.235]) by userp3030.oracle.com with ESMTP id 2w41wackcq-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 07 Nov 2019 17:53:11 +0000 Received: from abhmp0009.oracle.com (abhmp0009.oracle.com [141.146.116.15]) by aserv0121.oracle.com (8.14.4/8.13.8) with ESMTP id xA7Hr6eu008875; Thu, 7 Nov 2019 17:53:09 GMT MIME-Version: 1.0 Message-ID: Date: Thu, 7 Nov 2019 09:53:05 -0800 (PST) From: Drew Adams References: <83lft0m3ug.fsf@gnu.org> <3541E0E8-9E33-4FBD-B0D9-DFF77C241F6F@acm.org> <83y2wzlorw.fsf@gnu.org> <83v9s3lo5f.fsf@gnu.org> <75EC4FBC-F636-4D75-BAC4-982D85188794@acm.org> <9b9222ad-ead7-d0a0-0602-780d0680f070@gmx.at> <6bf229f4-c22f-c3c2-5158-5235f908de3c@gmx.at> <8ec84837-172c-1ce5-cab0-b4c96a86274e@gmx.at> <411EAB4E-B666-4263-8514-5F47391268B1@acm.org> In-Reply-To: <411EAB4E-B666-4263-8514-5F47391268B1@acm.org> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9.1 (1003210) [OL 16.0.4900.0 (x86)] Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9434 signatures=668685 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 mlxscore=0 mlxlogscore=990 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1910280000 definitions=main-1911070165 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9434 signatures=668685 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 priorityscore=1501 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1910280000 definitions=main-1911070165 X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > All right, I re-wrote the patch to allow for > independent use for X-mouse-N, but... I have the same comments as before, FWIW. My latest question was why we would add all of that stuff - options for choosing modifiers etc. _Users have control_ over key bindings now. Just what's the point of adding this other stuff? And what exactly does that have to do with selecting a rectangular region with the mouse? Why should that be mixed in with providing the possibility of using a mouse to select a rectangular region? And why provide any binding, by default, for doing that? The feature hasn't even been introduced to users yet. Why would we sacrifice a default binding for it at this time? From unknown Sat Jun 21 05:17:43 2025 X-Loop: help-debbugs@gnu.org Subject: bug#38013: [PATCH] Rectangular region selection with mouse Resent-From: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 07 Nov 2019 18:28:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 38013 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Drew Adams Cc: martin rudalics , 38013@debbugs.gnu.org Received: via spool by 38013-submit@debbugs.gnu.org id=B38013.157315126319906 (code B ref 38013); Thu, 07 Nov 2019 18:28:02 +0000 Received: (at 38013) by debbugs.gnu.org; 7 Nov 2019 18:27:43 +0000 Received: from localhost ([127.0.0.1]:43904 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iSmVS-0005Az-AM for submit@debbugs.gnu.org; Thu, 07 Nov 2019 13:27:43 -0500 Received: from mail210c50.megamailservers.eu ([91.136.10.220]:52658 helo=mail194c50.megamailservers.eu) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iSmVN-0005Ap-S5 for 38013@debbugs.gnu.org; Thu, 07 Nov 2019 13:27:38 -0500 X-Authenticated-User: mattiase@bredband.net DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=megamailservers.eu; s=maildub; t=1573151255; bh=x2r9lxw7A+i7ybhwLGbb4n0Qu34pMiChh2f2OxIqzpI=; h=Subject:From:In-Reply-To:Date:Cc:References:To:From; b=a7pgo8rbyUxdLVyjzMMYQHb28cRwpegzPtUv85ikXaGg3UUsAsIa+YLvBB3Q0vdmT gE236f3BDTmupkVV94aqrafNyEPSZlyjeW1sSSv2g1PVRTgv1ZEU0AOtuFPhbBhxPn gWVLFOTHNcYF5EXdEvWBkS2mh8d45HL7jW5RCH8o= Feedback-ID: mattiase@acm.or Received: from [192.168.1.64] (c-4c48e655.032-75-73746f71.bbcust.telenor.se [85.230.72.76]) (authenticated bits=0) by mail194c50.megamailservers.eu (8.14.9/8.13.1) with ESMTP id xA7IRXjJ004368; Thu, 7 Nov 2019 18:27:35 +0000 Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\)) From: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= X-Priority: 3 In-Reply-To: Date: Thu, 7 Nov 2019 19:27:33 +0100 Content-Transfer-Encoding: quoted-printable Message-Id: <40CAE779-D166-400F-A369-AEC25CF3FF1B@acm.org> References: <83lft0m3ug.fsf@gnu.org> <3541E0E8-9E33-4FBD-B0D9-DFF77C241F6F@acm.org> <83y2wzlorw.fsf@gnu.org> <83v9s3lo5f.fsf@gnu.org> <75EC4FBC-F636-4D75-BAC4-982D85188794@acm.org> <9b9222ad-ead7-d0a0-0602-780d0680f070@gmx.at> <6bf229f4-c22f-c3c2-5158-5235f908de3c@gmx.at> <8ec84837-172c-1ce5-cab0-b4c96a86274e@gmx.at> <411EAB4E-B666-4263-8514-5F47391268B1@acm.org> X-Mailer: Apple Mail (2.3445.104.11) X-CTCH-RefID: str=0001.0A0B020E.5DC46217.005F, ss=1, re=0.000, recu=0.000, reip=0.000, cl=1, cld=1, fgs=0 X-CTCH-VOD: Unknown X-CTCH-Spam: Unknown X-CTCH-Score: 0.000 X-CTCH-Rules: X-CTCH-Flags: 0 X-CTCH-ScoreCust: 0.000 X-CSC: 0 X-CHA: v=2.3 cv=TbLoSiYh c=1 sm=1 tr=0 a=1rTi8g4bvmsLpnurc7XrhA==:117 a=1rTi8g4bvmsLpnurc7XrhA==:17 a=jpOVt7BSZ2e4Z31A5e1TngXxSK0=:19 a=kj9zAlcOel0A:10 a=M51BFTxLslgA:10 a=yPCof4ZbAAAA:8 a=kRwGVbMmZLrHqsYZCAQA:9 a=7Zwj6sZBwVKJAoWSPKxL6X1jA+E=:19 a=CjuIK1q_8ugA:10 a=pHzHmUro8NiASowvMSCR:22 a=Ew2E2A-JSTLzCXPT_086:22 X-Spam-Score: 0.3 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) 7 nov. 2019 kl. 18.53 skrev Drew Adams : > My latest question was why we would add all of that > stuff - options for choosing modifiers etc. _Users > have control_ over key bindings now. Just what's > the point of adding this other stuff? That the least important part of the patch --- it was mainly to make it = easier to change the bindings in a consistent way, since there are = multiple bindings that go together. > And what exactly does that have to do with selecting > a rectangular region with the mouse? Why should that > be mixed in with providing the possibility of using > a mouse to select a rectangular region? The Meta modifier was already used by the secondary selection. Shift or = control could have been used as well; I just picked the one that = appeared to be used the least. It's not worth arguing about either, = particular not at this stage; let's get the basics right first. > And why provide any binding, by default, for doing > that? The feature hasn't even been introduced to > users yet. Why would we sacrifice a default binding > for it at this time? I'm not sure what you mean. Of course rectangular selection needs a = binding. We just have to select one that is less bad than the = alternatives. From unknown Sat Jun 21 05:17:43 2025 X-Loop: help-debbugs@gnu.org Subject: bug#38013: [PATCH] Rectangular region selection with mouse Resent-From: martin rudalics Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 07 Nov 2019 19:10:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 38013 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= Cc: Eli Zaretskii , 38013@debbugs.gnu.org Received: via spool by 38013-submit@debbugs.gnu.org id=B38013.157315375224053 (code B ref 38013); Thu, 07 Nov 2019 19:10:02 +0000 Received: (at 38013) by debbugs.gnu.org; 7 Nov 2019 19:09:12 +0000 Received: from localhost ([127.0.0.1]:43924 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iSn9c-0006Ft-Ht for submit@debbugs.gnu.org; Thu, 07 Nov 2019 14:09:12 -0500 Received: from mout.gmx.net ([212.227.15.15]:49831) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iSn9a-0006Fd-4Z for 38013@debbugs.gnu.org; Thu, 07 Nov 2019 14:09:11 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1573153739; bh=ZDLJkwqjzU2r3+MUqlS/PWH7VdBYWzeMtiN3PBr35rM=; h=X-UI-Sender-Class:Subject:To:Cc:References:From:Date:In-Reply-To; b=N9aUVdQ22sfGT8J3J68lkrg/IemcwMPfVIXfYH1TkNMz6GkBfHvmxi0//HZRmEwEL kZHQbicMYUmskb1nLEBq9TyPblBrIHsjcTJIWxpO1zYn6CRbK++NmhGGWpkMDx0tpC r6myvOb+K2P54uptXDUnd6aWQqFoTG0Dcv+oa3+A= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from [192.168.1.100] ([212.95.5.189]) by mail.gmx.com (mrgmx005 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MD9T1-1ibpZi0QqX-009CWZ; Thu, 07 Nov 2019 20:08:59 +0100 References: <83lft0m3ug.fsf@gnu.org> <3541E0E8-9E33-4FBD-B0D9-DFF77C241F6F@acm.org> <83y2wzlorw.fsf@gnu.org> <83v9s3lo5f.fsf@gnu.org> <75EC4FBC-F636-4D75-BAC4-982D85188794@acm.org> <9b9222ad-ead7-d0a0-0602-780d0680f070@gmx.at> <6bf229f4-c22f-c3c2-5158-5235f908de3c@gmx.at> <8ec84837-172c-1ce5-cab0-b4c96a86274e@gmx.at> <411EAB4E-B666-4263-8514-5F47391268B1@acm.org> From: martin rudalics Message-ID: <2df02c1f-fea4-f764-eba6-fd67de581755@gmx.at> Date: Thu, 7 Nov 2019 20:08:55 +0100 MIME-Version: 1.0 In-Reply-To: <411EAB4E-B666-4263-8514-5F47391268B1@acm.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: de-AT Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K1:JDajV6kJdueaFA4LlYsKwqvATwQOchXgtyS3NT2/pTgYknoeE5n iDOnfkUR+czF+sAzoIPMGu1BYFcJG0dw32x32FkU92R0yzAvMZpxX2KeA9V/JHPC5tIu/Nk AYtG7EMzMezNnLyY1kelzhejQ+TEZ+rdOYw4RUyqc3ip+mqesEjX2jJC8epVhzzCNQ05tBr 0+qczRzmXZE9y2HSOUUiQ== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:RsaQc7Vvk8s=:8p7YBY1a4lIR/w/ZQYCsOE bzPdNegN15v4AE3CZxcAH2vmmZ2PMpF4ca13LFjwRKm37AW62U1c7WPOEgbRaWidLhNQ6z37R 8SHU4Rbui1NOhZOCq+SzDX6ODJvtuVtKEieiw3YGDyCaloIJ33cdBrF/BfAT42vbIEaaEdfQ3 b2XrOaT5sJ2Ptsr4bFfGkIL10BXqJEakSvPuWrq7UDAI8dryKoAxqHglgtxLjBnlDnyxMCgyR 7fyMNjiV7bfqD6/dezYkcv/zxEZ0SqiNBtPvgCoxgpTI77BkwA0B/d3Y6xXaj3zmaoc5DTpri S5l+cW/tn04ifWM7eEk4jh7frhhrOzULwGeXn2NvBt6CpQjDYGKvDWIdDhizoYxOD3cHugU0m 8RSkV2Vh3CgQhvqoUuKnly0Lie1gT4IhdqhtTfF7OxOyIAi2I5mLl5lgO9TNNl3AOYvDx79K+ VR/PBWcwaTNMZiF/sPRF7zZDIzAbf8YlHW2zHiXwt1lDJdAsH4kBMVsLAcSx4ripnN1YpBxSQ YkaS4DVZrMisHJ/AOCSv74Z0/pxA867fbh9bsrMaJESRe/h3VK6d5YGqhqsxskBNVb1klptBn lp2bLEub8P2TChFsy8qVt6d3UqoiLbeCkmaN0qqhXl2OOKotHW155LNJemarxeNwHQOuHLD7f 2iWlsfleyOeZ5AL3jzuSZ3vc3mi6avHLwzXbSoctHmwYVxbAaaYHIeJskKIUAAHhZ4xQe616x psSGdr6bCcjkPvy6Z48NeJXImaUSviecBD4ty2G+p2qUMA8jrmD05mW0tDtkQK5J825Lw+Hp7 6gZ6ybTwl23slLPoq1OLgY8sLXWrYDu943YjJ60g+9CVdrUnU2EQIwBYQ8Z03Sxz7pmHoJx4x d6Icf+m9nCiw0BFq84catOt5Z97gpv2en5X8n9300Z9aowKZQZPs0CK4VfmukbFbttEpoBiUt ZT/8pBYceAasdRH2YwsrDSmg7EAUu8I175ugRU/7yrLcs/DOT4TovYrH36gYiQECFlQodZSZ0 Edp9ciM6LOJ3pYg2KcawDAMO9qsRj9+sn+uNXFTXSE2q6dVDK6ucSlXhxw+7srqDCpkRDBxRX 6Rht23TRhK99JODXlT4j1uSD7jrHtiU+O3f92Za+28Lf+NqJiFJJM1CFbF+vGnMSTdKL/tSZq 6d/dAq9AkaVtTdiKQFMQj+DUInM8SIxXpGg6MoQF/KCyejCKYpgztsnHypfybHUBhl6PdiHjt dPsOZ0DiCd/4W7p5dBszJTy3d6HsLgtgH3orNiczChOGH9sAApEXfIHJtkME= X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) > I don't think so; being able to select from a menu with a single > dragging movement is not only more ergonomic, it's the expected > behaviour of pop-up menus. But by doing so it usurps all combinations of the control key and mouse-1. So we pay a high price for such a small convenience. And since I have never anywhere else seen a "context" menu pop up right after a mouse press I would not consider it the expected behavior. > mouse.el even contains a comment to that > effect: > > ;; By binding these to down-going events, we let the user use the up-going > ;; event to make the selection, saving a click. In all those 25 or more years it hasn't found its way into the Emacs manual though. > You can try for yourself: with the patch applied, bind M-mouse-1 to a menu: > > (global-set-key [M-mouse-1] 'mouse-buffer-menu) > > Now a single meta-click will open the menu, and meta-drag will mark > a rectangle. This sort of multiplexing doesn't feel right, and > affects both uses negatively. But the same "multiplexing" already applies for operating the mouse without any modifiers. And I sometimes use it in a different context: When I prematurely press the mouse button on a browser link, I can always bow out by slightly moving the mouse, thus avoiding the semantics of a click. > For example, suppose you have marked a rectangle and change your > mind. Intuitively, you will click somewhere to make the mark go > away, using the same modifiers. But that doesn't work, because now > you get a pop-up menu. The menu should pop up iff the down and up events happen at the same location. Can we agree that this is hard to achieve after having marked a rectangle? > Emacs's mouse bindings seem rather haphazard and organised mainly on > the principle of first-come, enshrining a fair bit of historical > baggage. For example, there are two different buffer menus (one for > font and one for everything else). There is also the secondary > selection, of which there seems to be much fewer actual users than > people who just want to know how to disable it. Most applications I know do not even distinguish mouse and meta mouse clicks so I doubt that many users will see this as a problem. > We could do worse than following some conventions that have become > more or less universal, such as right-clicking (control-click on > macOS) for a context menu. For me mouse-3 is the preferred button to pop up a menu. I never use mouse-3 to extend the selection because I'm not used to switch mouse buttons during one and the same action. > That said, do you have any particular reason (precedence, > ergonomics) for suggesting control-shift? I'd rather use meta and > move secondary selection to shift-meta (say). I suggested control-shift because it's IMHO the most convenient combination with two modifiers (at least on my past and present keyboards). And I wouldn't change default key bindings that have existed for decades. But since I never use the secondary selection I cannot really defend it either. martin From unknown Sat Jun 21 05:17:43 2025 X-Loop: help-debbugs@gnu.org Subject: bug#38013: [PATCH] Rectangular region selection with mouse Resent-From: Drew Adams Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 07 Nov 2019 20:47:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 38013 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: martin rudalics , Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= Cc: 38013@debbugs.gnu.org Received: via spool by 38013-submit@debbugs.gnu.org id=B38013.15731596031281 (code B ref 38013); Thu, 07 Nov 2019 20:47:02 +0000 Received: (at 38013) by debbugs.gnu.org; 7 Nov 2019 20:46:43 +0000 Received: from localhost ([127.0.0.1]:43978 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iSofy-0000Kb-Tv for submit@debbugs.gnu.org; Thu, 07 Nov 2019 15:46:43 -0500 Received: from userp2120.oracle.com ([156.151.31.85]:54948) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iSofp-0000KF-2M for 38013@debbugs.gnu.org; Thu, 07 Nov 2019 15:46:33 -0500 Received: from pps.filterd (userp2120.oracle.com [127.0.0.1]) by userp2120.oracle.com (8.16.0.27/8.16.0.27) with SMTP id xA7KiBBc160220; Thu, 7 Nov 2019 20:46:25 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=mime-version : message-id : date : from : sender : to : cc : subject : references : in-reply-to : content-type : content-transfer-encoding; s=corp-2019-08-05; bh=m4sbZKzpC6Iv6D2zCPiztyA9efjVV+MQ5/sYR3/2pRc=; b=By9JL/QByS51vwWOtP17NNn7aGbv13zT/mELLFXMRubbQkfFWHvAR2xH6uSC4ThtfAtH G0zA7WVsX6QHXcoNY82DWIp0XEOMsX/3C7T5WzXM+kJBHR1cOTkAEQRYG6jCDQyla4ap bwVgtvhPpHbXwiL9wzHrJ4RLisw07i8EHH1LlC1jm9X7AwHMqHXXjTbHndztksWKqHkc YNo+iMCJ+j9sfuDvFFUODd7Q3U4shryOgYAIqa5Tq6k7nhoevKFUKtm5ojCoDx7A06aY GZ83svqMwaXkam3YmikF/+jJII6QUN0xySROMiYfZxOGNKU8qkSt6rxnM3111fmaVc0I ug== Received: from userp3020.oracle.com (userp3020.oracle.com [156.151.31.79]) by userp2120.oracle.com with ESMTP id 2w41w10xwj-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 07 Nov 2019 20:46:25 +0000 Received: from pps.filterd (userp3020.oracle.com [127.0.0.1]) by userp3020.oracle.com (8.16.0.27/8.16.0.27) with SMTP id xA7KheQa137479; Thu, 7 Nov 2019 20:46:24 GMT Received: from aserv0121.oracle.com (aserv0121.oracle.com [141.146.126.235]) by userp3020.oracle.com with ESMTP id 2w41wj539h-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 07 Nov 2019 20:46:24 +0000 Received: from abhmp0009.oracle.com (abhmp0009.oracle.com [141.146.116.15]) by aserv0121.oracle.com (8.14.4/8.13.8) with ESMTP id xA7KkNeN014485; Thu, 7 Nov 2019 20:46:23 GMT MIME-Version: 1.0 Message-ID: Date: Thu, 7 Nov 2019 12:46:22 -0800 (PST) From: Drew Adams References: <83lft0m3ug.fsf@gnu.org> <3541E0E8-9E33-4FBD-B0D9-DFF77C241F6F@acm.org> <83y2wzlorw.fsf@gnu.org> <83v9s3lo5f.fsf@gnu.org> <75EC4FBC-F636-4D75-BAC4-982D85188794@acm.org> <9b9222ad-ead7-d0a0-0602-780d0680f070@gmx.at> <6bf229f4-c22f-c3c2-5158-5235f908de3c@gmx.at> <8ec84837-172c-1ce5-cab0-b4c96a86274e@gmx.at> <411EAB4E-B666-4263-8514-5F47391268B1@acm.org> <2df02c1f-fea4-f764-eba6-fd67de581755@gmx.at> In-Reply-To: <2df02c1f-fea4-f764-eba6-fd67de581755@gmx.at> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9.1 (1003210) [OL 16.0.4900.0 (x86)] Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9434 signatures=668685 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 mlxscore=0 mlxlogscore=849 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1910280000 definitions=main-1911070194 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9434 signatures=668685 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 priorityscore=1501 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=927 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1910280000 definitions=main-1911070195 X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > For me mouse-3 is the preferred button to pop up a menu. I never use > mouse-3 to extend the selection because I'm not used to switch mouse > buttons during one and the same action. (Replying just about this: mouse-3.) Vanilla Emacs hard-wires the behavior to kill or delete the region (depending on the value of `mouse-drag-copy-region'). That action can be handy, but it's sometimes inappropriate (e.g., in a read-only buffer). In any case, it is only one possible action; there are often other actions on the selected text that you might want to take. See `mouse3.el'. You can use mouse-3 for both a contextual pop-up menu and for extending the selection. https://www.emacswiki.org/emacs/Mouse3 From unknown Sat Jun 21 05:17:43 2025 X-Loop: help-debbugs@gnu.org Subject: bug#38013: [PATCH] Rectangular region selection with mouse Resent-From: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 08 Nov 2019 17:34:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 38013 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: martin rudalics Cc: Eli Zaretskii , 38013@debbugs.gnu.org Received: via spool by 38013-submit@debbugs.gnu.org id=B38013.157323441314494 (code B ref 38013); Fri, 08 Nov 2019 17:34:01 +0000 Received: (at 38013) by debbugs.gnu.org; 8 Nov 2019 17:33:33 +0000 Received: from localhost ([127.0.0.1]:47550 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iT88a-0003li-N8 for submit@debbugs.gnu.org; Fri, 08 Nov 2019 12:33:33 -0500 Received: from mail226c50.megamailservers.eu ([91.136.10.236]:40434 helo=mail36c50.megamailservers.eu) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iT88Y-0003lW-PI for 38013@debbugs.gnu.org; Fri, 08 Nov 2019 12:33:31 -0500 X-Authenticated-User: mattiase@bredband.net DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=megamailservers.eu; s=maildub; t=1573234407; bh=WyXIXh6lOV9ltkG98IKk1WrZRQRWF2Z3gud8XMGDtGU=; h=Subject:From:In-Reply-To:Date:Cc:References:To:From; b=bfVHhb/7ttmSmOSf4PU4wI039hhk6THIKSlqK9jEkuvKv2SdGDNoIPbit9ZVvgaB4 1hwB/ItJM69H/XfFxBkWRXv32/CZ77t06ELuyVivuGXLfb5sRXPXvPWtGL8KFhxTmr GHo1ymvDuTd+dUUI4gMKQDOuniAeuCyG8NvTCt/8= Feedback-ID: mattiase@acm.or Received: from [192.168.1.64] (c-4c48e655.032-75-73746f71.bbcust.telenor.se [85.230.72.76]) (authenticated bits=0) by mail36c50.megamailservers.eu (8.14.9/8.13.1) with ESMTP id xA8HXP6w031260; Fri, 8 Nov 2019 17:33:26 +0000 Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\)) From: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= In-Reply-To: <2df02c1f-fea4-f764-eba6-fd67de581755@gmx.at> Date: Fri, 8 Nov 2019 18:33:24 +0100 Content-Transfer-Encoding: quoted-printable Message-Id: References: <83lft0m3ug.fsf@gnu.org> <3541E0E8-9E33-4FBD-B0D9-DFF77C241F6F@acm.org> <83y2wzlorw.fsf@gnu.org> <83v9s3lo5f.fsf@gnu.org> <75EC4FBC-F636-4D75-BAC4-982D85188794@acm.org> <9b9222ad-ead7-d0a0-0602-780d0680f070@gmx.at> <6bf229f4-c22f-c3c2-5158-5235f908de3c@gmx.at> <8ec84837-172c-1ce5-cab0-b4c96a86274e@gmx.at> <411EAB4E-B666-4263-8514-5F47391268B1@acm.org> <2df02c1f-fea4-f764-eba6-fd67de581755@gmx.at> X-Mailer: Apple Mail (2.3445.104.11) X-CTCH-RefID: str=0001.0A0B0203.5DC5A6E7.0026, ss=1, re=0.000, recu=0.000, reip=0.000, cl=1, cld=1, fgs=0 X-CTCH-VOD: Unknown X-CTCH-Spam: Unknown X-CTCH-Score: 0.000 X-CTCH-Rules: X-CTCH-Flags: 0 X-CTCH-ScoreCust: 0.000 X-CSC: 0 X-CHA: v=2.3 cv=bd8Vr9HB c=1 sm=1 tr=0 a=1rTi8g4bvmsLpnurc7XrhA==:117 a=1rTi8g4bvmsLpnurc7XrhA==:17 a=jpOVt7BSZ2e4Z31A5e1TngXxSK0=:19 a=kj9zAlcOel0A:10 a=M51BFTxLslgA:10 a=O5yJk-K8sBq0HZiAa-0A:9 a=7Zwj6sZBwVKJAoWSPKxL6X1jA+E=:19 a=CjuIK1q_8ugA:10 a=pHzHmUro8NiASowvMSCR:22 a=Ew2E2A-JSTLzCXPT_086:22 X-Spam-Score: 0.3 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) 7 nov. 2019 kl. 20.08 skrev martin rudalics : > But by doing so it usurps all combinations of the control key and > mouse-1. So we pay a high price for such a small convenience. And > since I have never anywhere else seen a "context" menu pop up right > after a mouse press I would not consider it the expected behavior. I can assure you that press-select-release semantics for popup menus is = very common, and has been for several decades. Most applications also = support the click-select-click model. However, I think we largely agree that the current buffer and face menus = are of limited utility and that their bindings should not be considered = sacred territory. > For me mouse-3 is the preferred button to pop up a menu. I never use > mouse-3 to extend the selection because I'm not used to switch mouse > buttons during one and the same action. Finally something we seem to agree on. > I suggested control-shift because it's IMHO the most convenient > combination with two modifiers (at least on my past and present > keyboards). Thank you; it's not very convenient on my keyboards, so I'd rather use = control-meta, but plain meta is of course better still. In decreasing order of preference: meta, control, shift, control-meta, = shift-meta, shift-control. From unknown Sat Jun 21 05:17:43 2025 X-Loop: help-debbugs@gnu.org Subject: bug#38013: [PATCH] Rectangular region selection with mouse Resent-From: martin rudalics Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 08 Nov 2019 18:29:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 38013 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= Cc: Eli Zaretskii , 38013@debbugs.gnu.org Received: via spool by 38013-submit@debbugs.gnu.org id=B38013.157323773920145 (code B ref 38013); Fri, 08 Nov 2019 18:29:01 +0000 Received: (at 38013) by debbugs.gnu.org; 8 Nov 2019 18:28:59 +0000 Received: from localhost ([127.0.0.1]:47591 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iT90F-0005Er-BD for submit@debbugs.gnu.org; Fri, 08 Nov 2019 13:28:59 -0500 Received: from mout.gmx.net ([212.227.15.18]:47311) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iT90D-0005Ec-FB for 38013@debbugs.gnu.org; Fri, 08 Nov 2019 13:28:58 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1573237727; bh=UGMAWroDnxtnJKqDPuNcpmLgow4q/3TXj41t/9LtFmk=; h=X-UI-Sender-Class:Subject:To:Cc:References:From:Date:In-Reply-To; b=UNllDZJWIWyVpxqwCdk1e7qdCi4o7Th5bOMiGUWIC1XTYaKq9rOkaQRPwHFNojcTh GctKL2yK07Azk04bunkl84fyYSbATb4qJZZpCWJ//X+JMtj0ds/aH1xoJcmCmf2oNX Rk+Hdt+cTsmrzTIxFXZ8wk1Vrfvqj6FLixXjeMxA= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from [192.168.1.100] ([212.95.5.197]) by mail.gmx.com (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MQ5rO-1iFzpP2xEG-00M1l4; Fri, 08 Nov 2019 19:28:47 +0100 References: <83lft0m3ug.fsf@gnu.org> <3541E0E8-9E33-4FBD-B0D9-DFF77C241F6F@acm.org> <83y2wzlorw.fsf@gnu.org> <83v9s3lo5f.fsf@gnu.org> <75EC4FBC-F636-4D75-BAC4-982D85188794@acm.org> <9b9222ad-ead7-d0a0-0602-780d0680f070@gmx.at> <6bf229f4-c22f-c3c2-5158-5235f908de3c@gmx.at> <8ec84837-172c-1ce5-cab0-b4c96a86274e@gmx.at> <411EAB4E-B666-4263-8514-5F47391268B1@acm.org> <2df02c1f-fea4-f764-eba6-fd67de581755@gmx.at> From: martin rudalics Message-ID: <3b74a108-28e3-fd01-64a5-7c4302e3d979@gmx.at> Date: Fri, 8 Nov 2019 19:28:48 +0100 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: de-AT Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K1:vqI55qEkdNykC758iSuWt/zglZz21vnQoQ+qb0vnMvDDRqup83U v8V2o2Rcd0nqvHlFgTXDXiE1ZTBwC3PFGn0A1y6GRSSL+HPF2L33qd4SYxPJMdwELpmhg6o 4tkwxyGeM0TZKs4lfXP+qPpuSOtmtrhqrjGdPETl9+N9z0R22ZEfJ+BkxvO8pYqp2HWeaVH aajOa80OqUnzcLSyvIHqQ== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:bkT6HiUn++0=:oBGbSI60/PYzOBQjCc9kMv 5tjXXvHgKOIczkUj5RnwA15xPcFcclMQes1lxP0W6J2DKESiV+QjbzotDtGPAZNqSZJapARZI vofy/d5V1lfpgfnoaNhCyJGdKbb+3pIeIYERbvMOX4AyRtdpyEHJLhrYPTfZ/hIRm9PBGcXRs Jbhnz60TtGqAkFAzJL+6FtRs2DjqaEAxHF2byqVjMm55L6oVC2gk4wPYC6pwj7uveGaD4jGdE u+IxClAOXv31OJv1LEUGEffv7tG06MrI6sAn/wRd4HxpRA5/O5EbQUZbNUVaepCK9+D6bprkn 7moPxiU9NWuPz1CFsUtCVeBv+D+3SF2nvbYbM98/+ymEh5Qw7xwTJBPA65sWsd6Ii4j2Hi6eL nZUQ+3RYGR1HFswYIrLt4HbG0nIRMVWnce4I+yYCLiuQDhE4TQzMmIHuawcBU5Og4prQoGbXw Bkxe7mF2ILd1DQdhEMSLIKi6mu185uuJQlDxF7nM8rILnZLIpItgQ8hgU3o3gpBdyGaRllyId eeRVonuXKRJc/UDfc6IS1AgythqXWroCHrqn43KVoQ3wTnCTALDo91hs9DDUt6LIfFnu0w9FO CIdat2qG4U2Z0AfnG7E3/aC2iawJ0ShbM11H+OmUPJ7lTIz0ww0211fiJiL+4L8+lXpS3EEgr HEJ9N2zunotPxPEP6OgFQ8XPN72WX/EakELvA2wYH786lvuKfUh/PsBKBnwanhP/m7tWzAuoF +3++atb2RIoJW2WSv4DuDXGfL+XgsBj9QEXYU9Nq2Tf5CSeZIdlPbW/4FQc1Fzb2GehdKsmSd SjOQ6rCSen2oDlfOzJwlm6iSa5RkrN2HRAKvBJGIoJxIk/woladE5JwZf+zFHEI7jYfOAjeLb LN7+rHlC4IRDpsIhJL5CqYHaRJDTAMeWUWp4ZsiNMtB+AJSenyA5q56oROcQzIXj/KPOEVGOO WRwtwvYMORSDrKbWzI+Icl2DIIU1FaW2C11+/AwCINwBczFjZQbQlc9VE50zVEPlsQ8fRxnhG 5Z+u+us6X7KcBzvh/2Uhcg1CnjIzAXqLOZsyvSxfJJOW5yQkjmnMtocIxKf+ib5xJCLNio+9S s3wePYs/re0HlhDuyRmtoEv5SRrqIJKRCKOSnzSs4q5Tt/KndymSXiKghbg2BDnBumxGGlE+I ttGIUMUmijKD+RO0ozEazLojj59jrZ1MVMb92VdxTZfgd55nU1zRwZNF5Oq96dqOS3nLH48mf 4OO/wJfk/CD9Uiv+F4PeTaR1O52qvKze04IEHo5vPIm5mR4Twk5tnCaizNNs= X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) > I can assure you that press-select-release semantics for popup menus > is very common, At least here on Windows pressing the right mouse button does nothing with Firefox, Thunderbird or the desktop. > and has been for several decades. Most applications also support the > click-select-click model. > > However, I think we largely agree that the current buffer and face > menus are of limited utility and that their bindings should not be > considered sacred territory. I fully agree but obviously cannot speak for the others. It would be nice though to settle this very issue in order to free the down bindings for good. > Thank you; it's not very convenient on my keyboards, so I'd rather > use control-meta, but plain meta is of course better still. In > decreasing order of preference: meta, control, shift, control-meta, > shift-meta, shift-control. It's clearly up to you to propose any of them. martin From unknown Sat Jun 21 05:17:43 2025 X-Loop: help-debbugs@gnu.org Subject: bug#38013: [PATCH] Rectangular region selection with mouse Resent-From: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 09 Nov 2019 15:37:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 38013 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: martin rudalics Cc: Eli Zaretskii , 38013@debbugs.gnu.org Received: via spool by 38013-submit@debbugs.gnu.org id=B38013.157331377116391 (code B ref 38013); Sat, 09 Nov 2019 15:37:02 +0000 Received: (at 38013) by debbugs.gnu.org; 9 Nov 2019 15:36:11 +0000 Received: from localhost ([127.0.0.1]:50183 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iTSmY-0004GJ-R0 for submit@debbugs.gnu.org; Sat, 09 Nov 2019 10:36:11 -0500 Received: from mail1446c50.megamailservers.eu ([91.136.14.46]:59728 helo=mail265c50.megamailservers.eu) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iTSmT-0004Fh-EK for 38013@debbugs.gnu.org; Sat, 09 Nov 2019 10:36:09 -0500 X-Authenticated-User: mattiase@bredband.net DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=megamailservers.eu; s=maildub; t=1573313758; bh=rMiOruZmEaRNOm6Qo4s0fpnuqQRMZns75Epal4+BAnY=; h=From:Subject:Date:In-Reply-To:Cc:To:References:From; b=Cw53jV3zY7Tp54yIv3zHjwTCiOat6TGMUzpj5ZaUA95PQqucxysO6mndF1whcVcH1 VaIju8bfTwegaDDhGvbdiBpDdz6KgsDJVNAD4q1rWI3JTLdJ0zd/QHXXV3t2XNt525 nSdZGV4LAssIs5u50jFZgoz2fviTzzDs/E4wqYgI= Feedback-ID: mattiase@acm.or Received: from [192.168.1.64] (c-ee54e353.032-75-73746f71.bbcust.telenor.se [83.227.84.238]) (authenticated bits=0) by mail265c50.megamailservers.eu (8.14.9/8.13.1) with ESMTP id xA9FZudh002654; Sat, 9 Nov 2019 15:35:58 +0000 From: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= Message-Id: <9A9D13F2-1F4F-4DD4-B92F-96FC4D91DFBD@acm.org> Content-Type: multipart/mixed; boundary="Apple-Mail=_5F819148-FF21-4499-966E-FACB639E66AD" Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\)) Date: Sat, 9 Nov 2019 16:35:56 +0100 In-Reply-To: <3b74a108-28e3-fd01-64a5-7c4302e3d979@gmx.at> References: <83lft0m3ug.fsf@gnu.org> <3541E0E8-9E33-4FBD-B0D9-DFF77C241F6F@acm.org> <83y2wzlorw.fsf@gnu.org> <83v9s3lo5f.fsf@gnu.org> <75EC4FBC-F636-4D75-BAC4-982D85188794@acm.org> <9b9222ad-ead7-d0a0-0602-780d0680f070@gmx.at> <6bf229f4-c22f-c3c2-5158-5235f908de3c@gmx.at> <8ec84837-172c-1ce5-cab0-b4c96a86274e@gmx.at> <411EAB4E-B666-4263-8514-5F47391268B1@acm.org> <2df02c1f-fea4-f764-eba6-fd67de581755@gmx.at> <3b74a108-28e3-fd01-64a5-7c4302e3d979@gmx.at> X-Mailer: Apple Mail (2.3445.104.11) X-CTCH-RefID: str=0001.0A0B020F.5DC6DCDE.0029, ss=1, re=0.000, recu=0.000, reip=0.000, cl=1, cld=1, fgs=0 X-CTCH-VOD: Unknown X-CTCH-Spam: Unknown X-CTCH-Score: 0.000 X-CTCH-Rules: X-CTCH-Flags: 0 X-CTCH-ScoreCust: 0.000 X-CSC: 0 X-CHA: v=2.3 cv=YIzhNiOx c=1 sm=1 tr=0 a=Fmb7hdz85/yTNbhpOvpRKA==:117 a=Fmb7hdz85/yTNbhpOvpRKA==:17 a=jpOVt7BSZ2e4Z31A5e1TngXxSK0=:19 a=M51BFTxLslgA:10 a=AID6v2bBrMPdJ7nxW1UA:9 a=7Zwj6sZBwVKJAoWSPKxL6X1jA+E=:19 a=CjuIK1q_8ugA:10 a=3IHTufpJ0uFCK7AIg1AA:9 a=B2y7HmGcmWMA:10 X-Spam-Score: 1.4 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: 8 nov. 2019 kl. 19.28 skrev martin rudalics : > At least here on Windows pressing the right mouse button does nothing > with Firefox, Thunderbird or the desktop. Not much of a Windows user myself. Firefox on Linux allows press-drag-release. Content analysis details: (1.4 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 1.0 SPF_SOFTFAIL SPF: sender does not match SPF record (softfail) 0.4 KHOP_HELO_FCRDNS Relay HELO differs from its IP's reverse DNS X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) --Apple-Mail=_5F819148-FF21-4499-966E-FACB639E66AD Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii 8 nov. 2019 kl. 19.28 skrev martin rudalics : > At least here on Windows pressing the right mouse button does nothing > with Firefox, Thunderbird or the desktop. Not much of a Windows user myself. Firefox on Linux allows = press-drag-release. > > However, I think we largely agree that the current buffer and face > > menus are of limited utility and that their bindings should not be > > considered sacred territory. >=20 > I fully agree but obviously cannot speak for the others. It would be > nice though to settle this very issue in order to free the down > bindings for good. Right. To avoid conflating issues, I propose using control-meta for = rectangular selection at least as the initial binding. The attached = patch also contains documentation updates. Not sure what to do about the menus. Combining the buffer and appearance = menus would free up a binding. Eli had some concerns regarding the behaviour of an early patch, so I'll = wait for him to take another look whenever he can spare a moment. (No = hurry.) --Apple-Mail=_5F819148-FF21-4499-966E-FACB639E66AD Content-Disposition: attachment; filename=0001-Mouse-rectangular-region-selection-bug-38013.patch Content-Type: application/octet-stream; x-unix-mode=0644; name="0001-Mouse-rectangular-region-selection-bug-38013.patch" Content-Transfer-Encoding: quoted-printable =46rom=200e5430492a900e9396b5a40a03dca06ae94c8e04=20Mon=20Sep=2017=20= 00:00:00=202001=0AFrom:=20=3D?UTF-8?q?Mattias=3D20Engdeg=3DC3=3DA5rd?=3D=20= =0ADate:=20Fri,=2025=20Oct=202019=2011:16:39=20+0200=0A= Subject:=20[PATCH]=20Mouse=20rectangular=20region=20selection=20= (bug#38013)=0A=0AMake=20it=20possible=20to=20select=20a=20rectangular=20= region=20using=20the=20mouse.=0AThe=20standard=20binding=20is=20= C-M-mouse-1.=0A=0A*=20lisp/mouse.el=20(mouse-scroll-subr):=20Add=20= ADJUST=20argument.=0A(mouse-drag-region-rectangle):=20New.=0A*=20= doc/emacs/frames.texi=20(Mouse=20Commands):=0A*=20doc/emacs/killing.texi=20= (Rectangles):=0A*=20etc/NEWS=20(value):=20Document.=0A---=0A=20= doc/emacs/frames.texi=20=20|=20=204=20++=0A=20doc/emacs/killing.texi=20|=20= =203=20++=0A=20etc/NEWS=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20|=20=20= 3=20++=0A=20lisp/mouse.el=20=20=20=20=20=20=20=20=20=20|=2090=20= +++++++++++++++++++++++++++++++++++++++++-=0A=204=20files=20changed,=20= 99=20insertions(+),=201=20deletion(-)=0A=0Adiff=20--git=20= a/doc/emacs/frames.texi=20b/doc/emacs/frames.texi=0Aindex=20= 091c011fb9..f6c2d23913=20100644=0A---=20a/doc/emacs/frames.texi=0A+++=20= b/doc/emacs/frames.texi=0A@@=20-91,6=20+91,10=20@@=20Mouse=20Commands=0A=20= click=20position;=20otherwise,=20set=20mark=20at=20the=20current=20value=20= of=20point=20and=0A=20point=20at=20the=20click=20position.=20=20Save=20= the=20resulting=20region=20in=20the=20kill=0A=20ring;=20on=20a=20second=20= click,=20kill=20it=20(@code{mouse-save-then-kill}).=0A+=0A+@item=20= C-M-mouse-1=0A+Activate=20a=20rectangular=20region=20around=20the=20text=20= selected=20by=20dragging.=0A+@xref{Rectangles}.=0A=20@end=20table=0A=20=0A= =20@findex=20mouse-set-point=0Adiff=20--git=20a/doc/emacs/killing.texi=20= b/doc/emacs/killing.texi=0Aindex=2080e2868908..ce00cb38a7=20100644=0A---=20= a/doc/emacs/killing.texi=0A+++=20b/doc/emacs/killing.texi=0A@@=20-732,6=20= +732,9=20@@=20Rectangles=0A=20and=20mark=20values=20can=20be=20= interpreted=20either=20as=20a=20region=20or=20as=20a=0A=20rectangle,=20= depending=20on=20the=20command=20that=20uses=20them.=0A=20=0A+=20=20A=20= rectangular=20region=20can=20also=20be=20marked=20using=20the=20mouse:=20= click=20and=20drag=0A+@kbd{C-M-mouse-1}=20from=20one=20corner=20of=20the=20= rectangle=20to=20the=20opposite.=0A+=0A=20@table=20@kbd=0A=20@item=20C-x=20= r=20k=0A=20Kill=20the=20text=20of=20the=20region-rectangle,=20saving=20= its=20contents=20as=20the=0Adiff=20--git=20a/etc/NEWS=20b/etc/NEWS=0A= index=2061b9f933f1..3d181b32da=20100644=0A---=20a/etc/NEWS=0A+++=20= b/etc/NEWS=0A@@=20-582,6=20+582,9=20@@=20region=20using=20a=20given=20= replacement-function=20in=20a=20non-destructive=20manner=0A=20arguments=20= mitigating=20performance=20issues=20when=20operating=20on=20huge=0A=20= buffers.=0A=20=0A++++=0A+**=20Dragging=20'C-M-mouse-1'=20now=20marks=20= rectangular=20regions.=0A+=0A=20+++=0A=20**=20The=20command=20= 'delete-indentation'=20now=20operates=20on=20the=20active=20region.=0A=20= If=20the=20region=20is=20active,=20the=20command=20joins=20all=20the=20= lines=20in=20the=0Adiff=20--git=20a/lisp/mouse.el=20b/lisp/mouse.el=0A= index=20238852ffdc..5db1690eef=20100644=0A---=20a/lisp/mouse.el=0A+++=20= b/lisp/mouse.el=0A@@=20-1045,10=20+1045,12=20@@=20mouse-scroll-min-lines=0A= =20of=20lines=20specified=20by=20this=20variable."=0A=20=20=20:type=20= 'integer)=0A=20=0A-(defun=20mouse-scroll-subr=20(window=20jump=20= &optional=20overlay=20start)=0A+(defun=20mouse-scroll-subr=20(window=20= jump=20&optional=20overlay=20start=20adjust)=0A=20=20=20"Scroll=20the=20= window=20WINDOW,=20JUMP=20lines=20at=20a=20time,=20until=20new=20input=20= arrives.=0A=20If=20OVERLAY=20is=20an=20overlay,=20let=20it=20stretch=20= from=20START=20to=20the=20far=20edge=20of=0A=20the=20newly=20visible=20= text.=0A+ADJUST,=20if=20non-nil,=20is=20a=20function,=20without=20= arguments,=20to=20call=20after=0A+setting=20point.=0A=20Upon=20exit,=20= point=20is=20at=20the=20far=20edge=20of=20the=20newly=20visible=20text."=0A= =20=20=20(cond=0A=20=20=20=20((and=20(>=20jump=200)=20(<=20jump=20= mouse-scroll-min-lines))=0A@@=20-1077,6=20+1079,8=20@@=20= mouse-scroll-subr=0A=20=09=09=20=20=20;;=20so=20that=20we=20don't=20mess=20= up=20the=20selected=20window.=0A=20=09=09=20=20=20(or=20(eq=20window=20= (selected-window))=0A=20=09=09=20=20=20=20=20=20=20(goto-char=20opoint))=0A= +=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(when=20adjust=0A= +=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(funcall=20= adjust))=0A=20=09=09=20=20=20(sit-for=20mouse-scroll-delay)))))=0A=20=20=20= =20=20(or=20(eq=20window=20(selected-window))=0A=20=09(goto-char=20= opoint))))=0A@@=20-1960,6=20+1964,90=20@@=20= secondary-selection-from-region=0A=20=20=20=20=20(move-overlay=20= mouse-secondary-overlay=20(region-beginning)=20(region-end))))=0A=20=0A=20= =0C=0A+(defun=20mouse-drag-region-rectangle=20(start-event)=0A+=20=20= "Set=20the=20region=20to=20the=20rectangle=20that=20the=20mouse=20is=20= dragged=20over.=0A+This=20must=20be=20bound=20to=20a=20button-down=20= mouse=20event."=0A+=20=20(interactive=20"e")=0A+=20=20(let*=20= ((scroll-margin=200)=0A+=20=20=20=20=20=20=20=20=20(start-pos=20= (event-start=20start-event))=0A+=20=20=20=20=20=20=20=20=20(start-posn=20= (event-start=20start-event))=0A+=20=20=20=20=20=20=20=20=20(start-point=20= (posn-point=20start-posn))=0A+=20=20=20=20=20=20=20=20=20(start-window=20= (posn-window=20start-posn))=0A+=20=20=20=20=20=20=20=20=20(start-hscroll=20= (window-hscroll=20start-window))=0A+=20=20=20=20=20=20=20=20=20= (start-col=20(+=20(car=20(posn-col-row=20start-pos))=20start-hscroll))=0A= +=20=20=20=20=20=20=20=20=20(bounds=20(window-edges=20start-window))=0A+=20= =20=20=20=20=20=20=20=20(top=20(nth=201=20bounds))=0A+=20=20=20=20=20=20=20= =20=20(bottom=20(if=20(window-minibuffer-p=20start-window)=0A+=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(nth=203=20bounds)=0A= +=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(1-=20(nth=203=20= bounds))))=0A+=20=20=20=20=20=20=20=20=20(dragged=20nil)=0A+=20=20=20=20=20= =20=20=20=20(old-track-mouse=20track-mouse))=0A+=20=20=20=20(setq=20= track-mouse=20t)=0A+=20=20=20=20(set-transient-map=0A+=20=20=20=20=20= (let=20((map=20(make-sparse-keymap)))=0A+=20=20=20=20=20=20=20= (define-key=20map=20[switch-frame]=20#'ignore)=0A+=20=20=20=20=20=20=20= (define-key=20map=20[select-window]=20#'ignore)=0A+=20=20=20=20=20=20=20= (define-key=20map=20[mouse-movement]=0A+=20=20=20=20=20=20=20=20=20= (lambda=20(event)=0A+=20=20=20=20=20=20=20=20=20=20=20(interactive=20= "e")=0A+=20=20=20=20=20=20=20=20=20=20=20(unless=20dragged=0A+=20=20=20=20= =20=20=20=20=20=20=20=20=20;;=20This=20is=20actually=20a=20drag.=0A+=20=20= =20=20=20=20=20=20=20=20=20=20=20(mouse-minibuffer-check=20start-event)=0A= +=20=20=20=20=20=20=20=20=20=20=20=20=20(deactivate-mark)=0A+=20=20=20=20= =20=20=20=20=20=20=20=20=20(posn-set-point=20start-pos)=0A+=20=20=20=20=20= =20=20=20=20=20=20=20=20(rectangle-mark-mode)=0A+=20=20=20=20=20=20=20=20= =20=20=20=20=20;;=20Tell=20the=20rectangle=20selection=20about=20the=20= exact=20column,=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20;;=20since=20= it=20might=20not=20correspond=20exactly=20to=20a=20valid=0A+=20=20=20=20=20= =20=20=20=20=20=20=20=20;;=20position=20in=20the=20text.=0A+=20=20=20=20=20= =20=20=20=20=20=20=20=20(rectangle--col-pos=20start-col=20'mark)=0A+=20=20= =20=20=20=20=20=20=20=20=20=20=20(rectangle--col-pos=20start-col=20= 'point)=0A+=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20(setq=20dragged=20= t))=0A+=0A+=20=20=20=20=20=20=20=20=20=20=20(let*=20((posn=20(event-end=20= event))=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(window=20= (posn-window=20posn))=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20(hscroll=20(if=20(window-live-p=20window)=0A+=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= (window-hscroll=20window)=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=200))=0A+=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20(mouse-pos=20(mouse-position))=0A+=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(mouse-col=20(+=20(cadr=20= mouse-pos)=20hscroll))=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20(mouse-row=20(cddr=20mouse-pos)))=0A+=20=20=20=20=20=20=20=20=20=20= =20=20=20(if=20(and=20(eq=20window=20start-window)=0A+=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20mouse-row=0A+=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(<=3D=20top=20= mouse-row=20(1-=20bottom)))=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20;;=20Drag=20inside=20the=20same=20window.=0A+=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20(progn=0A+=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20(posn-set-point=20posn)=0A+=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20(rectangle--col-pos=20mouse-col=20= 'point))=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20;;=20Drag=20= outside=20the=20window:=20scroll.=0A+=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20(cond=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20((null=20= mouse-row))=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20((<=20= mouse-row=20top)=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= (mouse-scroll-subr=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20start-window=20(-=20mouse-row=20top)=20nil=20start-point=0A+=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20(lambda=20()=20= (rectangle--col-pos=20mouse-col=20'point))))=0A+=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20((>=3D=20mouse-row=20bottom)=0A+=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20(mouse-scroll-subr=0A+=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20start-window=20(1+=20(-=20mouse-row=20= bottom))=20nil=20start-point=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20(lambda=20()=20(rectangle--col-pos=20mouse-col=20= 'point)))))))))=0A+=20=20=20=20=20=20=20map)=0A+=20=20=20=20=20t=0A+=20=20= =20=20=20(lambda=20()=0A+=20=20=20=20=20=20=20(setq=20track-mouse=20= old-track-mouse)=0A+=20=20=20=20=20=20=20(when=20(or=20(not=20dragged)=0A= +=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(not=20(mark))=0A+=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(equal=20= (rectangle-dimensions=20(mark)=20(point))=20'(0=20.=201)))=0A+=20=20=20=20= =20=20=20=20=20;;=20No=20nontrivial=20region=20selected;=20deactivate=20= rectangle=20mode.=0A+=20=20=20=20=20=20=20=20=20(deactivate-mark))))))=0A= +=0A+;;=20The=20drag=20event=20must=20be=20bound=20to=20something=20but=20= does=20not=20need=20any=20effect,=0A+;;=20as=20everything=20takes=20= place=20in=20`mouse-drag-region-rectangle'.=0A+;;=20The=20click=20event=20= can=20be=20anything;=20`mouse-set-point'=20is=20just=20a=20convenience.=0A= +(global-set-key=20[C-M-down-mouse-1]=20#'mouse-drag-region-rectangle)=0A= +(global-set-key=20[C-M-drag-mouse-1]=20#'ignore)=0A+(global-set-key=20= [C-M-mouse-1]=20=20=20=20=20=20#'mouse-set-point)=0A+=0A+=0C=0A=20= (defcustom=20mouse-buffer-menu-maxlen=2020=0A=20=20=20"Number=20of=20= buffers=20in=20one=20pane=20(submenu)=20of=20the=20buffer=20menu.=0A=20= If=20we=20have=20lots=20of=20buffers,=20divide=20them=20into=20groups=20= of=0A--=20=0A2.21.0=20(Apple=20Git-122)=0A=0A= --Apple-Mail=_5F819148-FF21-4499-966E-FACB639E66AD-- From unknown Sat Jun 21 05:17:43 2025 X-Loop: help-debbugs@gnu.org Subject: bug#38013: [PATCH] Rectangular region selection with mouse Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 09 Nov 2019 17:56:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 38013 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= Cc: rudalics@gmx.at, 38013@debbugs.gnu.org Received: via spool by 38013-submit@debbugs.gnu.org id=B38013.15733221205009 (code B ref 38013); Sat, 09 Nov 2019 17:56:01 +0000 Received: (at 38013) by debbugs.gnu.org; 9 Nov 2019 17:55:20 +0000 Received: from localhost ([127.0.0.1]:50238 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iTUxC-0001Ih-L8 for submit@debbugs.gnu.org; Sat, 09 Nov 2019 12:55:18 -0500 Received: from eggs.gnu.org ([209.51.188.92]:54769) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iTUxA-0001IS-Uy for 38013@debbugs.gnu.org; Sat, 09 Nov 2019 12:55:17 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:42481) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1iTUx5-000879-Fp; Sat, 09 Nov 2019 12:55:11 -0500 Received: from [176.228.60.248] (port=3787 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1iTUwy-0007gs-43; Sat, 09 Nov 2019 12:55:08 -0500 Date: Sat, 09 Nov 2019 19:54:56 +0200 Message-Id: <83pni17x5b.fsf@gnu.org> From: Eli Zaretskii In-reply-to: <9A9D13F2-1F4F-4DD4-B92F-96FC4D91DFBD@acm.org> (message from Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= on Sat, 9 Nov 2019 16:35:56 +0100) References: <83lft0m3ug.fsf@gnu.org> <3541E0E8-9E33-4FBD-B0D9-DFF77C241F6F@acm.org> <83y2wzlorw.fsf@gnu.org> <83v9s3lo5f.fsf@gnu.org> <75EC4FBC-F636-4D75-BAC4-982D85188794@acm.org> <9b9222ad-ead7-d0a0-0602-780d0680f070@gmx.at> <6bf229f4-c22f-c3c2-5158-5235f908de3c@gmx.at> <8ec84837-172c-1ce5-cab0-b4c96a86274e@gmx.at> <411EAB4E-B666-4263-8514-5F47391268B1@acm.org> <2df02c1f-fea4-f764-eba6-fd67de581755@gmx.at> <3b74a108-28e3-fd01-64a5-7c4302e3d979@gmx.at> <9A9D13F2-1F4F-4DD4-B92F-96FC4D91DFBD@acm.org> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Mattias Engdegård > Date: Sat, 9 Nov 2019 16:35:56 +0100 > Cc: 38013@debbugs.gnu.org, Eli Zaretskii > > Eli had some concerns regarding the behaviour of an early patch, so I'll wait for him to take another look whenever he can spare a moment. (No hurry.) Not sure what I'm missing, but those issues I described before are still there. Can you tell what you changed and how? From unknown Sat Jun 21 05:17:43 2025 X-Loop: help-debbugs@gnu.org Subject: bug#38013: [PATCH] Rectangular region selection with mouse Resent-From: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 09 Nov 2019 19:33:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 38013 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Eli Zaretskii Cc: rudalics@gmx.at, 38013@debbugs.gnu.org Received: via spool by 38013-submit@debbugs.gnu.org id=B38013.157332797514509 (code B ref 38013); Sat, 09 Nov 2019 19:33:02 +0000 Received: (at 38013) by debbugs.gnu.org; 9 Nov 2019 19:32:55 +0000 Received: from localhost ([127.0.0.1]:50293 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iTWTe-0003lw-MY for submit@debbugs.gnu.org; Sat, 09 Nov 2019 14:32:55 -0500 Received: from mail154c50.megamailservers.eu ([91.136.10.164]:36506 helo=mail50c50.megamailservers.eu) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iTWTb-0003lm-KH for 38013@debbugs.gnu.org; Sat, 09 Nov 2019 14:32:52 -0500 X-Authenticated-User: mattiase@bredband.net DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=megamailservers.eu; s=maildub; t=1573327969; bh=9Rrjb/h9Nf1J6dvlVrxhk7kcDWp1FcjtT+Pvv2MC+cI=; h=Subject:From:In-Reply-To:Date:Cc:References:To:From; b=hJS8EtC5TXQE9QBGh8mvmySF/yk8XP+vTHV3Dg6dENbSseFeKRzyEk05c/2KeJlV/ CBgkQZcT0xaWM5iLQJEov7lkFuLbVMe7gaqrgtjiG5+o2j04sWEYWNhJHwmq11bjc/ ls1WQNEm2zsrmknjVF2Yix7nvTnW8RXaZSxAUjzI= Feedback-ID: mattiase@acm.or Received: from [192.168.1.64] (c-ee54e353.032-75-73746f71.bbcust.telenor.se [83.227.84.238]) (authenticated bits=0) by mail50c50.megamailservers.eu (8.14.9/8.13.1) with ESMTP id xA9JWlP7019852; Sat, 9 Nov 2019 19:32:48 +0000 Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\)) From: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= In-Reply-To: <83pni17x5b.fsf@gnu.org> Date: Sat, 9 Nov 2019 20:32:46 +0100 Content-Transfer-Encoding: quoted-printable Message-Id: <8B95D2D3-8E00-45BF-B57D-EFD49D79EB6A@acm.org> References: <83lft0m3ug.fsf@gnu.org> <3541E0E8-9E33-4FBD-B0D9-DFF77C241F6F@acm.org> <83y2wzlorw.fsf@gnu.org> <83v9s3lo5f.fsf@gnu.org> <75EC4FBC-F636-4D75-BAC4-982D85188794@acm.org> <9b9222ad-ead7-d0a0-0602-780d0680f070@gmx.at> <6bf229f4-c22f-c3c2-5158-5235f908de3c@gmx.at> <8ec84837-172c-1ce5-cab0-b4c96a86274e@gmx.at> <411EAB4E-B666-4263-8514-5F47391268B1@acm.org> <2df02c1f-fea4-f764-eba6-fd67de581755@gmx.at> <3b74a108-28e3-fd01-64a5-7c4302e3d979@gmx.at> <9A9D13F2-1F4F-4DD4-B92F-96FC4D91DFBD@acm.org> <83pni17x5b.fsf@gnu.org> X-Mailer: Apple Mail (2.3445.104.11) X-CTCH-RefID: str=0001.0A0B0212.5DC71461.001B, ss=1, re=0.000, recu=0.000, reip=0.000, cl=1, cld=1, fgs=0 X-CTCH-VOD: Unknown X-CTCH-Spam: Unknown X-CTCH-Score: 0.000 X-CTCH-Rules: X-CTCH-Flags: 0 X-CTCH-ScoreCust: 0.000 X-CSC: 0 X-CHA: v=2.3 cv=N4FX6F1B c=1 sm=1 tr=0 a=Fmb7hdz85/yTNbhpOvpRKA==:117 a=Fmb7hdz85/yTNbhpOvpRKA==:17 a=jpOVt7BSZ2e4Z31A5e1TngXxSK0=:19 a=kj9zAlcOel0A:10 a=M51BFTxLslgA:10 a=mDV3o1hIAAAA:8 a=Ed55F9UV1yceSBviL7QA:9 a=CjuIK1q_8ugA:10 a=_FVE-zBwftR9WsbkzFJk:22 X-Spam-Score: 0.3 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) 9 nov. 2019 kl. 18.54 skrev Eli Zaretskii : > Not sure what I'm missing, but those issues I described before are > still there. Can you tell what you changed and how? In the first patch, the start and end corners of the rectangle had to be = a point in the buffer; ie, not a position beyond the end of a line or in = the middle of a tab character. That was not only unnecessarily = restrictive but also made the rectangle flutter back and forth as the = dragged corner passed through lines of different length. Now the = rectangle corners can be any character cell. If that was not the reason for your concern, would you mind describing = the problem more in detail and how to reproduce it?=20 From unknown Sat Jun 21 05:17:43 2025 X-Loop: help-debbugs@gnu.org Subject: bug#38013: [PATCH] Rectangular region selection with mouse Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 09 Nov 2019 20:06:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 38013 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= Cc: rudalics@gmx.at, 38013@debbugs.gnu.org Received: via spool by 38013-submit@debbugs.gnu.org id=B38013.157332991117557 (code B ref 38013); Sat, 09 Nov 2019 20:06:01 +0000 Received: (at 38013) by debbugs.gnu.org; 9 Nov 2019 20:05:11 +0000 Received: from localhost ([127.0.0.1]:50316 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iTWyt-0004Z4-7T for submit@debbugs.gnu.org; Sat, 09 Nov 2019 15:05:11 -0500 Received: from eggs.gnu.org ([209.51.188.92]:38005) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iTWyr-0004Yn-0X for 38013@debbugs.gnu.org; Sat, 09 Nov 2019 15:05:09 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:43832) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1iTWyl-0000Bv-MP; Sat, 09 Nov 2019 15:05:03 -0500 Received: from [176.228.60.248] (port=4075 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1iTWyi-0001Nl-IF; Sat, 09 Nov 2019 15:05:01 -0500 Date: Sat, 09 Nov 2019 22:04:52 +0200 Message-Id: <83bltk95p7.fsf@gnu.org> From: Eli Zaretskii In-reply-to: <8B95D2D3-8E00-45BF-B57D-EFD49D79EB6A@acm.org> (message from Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= on Sat, 9 Nov 2019 20:32:46 +0100) References: <83lft0m3ug.fsf@gnu.org> <3541E0E8-9E33-4FBD-B0D9-DFF77C241F6F@acm.org> <83y2wzlorw.fsf@gnu.org> <83v9s3lo5f.fsf@gnu.org> <75EC4FBC-F636-4D75-BAC4-982D85188794@acm.org> <9b9222ad-ead7-d0a0-0602-780d0680f070@gmx.at> <6bf229f4-c22f-c3c2-5158-5235f908de3c@gmx.at> <8ec84837-172c-1ce5-cab0-b4c96a86274e@gmx.at> <411EAB4E-B666-4263-8514-5F47391268B1@acm.org> <2df02c1f-fea4-f764-eba6-fd67de581755@gmx.at> <3b74a108-28e3-fd01-64a5-7c4302e3d979@gmx.at> <9A9D13F2-1F4F-4DD4-B92F-96FC4D91DFBD@acm.org> <83pni17x5b.fsf@gnu.org> <8B95D2D3-8E00-45BF-B57D-EFD49D79EB6A@acm.org> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Mattias Engdegård > Date: Sat, 9 Nov 2019 20:32:46 +0100 > Cc: rudalics@gmx.at, 38013@debbugs.gnu.org > > In the first patch, the start and end corners of the rectangle had to be a point in the buffer; ie, not a position beyond the end of a line or in the middle of a tab character. That was not only unnecessarily restrictive but also made the rectangle flutter back and forth as the dragged corner passed through lines of different length. Now the rectangle corners can be any character cell. OK, that's good. > If that was not the reason for your concern, would you mind describing the problem more in detail and how to reproduce it? I still see a 1-pixel thin "region" sometimes, which causes the text to move horizontally. More importantly, if I drag the mouse through a TAB, it moves in jumps of several columns, not one column at a time. From unknown Sat Jun 21 05:17:43 2025 X-Loop: help-debbugs@gnu.org Subject: bug#38013: [PATCH] Rectangular region selection with mouse Resent-From: Richard Stallman Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 10 Nov 2019 03:49:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 38013 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Mattias =?UTF-8?Q?Engdeg=C3=83=C2=A5rd?= Cc: rudalics@gmx.at, 38013@debbugs.gnu.org Reply-To: rms@gnu.org Received: via spool by 38013-submit@debbugs.gnu.org id=B38013.157335770130517 (code B ref 38013); Sun, 10 Nov 2019 03:49:01 +0000 Received: (at 38013) by debbugs.gnu.org; 10 Nov 2019 03:48:21 +0000 Received: from localhost ([127.0.0.1]:50560 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iTeD7-0007w8-Go for submit@debbugs.gnu.org; Sat, 09 Nov 2019 22:48:21 -0500 Received: from eggs.gnu.org ([209.51.188.92]:46903) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iTeD4-0007vs-UR for 38013@debbugs.gnu.org; Sat, 09 Nov 2019 22:48:19 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:50211) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1iTeCz-0003mP-8p; Sat, 09 Nov 2019 22:48:13 -0500 Received: from rms by fencepost.gnu.org with local (Exim 4.82) (envelope-from ) id 1iTeCw-0001xW-V2; Sat, 09 Nov 2019 22:48:11 -0500 Content-Type: text/plain; charset=Utf-8 From: Richard Stallman In-Reply-To: <9A9D13F2-1F4F-4DD4-B92F-96FC4D91DFBD@acm.org> (message from Mattias =?UTF-8?Q?Engdeg=C3=83=C2=A5rd?= on Sat, 9 Nov 2019 16:35:56 +0100) References: <83lft0m3ug.fsf@gnu.org> <3541E0E8-9E33-4FBD-B0D9-DFF77C241F6F@acm.org> <83y2wzlorw.fsf@gnu.org> <83v9s3lo5f.fsf@gnu.org> <75EC4FBC-F636-4D75-BAC4-982D85188794@acm.org> <9b9222ad-ead7-d0a0-0602-780d0680f070@gmx.at> <6bf229f4-c22f-c3c2-5158-5235f908de3c@gmx.at> <8ec84837-172c-1ce5-cab0-b4c96a86274e@gmx.at> <411EAB4E-B666-4263-8514-5F47391268B1@acm.org> <2df02c1f-fea4-f764-eba6-fd67de581755@gmx.at> <3b74a108-28e3-fd01-64a5-7c4302e3d979@gmx.at> <9A9D13F2-1F4F-4DD4-B92F-96FC4D91DFBD@acm.org> Message-Id: Date: Sat, 09 Nov 2019 22:48:10 -0500 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > Not much of a Windows user myself. Good for you! When someone uses Windows (or MacOS, or Android, or iOS), that is an instance of the unjust power that free software aims to free people from. Firefox on GNU/Linux allows press-drag-release. -- Dr Richard Stallman Founder, Free Software Foundation (https://gnu.org, https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org) From unknown Sat Jun 21 05:17:43 2025 X-Loop: help-debbugs@gnu.org Subject: bug#38013: [PATCH] Rectangular region selection with mouse Resent-From: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 10 Nov 2019 13:50:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 38013 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Eli Zaretskii Cc: rudalics@gmx.at, 38013@debbugs.gnu.org Received: via spool by 38013-submit@debbugs.gnu.org id=B38013.157339375932092 (code B ref 38013); Sun, 10 Nov 2019 13:50:02 +0000 Received: (at 38013) by debbugs.gnu.org; 10 Nov 2019 13:49:19 +0000 Received: from localhost ([127.0.0.1]:50793 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iTnah-0008LX-3d for submit@debbugs.gnu.org; Sun, 10 Nov 2019 08:49:19 -0500 Received: from mail224c50.megamailservers.eu ([91.136.10.234]:56732 helo=mail33c50.megamailservers.eu) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iTnae-0008LN-OC for 38013@debbugs.gnu.org; Sun, 10 Nov 2019 08:49:18 -0500 X-Authenticated-User: mattiase@bredband.net DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=megamailservers.eu; s=maildub; t=1573393754; bh=UccSksed8DsbKD5Cv6zQKACJR4cfak0gVXCM2oojesA=; h=Subject:From:In-Reply-To:Date:Cc:References:To:From; b=RPEcGoPQNIPCJ0m064QbKlKATzQLEH0Z7drKPq41YKh48nleB7BkBm42elA8qez9/ cTgvn8vlN9FLjOu6/0D2YKfEBG+1eDOJGi5MzFKPrRJtFuNuW+uxLkfj0dTsvYbrFv kMhFHyoZkC0V+6/8uOEU3/1s2A5Flm7/msoRZYn8= Feedback-ID: mattiase@acm.or Received: from [192.168.1.64] (c-ee54e353.032-75-73746f71.bbcust.telenor.se [83.227.84.238]) (authenticated bits=0) by mail33c50.megamailservers.eu (8.14.9/8.13.1) with ESMTP id xAADnCWm011387; Sun, 10 Nov 2019 13:49:14 +0000 Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\)) From: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= In-Reply-To: <83bltk95p7.fsf@gnu.org> Date: Sun, 10 Nov 2019 14:49:11 +0100 Content-Transfer-Encoding: quoted-printable Message-Id: <60DD9D65-C3F0-470E-8489-B333E1889D32@acm.org> References: <83lft0m3ug.fsf@gnu.org> <3541E0E8-9E33-4FBD-B0D9-DFF77C241F6F@acm.org> <83y2wzlorw.fsf@gnu.org> <83v9s3lo5f.fsf@gnu.org> <75EC4FBC-F636-4D75-BAC4-982D85188794@acm.org> <9b9222ad-ead7-d0a0-0602-780d0680f070@gmx.at> <6bf229f4-c22f-c3c2-5158-5235f908de3c@gmx.at> <8ec84837-172c-1ce5-cab0-b4c96a86274e@gmx.at> <411EAB4E-B666-4263-8514-5F47391268B1@acm.org> <2df02c1f-fea4-f764-eba6-fd67de581755@gmx.at> <3b74a108-28e3-fd01-64a5-7c4302e3d979@gmx.at> <9A9D13F2-1F4F-4DD4-B92F-96FC4D91DFBD@acm.org> <83pni17x5b.fsf@gnu.org> <8B95D2D3-8E00-45BF-B57D-EFD49D79EB6A@acm.org> <83bltk95p7.fsf@gnu.org> X-Mailer: Apple Mail (2.3445.104.11) X-CTCH-RefID: str=0001.0A0B020C.5DC8155A.0032, ss=1, re=0.000, recu=0.000, reip=0.000, cl=1, cld=1, fgs=0 X-CTCH-VOD: Unknown X-CTCH-Spam: Unknown X-CTCH-Score: 0.000 X-CTCH-Rules: X-CTCH-Flags: 0 X-CTCH-ScoreCust: 0.000 X-CSC: 0 X-CHA: v=2.3 cv=ccisUULM c=1 sm=1 tr=0 a=Fmb7hdz85/yTNbhpOvpRKA==:117 a=Fmb7hdz85/yTNbhpOvpRKA==:17 a=jpOVt7BSZ2e4Z31A5e1TngXxSK0=:19 a=kj9zAlcOel0A:10 a=M51BFTxLslgA:10 a=mDV3o1hIAAAA:8 a=3z7fAHghEl-IxR7kj2EA:9 a=7Zwj6sZBwVKJAoWSPKxL6X1jA+E=:19 a=CjuIK1q_8ugA:10 a=_FVE-zBwftR9WsbkzFJk:22 X-Spam-Score: 0.3 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) 9 nov. 2019 kl. 21.04 skrev Eli Zaretskii : > I still see a 1-pixel thin "region" sometimes, which causes the text > to move horizontally. Such 'thin' regions (0 cells wide) are legitimate and useful for marking = a vertical span of insertion points. For example, they can be used with = 'C-x r t' or 'C-x r N'. They are produced in keyboard-based rectangle = selection (C-x SPC C-n C-n C-n) as well. > More importantly, if I drag the mouse through a > TAB, it moves in jumps of several columns, not one column at a time. The reason is that 'mouse-movement' events are not generated as long as = the mouse stays within the same glyph, and a tab counts as a (suitably = wide) single glyph. It can be worked around by zig-zagging the mouse a = bit, but I agree it's untidy. Fixing this requires some work on the lower-level plumbing which I'd = hoped to avoid. One possibility is to add a global flag that forces = 'remember_mouse_glyph' to consider all text glyphs to have nominal char = width, or just zero width. Or even simpler: assuming that STRETCH_GLYPHS are mostly tabs, we can = treat them as image glyphs for 'remember_mouse_glyph' purposes. What = about: --- a/src/xdisp.c +++ b/src/xdisp.c @@ -2572,7 +2572,7 @@ remember_mouse_glyph (struct frame *f, int gx, int = gy, NativeRectangle *rect) =20 if (g < end) { - if (g->type =3D=3D IMAGE_GLYPH) + if (g->type =3D=3D IMAGE_GLYPH || g->type =3D=3D = STRETCH_GLYPH) From unknown Sat Jun 21 05:17:43 2025 X-Loop: help-debbugs@gnu.org Subject: bug#38013: [PATCH] Rectangular region selection with mouse Resent-From: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 12 Nov 2019 14:27:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 38013 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Eli Zaretskii Cc: rudalics@gmx.at, 38013@debbugs.gnu.org Received: via spool by 38013-submit@debbugs.gnu.org id=B38013.15735687761286 (code B ref 38013); Tue, 12 Nov 2019 14:27:01 +0000 Received: (at 38013) by debbugs.gnu.org; 12 Nov 2019 14:26:16 +0000 Received: from localhost ([127.0.0.1]:56480 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iUX7X-0000Kg-NU for submit@debbugs.gnu.org; Tue, 12 Nov 2019 09:26:15 -0500 Received: from mail233c50.megamailservers.eu ([91.136.10.243]:54260 helo=mail37c50.megamailservers.eu) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iUX7U-0000KV-BF for 38013@debbugs.gnu.org; Tue, 12 Nov 2019 09:26:13 -0500 X-Authenticated-User: mattiase@bredband.net DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=megamailservers.eu; s=maildub; t=1573568770; bh=nSizMVsXoB0uCtMbNWD+ztq5jH7A0Fnd05jep+nGGJ4=; h=From:Subject:Date:In-Reply-To:Cc:To:References:From; b=QOnqVGsjSHaxAgxpEqMbjFaiYPuPEK+tTsmcXmakbbzIGk4CBwOPskv0miMgqXhv9 BmorAbBmsX02tnzhlLpMtnYUnMHc4hphyYZ5way2ZbwxdL1Dp5+F89hQdmIkcKSp1w 4Vn//x46vCnCPlgtCGRhf6Q7NWATR7f9QU1EfqzY= Feedback-ID: mattiase@acm.or Received: from [192.168.1.64] (c-ee54e353.032-75-73746f71.bbcust.telenor.se [83.227.84.238]) (authenticated bits=0) by mail37c50.megamailservers.eu (8.14.9/8.13.1) with ESMTP id xACEQ3NN015445; Tue, 12 Nov 2019 14:26:09 +0000 From: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= Message-Id: <5B77B5A9-BBD3-4DE4-B219-733B72A97BB9@acm.org> Content-Type: multipart/mixed; boundary="Apple-Mail=_5979A3D3-4E5E-4ED8-A482-1CA2AD677727" Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\)) Date: Tue, 12 Nov 2019 15:26:02 +0100 In-Reply-To: <60DD9D65-C3F0-470E-8489-B333E1889D32@acm.org> References: <83lft0m3ug.fsf@gnu.org> <3541E0E8-9E33-4FBD-B0D9-DFF77C241F6F@acm.org> <83y2wzlorw.fsf@gnu.org> <83v9s3lo5f.fsf@gnu.org> <75EC4FBC-F636-4D75-BAC4-982D85188794@acm.org> <9b9222ad-ead7-d0a0-0602-780d0680f070@gmx.at> <6bf229f4-c22f-c3c2-5158-5235f908de3c@gmx.at> <8ec84837-172c-1ce5-cab0-b4c96a86274e@gmx.at> <411EAB4E-B666-4263-8514-5F47391268B1@acm.org> <2df02c1f-fea4-f764-eba6-fd67de581755@gmx.at> <3b74a108-28e3-fd01-64a5-7c4302e3d979@gmx.at> <9A9D13F2-1F4F-4DD4-B92F-96FC4D91DFBD@acm.org> <83pni17x5b.fsf@gnu.org> <8B95D2D3-8E00-45BF-B57D-EFD49D79EB6A@acm.org> <83bltk95p7.fsf@gnu.org> <60DD9D65-C3F0-470E-8489-B333E1889D32@acm.org> X-Mailer: Apple Mail (2.3445.104.11) X-CTCH-RefID: str=0001.0A0B0215.5DCAC102.0018, ss=1, re=0.000, recu=0.000, reip=0.000, cl=1, cld=1, fgs=0 X-CTCH-VOD: Unknown X-CTCH-Spam: Unknown X-CTCH-Score: 0.000 X-CTCH-Rules: X-CTCH-Flags: 0 X-CTCH-ScoreCust: 0.000 X-CSC: 0 X-CHA: v=2.3 cv=eN1tc0h1 c=1 sm=1 tr=0 a=Fmb7hdz85/yTNbhpOvpRKA==:117 a=Fmb7hdz85/yTNbhpOvpRKA==:17 a=jpOVt7BSZ2e4Z31A5e1TngXxSK0=:19 a=M51BFTxLslgA:10 a=vPAzSKaTbiizVRBqPswA:9 a=CjuIK1q_8ugA:10 a=pXlk-SJ98M6gfw6tmO4A:9 a=7Zwj6sZBwVKJAoWSPKxL6X1jA+E=:19 a=B2y7HmGcmWMA:10 X-Spam-Score: 0.3 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) --Apple-Mail=_5979A3D3-4E5E-4ED8-A482-1CA2AD677727 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii This revised patch includes fine-grained mouse-movement events inside = stretch glyphs, controlled by 'mouse-movement-in-tab'. Eli, does this = fix the problems you observed? If desired, the variable could be generalised to = 'fine-grained-mouse-movement' and affect all movement (not just over = stretch glyphs). --Apple-Mail=_5979A3D3-4E5E-4ED8-A482-1CA2AD677727 Content-Disposition: attachment; filename=0001-Mouse-rectangular-region-selection-bug-38013.patch Content-Type: application/octet-stream; x-unix-mode=0644; name="0001-Mouse-rectangular-region-selection-bug-38013.patch" Content-Transfer-Encoding: quoted-printable =46rom=20eb5c272a373310cc039cd6e55b29367d4c076f66=20Mon=20Sep=2017=20= 00:00:00=202001=0AFrom:=20=3D?UTF-8?q?Mattias=3D20Engdeg=3DC3=3DA5rd?=3D=20= =0ADate:=20Fri,=2025=20Oct=202019=2011:16:39=20+0200=0A= Subject:=20[PATCH]=20Mouse=20rectangular=20region=20selection=20= (bug#38013)=0A=0AMake=20it=20possible=20to=20select=20a=20rectangular=20= region=20using=20the=20mouse.=0AThe=20standard=20binding=20is=20= C-M-mouse-1.=0A=0A*=20lisp/mouse.el=20(mouse-scroll-subr):=20Add=20= ADJUST=20argument.=0A(mouse-drag-region-rectangle):=20New.=0A*=20= src/xdisp.c=20(remember_mouse_glyph):=0A(syms_of_xdisp):=20Add=20= mouse-movement-in-tab,=20to=20allow=20fine-grained=0Amouse-movement=20= events=20inside=20tabs=20on=20the=20screen=20(stretch=20glyphs=0A= actually).=0A*=20doc/emacs/frames.texi=20(Mouse=20Commands):=0A*=20= doc/emacs/killing.texi=20(Rectangles):=0A*=20etc/NEWS=20(value):=20= Document.=0A---=0A=20doc/emacs/frames.texi=20=20|=20=204=20++=0A=20= doc/emacs/killing.texi=20|=20=203=20++=0A=20etc/NEWS=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20|=20=203=20++=0A=20lisp/mouse.el=20=20=20=20=20=20= =20=20=20=20|=2093=20+++++++++++++++++++++++++++++++++++++++++-=0A=20= src/xdisp.c=20=20=20=20=20=20=20=20=20=20=20=20|=2013=20++++--=0A=205=20= files=20changed,=20112=20insertions(+),=204=20deletions(-)=0A=0Adiff=20= --git=20a/doc/emacs/frames.texi=20b/doc/emacs/frames.texi=0Aindex=20= 091c011fb9..f6c2d23913=20100644=0A---=20a/doc/emacs/frames.texi=0A+++=20= b/doc/emacs/frames.texi=0A@@=20-91,6=20+91,10=20@@=20Mouse=20Commands=0A=20= click=20position;=20otherwise,=20set=20mark=20at=20the=20current=20value=20= of=20point=20and=0A=20point=20at=20the=20click=20position.=20=20Save=20= the=20resulting=20region=20in=20the=20kill=0A=20ring;=20on=20a=20second=20= click,=20kill=20it=20(@code{mouse-save-then-kill}).=0A+=0A+@item=20= C-M-mouse-1=0A+Activate=20a=20rectangular=20region=20around=20the=20text=20= selected=20by=20dragging.=0A+@xref{Rectangles}.=0A=20@end=20table=0A=20=0A= =20@findex=20mouse-set-point=0Adiff=20--git=20a/doc/emacs/killing.texi=20= b/doc/emacs/killing.texi=0Aindex=2080e2868908..ce00cb38a7=20100644=0A---=20= a/doc/emacs/killing.texi=0A+++=20b/doc/emacs/killing.texi=0A@@=20-732,6=20= +732,9=20@@=20Rectangles=0A=20and=20mark=20values=20can=20be=20= interpreted=20either=20as=20a=20region=20or=20as=20a=0A=20rectangle,=20= depending=20on=20the=20command=20that=20uses=20them.=0A=20=0A+=20=20A=20= rectangular=20region=20can=20also=20be=20marked=20using=20the=20mouse:=20= click=20and=20drag=0A+@kbd{C-M-mouse-1}=20from=20one=20corner=20of=20the=20= rectangle=20to=20the=20opposite.=0A+=0A=20@table=20@kbd=0A=20@item=20C-x=20= r=20k=0A=20Kill=20the=20text=20of=20the=20region-rectangle,=20saving=20= its=20contents=20as=20the=0Adiff=20--git=20a/etc/NEWS=20b/etc/NEWS=0A= index=2061b9f933f1..3d181b32da=20100644=0A---=20a/etc/NEWS=0A+++=20= b/etc/NEWS=0A@@=20-582,6=20+582,9=20@@=20region=20using=20a=20given=20= replacement-function=20in=20a=20non-destructive=20manner=0A=20arguments=20= mitigating=20performance=20issues=20when=20operating=20on=20huge=0A=20= buffers.=0A=20=0A++++=0A+**=20Dragging=20'C-M-mouse-1'=20now=20marks=20= rectangular=20regions.=0A+=0A=20+++=0A=20**=20The=20command=20= 'delete-indentation'=20now=20operates=20on=20the=20active=20region.=0A=20= If=20the=20region=20is=20active,=20the=20command=20joins=20all=20the=20= lines=20in=20the=0Adiff=20--git=20a/lisp/mouse.el=20b/lisp/mouse.el=0A= index=20238852ffdc..4de9684173=20100644=0A---=20a/lisp/mouse.el=0A+++=20= b/lisp/mouse.el=0A@@=20-1045,10=20+1045,12=20@@=20mouse-scroll-min-lines=0A= =20of=20lines=20specified=20by=20this=20variable."=0A=20=20=20:type=20= 'integer)=0A=20=0A-(defun=20mouse-scroll-subr=20(window=20jump=20= &optional=20overlay=20start)=0A+(defun=20mouse-scroll-subr=20(window=20= jump=20&optional=20overlay=20start=20adjust)=0A=20=20=20"Scroll=20the=20= window=20WINDOW,=20JUMP=20lines=20at=20a=20time,=20until=20new=20input=20= arrives.=0A=20If=20OVERLAY=20is=20an=20overlay,=20let=20it=20stretch=20= from=20START=20to=20the=20far=20edge=20of=0A=20the=20newly=20visible=20= text.=0A+ADJUST,=20if=20non-nil,=20is=20a=20function,=20without=20= arguments,=20to=20call=20after=0A+setting=20point.=0A=20Upon=20exit,=20= point=20is=20at=20the=20far=20edge=20of=20the=20newly=20visible=20text."=0A= =20=20=20(cond=0A=20=20=20=20((and=20(>=20jump=200)=20(<=20jump=20= mouse-scroll-min-lines))=0A@@=20-1077,6=20+1079,8=20@@=20= mouse-scroll-subr=0A=20=09=09=20=20=20;;=20so=20that=20we=20don't=20mess=20= up=20the=20selected=20window.=0A=20=09=09=20=20=20(or=20(eq=20window=20= (selected-window))=0A=20=09=09=20=20=20=20=20=20=20(goto-char=20opoint))=0A= +=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(when=20adjust=0A= +=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(funcall=20= adjust))=0A=20=09=09=20=20=20(sit-for=20mouse-scroll-delay)))))=0A=20=20=20= =20=20(or=20(eq=20window=20(selected-window))=0A=20=09(goto-char=20= opoint))))=0A@@=20-1960,6=20+1964,93=20@@=20= secondary-selection-from-region=0A=20=20=20=20=20(move-overlay=20= mouse-secondary-overlay=20(region-beginning)=20(region-end))))=0A=20=0A=20= =0C=0A+(defun=20mouse-drag-region-rectangle=20(start-event)=0A+=20=20= "Set=20the=20region=20to=20the=20rectangle=20that=20the=20mouse=20is=20= dragged=20over.=0A+This=20must=20be=20bound=20to=20a=20button-down=20= mouse=20event."=0A+=20=20(interactive=20"e")=0A+=20=20(let*=20= ((scroll-margin=200)=0A+=20=20=20=20=20=20=20=20=20(start-pos=20= (event-start=20start-event))=0A+=20=20=20=20=20=20=20=20=20(start-posn=20= (event-start=20start-event))=0A+=20=20=20=20=20=20=20=20=20(start-point=20= (posn-point=20start-posn))=0A+=20=20=20=20=20=20=20=20=20(start-window=20= (posn-window=20start-posn))=0A+=20=20=20=20=20=20=20=20=20(start-hscroll=20= (window-hscroll=20start-window))=0A+=20=20=20=20=20=20=20=20=20= (start-col=20(+=20(car=20(posn-col-row=20start-pos))=20start-hscroll))=0A= +=20=20=20=20=20=20=20=20=20(bounds=20(window-edges=20start-window))=0A+=20= =20=20=20=20=20=20=20=20(top=20(nth=201=20bounds))=0A+=20=20=20=20=20=20=20= =20=20(bottom=20(if=20(window-minibuffer-p=20start-window)=0A+=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(nth=203=20bounds)=0A= +=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(1-=20(nth=203=20= bounds))))=0A+=20=20=20=20=20=20=20=20=20(dragged=20nil)=0A+=20=20=20=20=20= =20=20=20=20(old-track-mouse=20track-mouse)=0A+=20=20=20=20=20=20=20=20=20= (old-mouse-movement-in-tab=20mouse-movement-in-tab))=0A+=20=20=20=20= (setq=20track-mouse=20t)=0A+=20=20=20=20(setq=20mouse-movement-in-tab=20= t)=0A+=20=20=20=20(set-transient-map=0A+=20=20=20=20=20(let=20((map=20= (make-sparse-keymap)))=0A+=20=20=20=20=20=20=20(define-key=20map=20= [switch-frame]=20#'ignore)=0A+=20=20=20=20=20=20=20(define-key=20map=20= [select-window]=20#'ignore)=0A+=20=20=20=20=20=20=20(define-key=20map=20= [mouse-movement]=0A+=20=20=20=20=20=20=20=20=20(lambda=20(event)=0A+=20=20= =20=20=20=20=20=20=20=20=20(interactive=20"e")=0A+=20=20=20=20=20=20=20=20= =20=20=20(unless=20dragged=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20;;=20= This=20is=20actually=20a=20drag.=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20= (mouse-minibuffer-check=20start-event)=0A+=20=20=20=20=20=20=20=20=20=20=20= =20=20(deactivate-mark)=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20= (posn-set-point=20start-pos)=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20= (rectangle-mark-mode)=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20;;=20= Tell=20the=20rectangle=20selection=20about=20the=20exact=20column,=0A+=20= =20=20=20=20=20=20=20=20=20=20=20=20;;=20since=20it=20might=20not=20= correspond=20exactly=20to=20a=20valid=0A+=20=20=20=20=20=20=20=20=20=20=20= =20=20;;=20position=20in=20the=20text.=0A+=20=20=20=20=20=20=20=20=20=20=20= =20=20(rectangle--col-pos=20start-col=20'mark)=0A+=20=20=20=20=20=20=20=20= =20=20=20=20=20(rectangle--col-pos=20start-col=20'point)=0A+=0A+=20=20=20= =20=20=20=20=20=20=20=20=20=20(setq=20dragged=20t))=0A+=0A+=20=20=20=20=20= =20=20=20=20=20=20(let*=20((posn=20(event-end=20event))=0A+=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20(window=20(posn-window=20posn))=0A= +=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(hscroll=20(if=20= (window-live-p=20window)=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(window-hscroll=20= window)=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=200))=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20(mouse-pos=20(mouse-position))=0A+=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20(mouse-col=20(+=20(cadr=20mouse-pos)=20= hscroll))=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= (mouse-row=20(cddr=20mouse-pos)))=0A+=20=20=20=20=20=20=20=20=20=20=20=20= =20(if=20(and=20(eq=20window=20start-window)=0A+=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20mouse-row=0A+=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(<=3D=20top=20mouse-row=20= (1-=20bottom)))=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20;;=20= Drag=20inside=20the=20same=20window.=0A+=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20(progn=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20(posn-set-point=20posn)=0A+=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20(rectangle--col-pos=20mouse-col=20'point))=0A+=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20;;=20Drag=20outside=20the=20= window:=20scroll.=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(cond=0A= +=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20((null=20mouse-row))=0A= +=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20((<=20mouse-row=20top)=0A= +=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(mouse-scroll-subr=0A= +=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20start-window=20(-=20= mouse-row=20top)=20nil=20start-point=0A+=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20(lambda=20()=20(rectangle--col-pos=20mouse-col=20= 'point))))=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20((>=3D=20= mouse-row=20bottom)=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= (mouse-scroll-subr=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20start-window=20(1+=20(-=20mouse-row=20bottom))=20nil=20start-point=0A= +=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(lambda=20()=20= (rectangle--col-pos=20mouse-col=20'point)))))))))=0A+=20=20=20=20=20=20=20= map)=0A+=20=20=20=20=20t=0A+=20=20=20=20=20(lambda=20()=0A+=20=20=20=20=20= =20=20(setq=20track-mouse=20old-track-mouse)=0A+=20=20=20=20=20=20=20= (setq=20mouse-movement-in-tab=20old-mouse-movement-in-tab)=0A+=20=20=20=20= =20=20=20(when=20(or=20(not=20dragged)=0A+=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20(not=20(mark))=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20(equal=20(rectangle-dimensions=20(mark)=20(point))=20'(0=20.=20= 1)))=0A+=20=20=20=20=20=20=20=20=20;;=20No=20nontrivial=20region=20= selected;=20deactivate=20rectangle=20mode.=0A+=20=20=20=20=20=20=20=20=20= (deactivate-mark))))))=0A+=0A+;;=20The=20drag=20event=20must=20be=20= bound=20to=20something=20but=20does=20not=20need=20any=20effect,=0A+;;=20= as=20everything=20takes=20place=20in=20`mouse-drag-region-rectangle'.=0A= +;;=20The=20click=20event=20can=20be=20anything;=20`mouse-set-point'=20= is=20just=20a=20convenience.=0A+(global-set-key=20[C-M-down-mouse-1]=20= #'mouse-drag-region-rectangle)=0A+(global-set-key=20[C-M-drag-mouse-1]=20= #'ignore)=0A+(global-set-key=20[C-M-mouse-1]=20=20=20=20=20=20= #'mouse-set-point)=0A+=0A+=0C=0A=20(defcustom=20mouse-buffer-menu-maxlen=20= 20=0A=20=20=20"Number=20of=20buffers=20in=20one=20pane=20(submenu)=20of=20= the=20buffer=20menu.=0A=20If=20we=20have=20lots=20of=20buffers,=20divide=20= them=20into=20groups=20of=0Adiff=20--git=20a/src/xdisp.c=20b/src/xdisp.c=0A= index=208aefab964a..717a94e385=20100644=0A---=20a/src/xdisp.c=0A+++=20= b/src/xdisp.c=0A@@=20-2572,10=20+2572,11=20@@=20remember_mouse_glyph=20= (struct=20frame=20*f,=20int=20gx,=20int=20gy,=20NativeRectangle=20*rect)=0A= =20=0A=20=09=20=20if=20(g=20<=20end)=0A=20=09=20=20=20=20{=0A-=09=20=20=20= =20=20=20if=20(g->type=20=3D=3D=20IMAGE_GLYPH)=0A+=09=20=20=20=20=20=20= if=20(g->type=20=3D=3D=20IMAGE_GLYPH=0A+=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20||=20(g->type=20=3D=3D=20STRETCH_GLYPH=20&&=20= mouse_movement_in_tab))=0A=20=09=09{=0A-=09=09=20=20/*=20Don't=20= remember=20when=20mouse=20is=20over=20image,=20as=0A-=09=09=20=20=20=20=20= image=20may=20have=20hot-spots.=20=20*/=0A+=09=09=20=20/*=20Don't=20= remember=20when=20mouse=20is=20over=20an=20image,=20as=0A+=09=09=20=20=20= =20=20images=20may=20have=20hot-spots.=20=20*/=0A=20=09=09=20=20= STORE_NATIVE_RECT=20(*rect,=200,=200,=200,=200);=0A=20=09=09=20=20= return;=0A=20=09=09}=0A@@=20-34939,6=20+34940,12=20@@=20syms_of_xdisp=20= (void)=0A=20may=20be=20more=20familiar=20to=20users.=20=20*/);=0A=20=20=20= display_raw_bytes_as_hex=20=3D=20false;=0A=20=0A+=20=20DEFVAR_BOOL=20= ("mouse-movement-in-tab",=20mouse_movement_in_tab,=0A+=20=20=20=20doc:=20= /*=20Non-nil=20means=20generate=20mouse-movement=20events=20inside=20tab=20= chars.=0A+When=20nil,=20mouse-movement=20events=20will=20not=20be=20= generated=20as=20long=20as=20the=0A+mouse=20stays=20within=20the=20= extent=20of=20a=20single=20tab=20character.=20=20*/);=0A+=20=20= mouse_movement_in_tab=20=3D=20false;=0A+=0A=20}=0A=20=0A=20=0A--=20=0A= 2.21.0=20(Apple=20Git-122)=0A=0A= --Apple-Mail=_5979A3D3-4E5E-4ED8-A482-1CA2AD677727-- From unknown Sat Jun 21 05:17:43 2025 X-Loop: help-debbugs@gnu.org Subject: bug#38013: [PATCH] Rectangular region selection with mouse Resent-From: Drew Adams Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 12 Nov 2019 15:40:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 38013 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= , Eli Zaretskii Cc: 38013@debbugs.gnu.org Received: via spool by 38013-submit@debbugs.gnu.org id=B38013.15735731829901 (code B ref 38013); Tue, 12 Nov 2019 15:40:02 +0000 Received: (at 38013) by debbugs.gnu.org; 12 Nov 2019 15:39:42 +0000 Received: from localhost ([127.0.0.1]:58213 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iUYGc-0002Zd-GP for submit@debbugs.gnu.org; Tue, 12 Nov 2019 10:39:42 -0500 Received: from aserp2120.oracle.com ([141.146.126.78]:50822) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iUYGa-0002ZO-1w for 38013@debbugs.gnu.org; Tue, 12 Nov 2019 10:39:40 -0500 Received: from pps.filterd (aserp2120.oracle.com [127.0.0.1]) by aserp2120.oracle.com (8.16.0.27/8.16.0.27) with SMTP id xACFOqEA091761; Tue, 12 Nov 2019 15:39:29 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=mime-version : message-id : date : from : sender : to : cc : subject : references : in-reply-to : content-type : content-transfer-encoding; s=corp-2019-08-05; bh=5Sw4YD2+nkeD7txaBNpPmTfifVUcSstlM2yxDhkOXtA=; b=bICeIyuMhkpf230wSdeNWb2on1LJw/xQVyNE757mnXmNoHc8EZalTmAOm1wzO7RumuO2 RIyDELRGKM/QTh4ACvBuzPZRapPVUDea3eIEA9ALpCZpEcdyjSOyiaXYrOvD0cQllvft IRGrpiOpzpBFRLuCBYa6C5mt7wWhuaED2HdAT2pxOLlxCr9OGLDU7IeBAI7Lmoef5Iu6 EBYFXahM2r7AFJ3Gs8/9ksQ7obPbMJqJDholZKUtFDWQ+JsTgRKaBxM+1I8b5ZYJe3V5 Hd64peVOM31rl0CQlehnzwYn9ibj0VA7yA+e7fSmY31C2R5MItCAaBmVGUY5z4mxXnQB JA== Received: from aserp3030.oracle.com (aserp3030.oracle.com [141.146.126.71]) by aserp2120.oracle.com with ESMTP id 2w5ndq5nje-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 12 Nov 2019 15:39:29 +0000 Received: from pps.filterd (aserp3030.oracle.com [127.0.0.1]) by aserp3030.oracle.com (8.16.0.27/8.16.0.27) with SMTP id xACFOTK4102406; Tue, 12 Nov 2019 15:39:29 GMT Received: from aserv0121.oracle.com (aserv0121.oracle.com [141.146.126.235]) by aserp3030.oracle.com with ESMTP id 2w7vpmft54-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 12 Nov 2019 15:39:28 +0000 Received: from abhmp0002.oracle.com (abhmp0002.oracle.com [141.146.116.8]) by aserv0121.oracle.com (8.14.4/8.13.8) with ESMTP id xACFdSov002783; Tue, 12 Nov 2019 15:39:28 GMT MIME-Version: 1.0 Message-ID: <12cbbacc-d189-4e8a-99f4-cae7a1784511@default> Date: Tue, 12 Nov 2019 15:39:27 +0000 (UTC) From: Drew Adams References: <83lft0m3ug.fsf@gnu.org> <3541E0E8-9E33-4FBD-B0D9-DFF77C241F6F@acm.org> <83y2wzlorw.fsf@gnu.org> <83v9s3lo5f.fsf@gnu.org> <75EC4FBC-F636-4D75-BAC4-982D85188794@acm.org> <9b9222ad-ead7-d0a0-0602-780d0680f070@gmx.at> <6bf229f4-c22f-c3c2-5158-5235f908de3c@gmx.at> <8ec84837-172c-1ce5-cab0-b4c96a86274e@gmx.at> <411EAB4E-B666-4263-8514-5F47391268B1@acm.org> <2df02c1f-fea4-f764-eba6-fd67de581755@gmx.at> <3b74a108-28e3-fd01-64a5-7c4302e3d979@gmx.at> <9A9D13F2-1F4F-4DD4-B92F-96FC4D91DFBD@acm.org> <83pni17x5b.fsf@gnu.org> <8B95D2D3-8E00-45BF-B57D-EFD49D79EB6A@acm.org> <83bltk95p7.fsf@gnu.org> <60DD9D65-C3F0-470E-8489-B333E1889D32@acm.org> <5B77B5A9-BBD3-4DE4-B219-733B72A97BB9@acm.org> In-Reply-To: <5B77B5A9-BBD3-4DE4-B219-733B72A97BB9@acm.org> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9.1 (1003210) [OL 16.0.4900.0 (x86)] Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9438 signatures=668685 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 mlxscore=0 mlxlogscore=866 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1910280000 definitions=main-1911120134 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9438 signatures=668685 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 priorityscore=1501 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=932 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1910280000 definitions=main-1911120134 X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Again, this is wrong: "Dragging 'C-M-mouse-1' now marks rectangular regions." This shouldn't be done, IMO. No default binding should be made for this. After years of user experience, we can, if appropriate, provide a default binding based on what users actually use. There's no good excuse for doing that now, IMHO.=20 From unknown Sat Jun 21 05:17:43 2025 X-Loop: help-debbugs@gnu.org Subject: bug#38013: [PATCH] Rectangular region selection with mouse Resent-From: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 14 Nov 2019 13:57:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 38013 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Eli Zaretskii Cc: rudalics@gmx.at, 38013@debbugs.gnu.org Received: via spool by 38013-submit@debbugs.gnu.org id=B38013.157373980732475 (code B ref 38013); Thu, 14 Nov 2019 13:57:02 +0000 Received: (at 38013) by debbugs.gnu.org; 14 Nov 2019 13:56:47 +0000 Received: from localhost ([127.0.0.1]:32907 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iVFc6-0008Rh-O7 for submit@debbugs.gnu.org; Thu, 14 Nov 2019 08:56:47 -0500 Received: from mail1460c50.megamailservers.eu ([91.136.14.60]:43798 helo=mail267c50.megamailservers.eu) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iVFc3-0008RP-Ql for 38013@debbugs.gnu.org; Thu, 14 Nov 2019 08:56:44 -0500 X-Authenticated-User: mattiase@bredband.net DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=megamailservers.eu; s=maildub; t=1573739797; bh=rz/g3DRQo/2JTpbUmb1jHxyyVvOhM/jR+Onyw0wfQLE=; h=From:Subject:Date:In-Reply-To:Cc:To:References:From; b=WvYOhuGtfGS4ZCDRZBhccuOL28eXzoIx1jyB72SvS4e+Yiqj7Uf01z3jZ68fVoUZJ icHT7Hyr/BeyIEdArYzDo1IK6j82YSdvj55Uj8kmao6defZbwwwYTx6mFTNhAHljd0 ivzVW9yMkQr95RZ1eAPD+qhr4JwCUvPPq6Em/JjA= Feedback-ID: mattiase@acm.or Received: from [192.168.1.64] (c-ee54e353.032-75-73746f71.bbcust.telenor.se [83.227.84.238]) (authenticated bits=0) by mail267c50.megamailservers.eu (8.14.9/8.13.1) with ESMTP id xAEDuYIT013796; Thu, 14 Nov 2019 13:56:36 +0000 From: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= Message-Id: Content-Type: multipart/mixed; boundary="Apple-Mail=_DF8473D9-D69C-4142-B197-3DAAB77D7E64" Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\)) Date: Thu, 14 Nov 2019 14:56:34 +0100 In-Reply-To: <5B77B5A9-BBD3-4DE4-B219-733B72A97BB9@acm.org> References: <83lft0m3ug.fsf@gnu.org> <3541E0E8-9E33-4FBD-B0D9-DFF77C241F6F@acm.org> <83y2wzlorw.fsf@gnu.org> <83v9s3lo5f.fsf@gnu.org> <75EC4FBC-F636-4D75-BAC4-982D85188794@acm.org> <9b9222ad-ead7-d0a0-0602-780d0680f070@gmx.at> <6bf229f4-c22f-c3c2-5158-5235f908de3c@gmx.at> <8ec84837-172c-1ce5-cab0-b4c96a86274e@gmx.at> <411EAB4E-B666-4263-8514-5F47391268B1@acm.org> <2df02c1f-fea4-f764-eba6-fd67de581755@gmx.at> <3b74a108-28e3-fd01-64a5-7c4302e3d979@gmx.at> <9A9D13F2-1F4F-4DD4-B92F-96FC4D91DFBD@acm.org> <83pni17x5b.fsf@gnu.org> <8B95D2D3-8E00-45BF-B57D-EFD49D79EB6A@acm.org> <83bltk95p7.fsf@gnu.org> <60DD9D65-C3F0-470E-8489-B333E1889D32@acm.org> <5B77B5A9-BBD3-4DE4-B219-733B72A97BB9@acm.org> X-Mailer: Apple Mail (2.3445.104.11) X-CTCH-RefID: str=0001.0A0B020D.5DCD5D15.000E, ss=1, re=0.000, recu=0.000, reip=0.000, cl=1, cld=1, fgs=0 X-CTCH-VOD: Unknown X-CTCH-Spam: Unknown X-CTCH-Score: 0.000 X-CTCH-Rules: X-CTCH-Flags: 0 X-CTCH-ScoreCust: 0.000 X-CSC: 0 X-CHA: v=2.3 cv=OY7m8SbY c=1 sm=1 tr=0 a=Fmb7hdz85/yTNbhpOvpRKA==:117 a=Fmb7hdz85/yTNbhpOvpRKA==:17 a=jpOVt7BSZ2e4Z31A5e1TngXxSK0=:19 a=M51BFTxLslgA:10 a=dJFdPsr3Iqv5VF1xaBQA:9 a=CjuIK1q_8ugA:10 a=wndI0nGQA_oCs6zytDMA:9 a=7Zwj6sZBwVKJAoWSPKxL6X1jA+E=:19 a=B2y7HmGcmWMA:10 X-Spam-Score: 1.4 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Slightly polished patch, where the variable is now 'fine-grained-mouse-movement' which seems more generally useful. Please review. Content analysis details: (1.4 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [URIs: megamailservers.eu] 1.0 SPF_SOFTFAIL SPF: sender does not match SPF record (softfail) 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 0.4 KHOP_HELO_FCRDNS Relay HELO differs from its IP's reverse DNS X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) --Apple-Mail=_DF8473D9-D69C-4142-B197-3DAAB77D7E64 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii Slightly polished patch, where the variable is now = 'fine-grained-mouse-movement' which seems more generally useful. Please = review. --Apple-Mail=_DF8473D9-D69C-4142-B197-3DAAB77D7E64 Content-Disposition: attachment; filename=0001-Mouse-rectangular-region-selection-bug-38013.patch Content-Type: application/octet-stream; x-unix-mode=0644; name="0001-Mouse-rectangular-region-selection-bug-38013.patch" Content-Transfer-Encoding: quoted-printable =46rom=20b18836b6a23843ce5ca4cdb3524b0b1a3f210f8d=20Mon=20Sep=2017=20= 00:00:00=202001=0AFrom:=20=3D?UTF-8?q?Mattias=3D20Engdeg=3DC3=3DA5rd?=3D=20= =0ADate:=20Fri,=2025=20Oct=202019=2011:16:39=20+0200=0A= Subject:=20[PATCH]=20Mouse=20rectangular=20region=20selection=20= (bug#38013)=0A=0AMake=20it=20possible=20to=20select=20a=20rectangular=20= region=20using=20the=20mouse.=0AThe=20standard=20binding=20is=20= C-M-mouse-1.=0A=0A*=20lisp/mouse.el=20(mouse-scroll-subr):=20Add=20= ADJUST=20argument.=0A(mouse-drag-region-rectangle):=20New.=0A*=20= src/xdisp.c=20(remember_mouse_glyph,=20syms_of_xdisp):=0AAdd=20= 'fine-grained-mouse-movement'.=0A*=20doc/emacs/frames.texi=20(Mouse=20= Commands):=0A*=20doc/emacs/killing.texi=20(Rectangles):=0A*=20= doc/lispref/commands.texi=20(Motion=20Events):=0A*=20etc/NEWS:=20= Document.=0A---=0A=20doc/emacs/frames.texi=20=20=20=20=20|=20=204=20++=0A= =20doc/emacs/killing.texi=20=20=20=20|=20=203=20++=0A=20= doc/lispref/commands.texi=20|=20=206=20+++=0A=20etc/NEWS=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20|=20=203=20++=0A=20lisp/mouse.el=20=20= =20=20=20=20=20=20=20=20=20=20=20|=2093=20= ++++++++++++++++++++++++++++++++++++++-=0A=20src/xdisp.c=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20|=2012=20+++++=0A=206=20files=20changed,=20= 120=20insertions(+),=201=20deletion(-)=0A=0Adiff=20--git=20= a/doc/emacs/frames.texi=20b/doc/emacs/frames.texi=0Aindex=20= 091c011fb9..f6c2d23913=20100644=0A---=20a/doc/emacs/frames.texi=0A+++=20= b/doc/emacs/frames.texi=0A@@=20-91,6=20+91,10=20@@=20Mouse=20Commands=0A=20= click=20position;=20otherwise,=20set=20mark=20at=20the=20current=20value=20= of=20point=20and=0A=20point=20at=20the=20click=20position.=20=20Save=20= the=20resulting=20region=20in=20the=20kill=0A=20ring;=20on=20a=20second=20= click,=20kill=20it=20(@code{mouse-save-then-kill}).=0A+=0A+@item=20= C-M-mouse-1=0A+Activate=20a=20rectangular=20region=20around=20the=20text=20= selected=20by=20dragging.=0A+@xref{Rectangles}.=0A=20@end=20table=0A=20=0A= =20@findex=20mouse-set-point=0Adiff=20--git=20a/doc/emacs/killing.texi=20= b/doc/emacs/killing.texi=0Aindex=2080e2868908..ce00cb38a7=20100644=0A---=20= a/doc/emacs/killing.texi=0A+++=20b/doc/emacs/killing.texi=0A@@=20-732,6=20= +732,9=20@@=20Rectangles=0A=20and=20mark=20values=20can=20be=20= interpreted=20either=20as=20a=20region=20or=20as=20a=0A=20rectangle,=20= depending=20on=20the=20command=20that=20uses=20them.=0A=20=0A+=20=20A=20= rectangular=20region=20can=20also=20be=20marked=20using=20the=20mouse:=20= click=20and=20drag=0A+@kbd{C-M-mouse-1}=20from=20one=20corner=20of=20the=20= rectangle=20to=20the=20opposite.=0A+=0A=20@table=20@kbd=0A=20@item=20C-x=20= r=20k=0A=20Kill=20the=20text=20of=20the=20region-rectangle,=20saving=20= its=20contents=20as=20the=0Adiff=20--git=20a/doc/lispref/commands.texi=20= b/doc/lispref/commands.texi=0Aindex=200c848a8025..8a614c721f=20100644=0A= ---=20a/doc/lispref/commands.texi=0A+++=20b/doc/lispref/commands.texi=0A= @@=20-1661,6=20+1661,12=20@@=20Motion=20Events=0A=20does=20not=20= generate=20events=20for=20mere=20motion=20of=20the=20mouse,=20and=20= these=0A=20events=20do=20not=20appear.=20=20@xref{Mouse=20Tracking}.=0A=20= =0A+@defvar=20fine-grained-mouse-movement=0A+When=20non-@code{nil},=20= mouse=20motion=20events=20are=20generated=20even=20for=20very=0A+small=20= movements.=20=20Otherwise,=20motion=20events=20are=20not=20generated=20= as=20long=0A+as=20the=20mouse=20cursor=20remains=20pointing=20to=20the=20= same=20glyph=20in=20the=20text.=0A+@end=20defvar=0A+=0A=20@node=20Focus=20= Events=0A=20@subsection=20Focus=20Events=0A=20@cindex=20focus=20event=0A= diff=20--git=20a/etc/NEWS=20b/etc/NEWS=0Aindex=20485d2b1fdf..db00d40bb6=20= 100644=0A---=20a/etc/NEWS=0A+++=20b/etc/NEWS=0A@@=20-582,6=20+582,9=20@@=20= region=20using=20a=20given=20replacement-function=20in=20a=20= non-destructive=20manner=0A=20arguments=20mitigating=20performance=20= issues=20when=20operating=20on=20huge=0A=20buffers.=0A=20=0A++++=0A+**=20= Dragging=20'C-M-mouse-1'=20now=20marks=20rectangular=20regions.=0A+=0A=20= +++=0A=20**=20The=20command=20'delete-indentation'=20now=20operates=20on=20= the=20active=20region.=0A=20If=20the=20region=20is=20active,=20the=20= command=20joins=20all=20the=20lines=20in=20the=0Adiff=20--git=20= a/lisp/mouse.el=20b/lisp/mouse.el=0Aindex=20238852ffdc..b4c297d0b4=20= 100644=0A---=20a/lisp/mouse.el=0A+++=20b/lisp/mouse.el=0A@@=20-1045,10=20= +1045,12=20@@=20mouse-scroll-min-lines=0A=20of=20lines=20specified=20by=20= this=20variable."=0A=20=20=20:type=20'integer)=0A=20=0A-(defun=20= mouse-scroll-subr=20(window=20jump=20&optional=20overlay=20start)=0A= +(defun=20mouse-scroll-subr=20(window=20jump=20&optional=20overlay=20= start=20adjust)=0A=20=20=20"Scroll=20the=20window=20WINDOW,=20JUMP=20= lines=20at=20a=20time,=20until=20new=20input=20arrives.=0A=20If=20= OVERLAY=20is=20an=20overlay,=20let=20it=20stretch=20from=20START=20to=20= the=20far=20edge=20of=0A=20the=20newly=20visible=20text.=0A+ADJUST,=20if=20= non-nil,=20is=20a=20function,=20without=20arguments,=20to=20call=20after=0A= +setting=20point.=0A=20Upon=20exit,=20point=20is=20at=20the=20far=20edge=20= of=20the=20newly=20visible=20text."=0A=20=20=20(cond=0A=20=20=20=20((and=20= (>=20jump=200)=20(<=20jump=20mouse-scroll-min-lines))=0A@@=20-1077,6=20= +1079,8=20@@=20mouse-scroll-subr=0A=20=09=09=20=20=20;;=20so=20that=20we=20= don't=20mess=20up=20the=20selected=20window.=0A=20=09=09=20=20=20(or=20= (eq=20window=20(selected-window))=0A=20=09=09=20=20=20=20=20=20=20= (goto-char=20opoint))=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20(when=20adjust=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20(funcall=20adjust))=0A=20=09=09=20=20=20(sit-for=20= mouse-scroll-delay)))))=0A=20=20=20=20=20(or=20(eq=20window=20= (selected-window))=0A=20=09(goto-char=20opoint))))=0A@@=20-1960,6=20= +1964,93=20@@=20secondary-selection-from-region=0A=20=20=20=20=20= (move-overlay=20mouse-secondary-overlay=20(region-beginning)=20= (region-end))))=0A=20=0A=20=0C=0A+(defun=20mouse-drag-region-rectangle=20= (start-event)=0A+=20=20"Set=20the=20region=20to=20the=20rectangle=20that=20= the=20mouse=20is=20dragged=20over.=0A+This=20must=20be=20bound=20to=20a=20= button-down=20mouse=20event."=0A+=20=20(interactive=20"e")=0A+=20=20= (let*=20((scroll-margin=200)=0A+=20=20=20=20=20=20=20=20=20(start-pos=20= (event-start=20start-event))=0A+=20=20=20=20=20=20=20=20=20(start-posn=20= (event-start=20start-event))=0A+=20=20=20=20=20=20=20=20=20(start-point=20= (posn-point=20start-posn))=0A+=20=20=20=20=20=20=20=20=20(start-window=20= (posn-window=20start-posn))=0A+=20=20=20=20=20=20=20=20=20(start-hscroll=20= (window-hscroll=20start-window))=0A+=20=20=20=20=20=20=20=20=20= (start-col=20(+=20(car=20(posn-col-row=20start-pos))=20start-hscroll))=0A= +=20=20=20=20=20=20=20=20=20(bounds=20(window-edges=20start-window))=0A+=20= =20=20=20=20=20=20=20=20(top=20(nth=201=20bounds))=0A+=20=20=20=20=20=20=20= =20=20(bottom=20(if=20(window-minibuffer-p=20start-window)=0A+=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(nth=203=20bounds)=0A= +=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(1-=20(nth=203=20= bounds))))=0A+=20=20=20=20=20=20=20=20=20(dragged=20nil)=0A+=20=20=20=20=20= =20=20=20=20(old-track-mouse=20track-mouse)=0A+=20=20=20=20=20=20=20=20=20= (old-fine-grained-mouse-movement=20fine-grained-mouse-movement))=0A+=20=20= =20=20(setq=20track-mouse=20t)=0A+=20=20=20=20(setq=20= fine-grained-mouse-movement=20t)=0A+=20=20=20=20(set-transient-map=0A+=20= =20=20=20=20(let=20((map=20(make-sparse-keymap)))=0A+=20=20=20=20=20=20=20= (define-key=20map=20[switch-frame]=20#'ignore)=0A+=20=20=20=20=20=20=20= (define-key=20map=20[select-window]=20#'ignore)=0A+=20=20=20=20=20=20=20= (define-key=20map=20[mouse-movement]=0A+=20=20=20=20=20=20=20=20=20= (lambda=20(event)=0A+=20=20=20=20=20=20=20=20=20=20=20(interactive=20= "e")=0A+=20=20=20=20=20=20=20=20=20=20=20(unless=20dragged=0A+=20=20=20=20= =20=20=20=20=20=20=20=20=20;;=20This=20is=20actually=20a=20drag.=0A+=20=20= =20=20=20=20=20=20=20=20=20=20=20(mouse-minibuffer-check=20start-event)=0A= +=20=20=20=20=20=20=20=20=20=20=20=20=20(deactivate-mark)=0A+=20=20=20=20= =20=20=20=20=20=20=20=20=20(posn-set-point=20start-pos)=0A+=20=20=20=20=20= =20=20=20=20=20=20=20=20(rectangle-mark-mode)=0A+=20=20=20=20=20=20=20=20= =20=20=20=20=20;;=20Tell=20the=20rectangle=20selection=20about=20the=20= exact=20column,=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20;;=20since=20= it=20might=20not=20correspond=20exactly=20to=20a=20valid=0A+=20=20=20=20=20= =20=20=20=20=20=20=20=20;;=20position=20in=20the=20text.=0A+=20=20=20=20=20= =20=20=20=20=20=20=20=20(rectangle--col-pos=20start-col=20'mark)=0A+=20=20= =20=20=20=20=20=20=20=20=20=20=20(rectangle--col-pos=20start-col=20= 'point)=0A+=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20(setq=20dragged=20= t))=0A+=0A+=20=20=20=20=20=20=20=20=20=20=20(let*=20((posn=20(event-end=20= event))=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(window=20= (posn-window=20posn))=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20(hscroll=20(if=20(window-live-p=20window)=0A+=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= (window-hscroll=20window)=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=200))=0A+=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20(mouse-pos=20(mouse-position))=0A+=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(mouse-col=20(+=20(cadr=20= mouse-pos)=20hscroll))=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20(mouse-row=20(cddr=20mouse-pos)))=0A+=20=20=20=20=20=20=20=20=20=20= =20=20=20(if=20(and=20(eq=20window=20start-window)=0A+=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20mouse-row=0A+=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(<=3D=20top=20= mouse-row=20(1-=20bottom)))=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20;;=20Drag=20inside=20the=20same=20window.=0A+=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20(progn=0A+=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20(posn-set-point=20posn)=0A+=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20(rectangle--col-pos=20mouse-col=20= 'point))=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20;;=20Drag=20= outside=20the=20window:=20scroll.=0A+=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20(cond=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20((null=20= mouse-row))=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20((<=20= mouse-row=20top)=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= (mouse-scroll-subr=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20start-window=20(-=20mouse-row=20top)=20nil=20start-point=0A+=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20(lambda=20()=20= (rectangle--col-pos=20mouse-col=20'point))))=0A+=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20((>=3D=20mouse-row=20bottom)=0A+=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20(mouse-scroll-subr=0A+=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20start-window=20(1+=20(-=20mouse-row=20= bottom))=20nil=20start-point=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20(lambda=20()=20(rectangle--col-pos=20mouse-col=20= 'point)))))))))=0A+=20=20=20=20=20=20=20map)=0A+=20=20=20=20=20t=0A+=20=20= =20=20=20(lambda=20()=0A+=20=20=20=20=20=20=20(setq=20track-mouse=20= old-track-mouse)=0A+=20=20=20=20=20=20=20(setq=20= fine-grained-mouse-movement=20old-fine-grained-mouse-movement)=0A+=20=20=20= =20=20=20=20(when=20(or=20(not=20dragged)=0A+=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20(not=20(mark))=0A+=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20(equal=20(rectangle-dimensions=20(mark)=20(point))=20'(0=20= .=201)))=0A+=20=20=20=20=20=20=20=20=20;;=20No=20nontrivial=20region=20= selected;=20deactivate=20rectangle=20mode.=0A+=20=20=20=20=20=20=20=20=20= (deactivate-mark))))))=0A+=0A+;;=20The=20drag=20event=20must=20be=20= bound=20to=20something=20but=20does=20not=20need=20any=20effect,=0A+;;=20= as=20everything=20takes=20place=20in=20`mouse-drag-region-rectangle'.=0A= +;;=20The=20click=20event=20can=20be=20anything;=20`mouse-set-point'=20= is=20just=20a=20convenience.=0A+(global-set-key=20[C-M-down-mouse-1]=20= #'mouse-drag-region-rectangle)=0A+(global-set-key=20[C-M-drag-mouse-1]=20= #'ignore)=0A+(global-set-key=20[C-M-mouse-1]=20=20=20=20=20=20= #'mouse-set-point)=0A+=0A+=0C=0A=20(defcustom=20mouse-buffer-menu-maxlen=20= 20=0A=20=20=20"Number=20of=20buffers=20in=20one=20pane=20(submenu)=20of=20= the=20buffer=20menu.=0A=20If=20we=20have=20lots=20of=20buffers,=20divide=20= them=20into=20groups=20of=0Adiff=20--git=20a/src/xdisp.c=20b/src/xdisp.c=0A= index=208aefab964a..9b4484e899=20100644=0A---=20a/src/xdisp.c=0A+++=20= b/src/xdisp.c=0A@@=20-2491,6=20+2491,12=20@@=20remember_mouse_glyph=20= (struct=20frame=20*f,=20int=20gx,=20int=20gy,=20NativeRectangle=20*rect)=0A= =20=20=20enum=20glyph_row_area=20area;=0A=20=20=20int=20x,=20y,=20width,=20= height;=0A=20=0A+=20=20if=20(fine_grained_mouse_movement)=0A+=20=20=20=20= {=0A+=20=20=20=20=20=20STORE_NATIVE_RECT=20(*rect,=20gx,=20gy,=201,=20= 1);=0A+=20=20=20=20=20=20return;=0A+=20=20=20=20}=0A+=0A=20=20=20/*=20= Try=20to=20determine=20frame=20pixel=20position=20and=20size=20of=20the=20= glyph=20under=0A=20=20=20=20=20=20frame=20pixel=20coordinates=20X/Y=20on=20= frame=20F.=20=20*/=0A=20=0A@@=20-34939,6=20+34945,12=20@@=20= syms_of_xdisp=20(void)=0A=20may=20be=20more=20familiar=20to=20users.=20=20= */);=0A=20=20=20display_raw_bytes_as_hex=20=3D=20false;=0A=20=0A+=20=20= DEFVAR_BOOL=20("fine-grained-mouse-movement",=20= fine_grained_mouse_movement,=0A+=20=20=20=20doc:=20/*=20Non-nil=20for=20= pixel-wise=20mouse-movement.=0A+When=20nil,=20mouse-movement=20events=20= will=20not=20be=20generated=20as=20long=20as=20the=0A+mouse=20stays=20= within=20the=20extent=20of=20a=20single=20glyph=20(except=20for=20= images).=20=20*/);=0A+=20=20fine_grained_mouse_movement=20=3D=20false;=0A= +=0A=20}=0A=20=0A=20=0A--=20=0A2.21.0=20(Apple=20Git-122)=0A=0A= --Apple-Mail=_DF8473D9-D69C-4142-B197-3DAAB77D7E64-- From unknown Sat Jun 21 05:17:43 2025 X-Loop: help-debbugs@gnu.org Subject: bug#38013: [PATCH] Rectangular region selection with mouse Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 16 Nov 2019 12:36:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 38013 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= Cc: rudalics@gmx.at, 38013@debbugs.gnu.org Received: via spool by 38013-submit@debbugs.gnu.org id=B38013.15739077525749 (code B ref 38013); Sat, 16 Nov 2019 12:36:01 +0000 Received: (at 38013) by debbugs.gnu.org; 16 Nov 2019 12:35:52 +0000 Received: from localhost ([127.0.0.1]:37817 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iVxIt-0001Ue-OX for submit@debbugs.gnu.org; Sat, 16 Nov 2019 07:35:52 -0500 Received: from eggs.gnu.org ([209.51.188.92]:55265) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iVxIr-0001UN-IP for 38013@debbugs.gnu.org; Sat, 16 Nov 2019 07:35:50 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:48376) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1iVxIl-0004r6-QU; Sat, 16 Nov 2019 07:35:43 -0500 Received: from [176.228.60.248] (port=4106 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1iVxIl-0005e1-4n; Sat, 16 Nov 2019 07:35:43 -0500 Date: Sat, 16 Nov 2019 14:35:41 +0200 Message-Id: <83ftio6lsy.fsf@gnu.org> From: Eli Zaretskii In-reply-to: <60DD9D65-C3F0-470E-8489-B333E1889D32@acm.org> (message from Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= on Sun, 10 Nov 2019 14:49:11 +0100) References: <83lft0m3ug.fsf@gnu.org> <3541E0E8-9E33-4FBD-B0D9-DFF77C241F6F@acm.org> <83y2wzlorw.fsf@gnu.org> <83v9s3lo5f.fsf@gnu.org> <75EC4FBC-F636-4D75-BAC4-982D85188794@acm.org> <9b9222ad-ead7-d0a0-0602-780d0680f070@gmx.at> <6bf229f4-c22f-c3c2-5158-5235f908de3c@gmx.at> <8ec84837-172c-1ce5-cab0-b4c96a86274e@gmx.at> <411EAB4E-B666-4263-8514-5F47391268B1@acm.org> <2df02c1f-fea4-f764-eba6-fd67de581755@gmx.at> <3b74a108-28e3-fd01-64a5-7c4302e3d979@gmx.at> <9A9D13F2-1F4F-4DD4-B92F-96FC4D91DFBD@acm.org> <83pni17x5b.fsf@gnu.org> <8B95D2D3-8E00-45BF-B57D-EFD49D79EB6A@acm.org> <83bltk95p7.fsf@gnu.org> <60DD9D65-C3F0-470E-8489-B333E1889D32@acm.org> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Mattias Engdegård > Date: Sun, 10 Nov 2019 14:49:11 +0100 > Cc: rudalics@gmx.at, 38013@debbugs.gnu.org > > Or even simpler: assuming that STRETCH_GLYPHS are mostly tabs, we can treat them as image glyphs for 'remember_mouse_glyph' purposes. What about: > > --- a/src/xdisp.c > +++ b/src/xdisp.c > @@ -2572,7 +2572,7 @@ remember_mouse_glyph (struct frame *f, int gx, int gy, NativeRectangle *rect) > > if (g < end) > { > - if (g->type == IMAGE_GLYPH) > + if (g->type == IMAGE_GLYPH || g->type == STRETCH_GLYPH) Sorry for a late response. Did you try this with stretch glyphs generated by the likes of :align-to display 'space' properties? Also, what about stretch glyphs generated by the display engine in R2L screen lines (you can get those easily by visiting TUTORIAL.he: each line that has white space at its left end has a stretch glyph there)? IOW, it might be necessary to add more conditions here, and just the mouse_movement_in_tab thingy you added in a later version might not be enough. E.g., we may need a condition that verifies that this is a TAB (should be easy by looking at glyph->object, I think). From unknown Sat Jun 21 05:17:43 2025 X-Loop: help-debbugs@gnu.org Subject: bug#38013: [PATCH] Rectangular region selection with mouse Resent-From: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 17 Nov 2019 12:12:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 38013 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Eli Zaretskii Cc: rudalics@gmx.at, 38013@debbugs.gnu.org Received: via spool by 38013-submit@debbugs.gnu.org id=B38013.15739926947661 (code B ref 38013); Sun, 17 Nov 2019 12:12:01 +0000 Received: (at 38013) by debbugs.gnu.org; 17 Nov 2019 12:11:34 +0000 Received: from localhost ([127.0.0.1]:40437 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iWJOv-0001zT-Ob for submit@debbugs.gnu.org; Sun, 17 Nov 2019 07:11:34 -0500 Received: from mail210c50.megamailservers.eu ([91.136.10.220]:36790 helo=mail194c50.megamailservers.eu) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iWJOs-0001zJ-C6 for 38013@debbugs.gnu.org; Sun, 17 Nov 2019 07:11:31 -0500 X-Authenticated-User: mattiase@bredband.net DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=megamailservers.eu; s=maildub; t=1573992688; bh=KEpq4lbSq9jTtN56SNYNu2/76Pfvcfh8n08wq0/WhtY=; h=From:Subject:Date:In-Reply-To:Cc:To:References:From; b=YMBljg+dnPCkC0BKejmJPnq/+kanmbxtHRF5ChGOCiob9ew/cMG8Tn1ujEHominA/ D+1FTvQDpg8RtLM7R7hSijmY1T8+mhJrjb2ZiJBYdracPgIzpd0AQdgocTv+z/GJ0s V3MjzVocRJXZwxN4zW4Y235LVIHdhVtp3cCkhnfE= Feedback-ID: mattiase@acm.or Received: from [192.168.1.64] (c-ee54e353.032-75-73746f71.bbcust.telenor.se [83.227.84.238]) (authenticated bits=0) by mail194c50.megamailservers.eu (8.14.9/8.13.1) with ESMTP id xAHCBQMu009272; Sun, 17 Nov 2019 12:11:28 +0000 From: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= Message-Id: <290E5E66-964B-4E29-B141-166447AD5556@acm.org> Content-Type: multipart/mixed; boundary="Apple-Mail=_5926568B-CC72-46C5-81FF-D36ABB7B2433" Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\)) Date: Sun, 17 Nov 2019 13:11:26 +0100 In-Reply-To: <83ftio6lsy.fsf@gnu.org> References: <83lft0m3ug.fsf@gnu.org> <3541E0E8-9E33-4FBD-B0D9-DFF77C241F6F@acm.org> <83y2wzlorw.fsf@gnu.org> <83v9s3lo5f.fsf@gnu.org> <75EC4FBC-F636-4D75-BAC4-982D85188794@acm.org> <9b9222ad-ead7-d0a0-0602-780d0680f070@gmx.at> <6bf229f4-c22f-c3c2-5158-5235f908de3c@gmx.at> <8ec84837-172c-1ce5-cab0-b4c96a86274e@gmx.at> <411EAB4E-B666-4263-8514-5F47391268B1@acm.org> <2df02c1f-fea4-f764-eba6-fd67de581755@gmx.at> <3b74a108-28e3-fd01-64a5-7c4302e3d979@gmx.at> <9A9D13F2-1F4F-4DD4-B92F-96FC4D91DFBD@acm.org> <83pni17x5b.fsf@gnu.org> <8B95D2D3-8E00-45BF-B57D-EFD49D79EB6A@acm.org> <83bltk95p7.fsf@gnu.org> <60DD9D65-C3F0-470E-8489-B333E1889D32@acm.org> <83ftio6lsy.fsf@gnu.org> X-Mailer: Apple Mail (2.3445.104.11) X-CTCH-RefID: str=0001.0A0B020D.5DD138F0.0020, ss=1, re=0.000, recu=0.000, reip=0.000, cl=1, cld=1, fgs=0 X-CTCH-VOD: Unknown X-CTCH-Spam: Unknown X-CTCH-Score: 0.000 X-CTCH-Rules: X-CTCH-Flags: 0 X-CTCH-ScoreCust: 0.000 X-CSC: 0 X-CHA: v=2.3 cv=A9kSwJeG c=1 sm=1 tr=0 a=Fmb7hdz85/yTNbhpOvpRKA==:117 a=Fmb7hdz85/yTNbhpOvpRKA==:17 a=jpOVt7BSZ2e4Z31A5e1TngXxSK0=:19 a=M51BFTxLslgA:10 a=mDV3o1hIAAAA:8 a=mKGaueZrmG4yj9SdI_0A:9 a=CjuIK1q_8ugA:10 a=wndI0nGQA_oCs6zytDMA:9 a=7Zwj6sZBwVKJAoWSPKxL6X1jA+E=:19 a=B2y7HmGcmWMA:10 a=_FVE-zBwftR9WsbkzFJk:22 X-Spam-Score: 0.3 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) --Apple-Mail=_5926568B-CC72-46C5-81FF-D36ABB7B2433 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii 16 nov. 2019 kl. 13.35 skrev Eli Zaretskii : > Did you try this with stretch glyphs generated by the likes of > :align-to display 'space' properties? Also, what about stretch glyphs > generated by the display engine in R2L screen lines (you can get those > easily by visiting TUTORIAL.he: each line that has white space at its > left end has a stretch glyph there)? I didn't try right-to-left text until now --- thanks for prodding --- = and the behaviour was predictably awful. An updated patch (attached) = tries to do better (up to what is possible with the underlying rect.el = machinery). > IOW, it might be necessary to add more conditions here, and just the > mouse_movement_in_tab thingy you added in a later version might not be > enough. E.g., we may need a condition that verifies that this is a > TAB (should be easy by looking at glyph->object, I think). After some false starts, I settled on the simpler = 'fine-grained-mouse-movement' solution, giving pixel-wise events no = matter what the mouse is pointing at. The extra cost for this is = imperceptibly slight, and it feels more generally useful than the = 'mouse-movement-in-tab' thingy. --Apple-Mail=_5926568B-CC72-46C5-81FF-D36ABB7B2433 Content-Disposition: attachment; filename=0001-Mouse-rectangular-region-selection-bug-38013.patch Content-Type: application/octet-stream; x-unix-mode=0644; name="0001-Mouse-rectangular-region-selection-bug-38013.patch" Content-Transfer-Encoding: quoted-printable =46rom=20ae6f97f70ad7d76359a5746c68ec53e9f285c7fa=20Mon=20Sep=2017=20= 00:00:00=202001=0AFrom:=20=3D?UTF-8?q?Mattias=3D20Engdeg=3DC3=3DA5rd?=3D=20= =0ADate:=20Fri,=2025=20Oct=202019=2011:16:39=20+0200=0A= Subject:=20[PATCH]=20Mouse=20rectangular=20region=20selection=20= (bug#38013)=0A=0AMake=20it=20possible=20to=20select=20a=20rectangular=20= region=20using=20the=20mouse.=0AThe=20standard=20binding=20is=20= C-M-mouse-1.=0A=0A*=20lisp/mouse.el=20(mouse-scroll-subr):=20Add=20= ADJUST=20argument.=0A(mouse-drag-region-rectangle):=20New.=0A*=20= src/xdisp.c=20(remember_mouse_glyph,=20syms_of_xdisp):=0AAdd=20= 'fine-grained-mouse-movement'.=0A*=20doc/emacs/frames.texi=20(Mouse=20= Commands):=0A*=20doc/emacs/killing.texi=20(Rectangles):=0A*=20= doc/lispref/commands.texi=20(Motion=20Events):=0A*=20etc/NEWS:=20= Document.=0A---=0A=20doc/emacs/frames.texi=20=20=20=20=20|=20=20=204=20= ++=0A=20doc/emacs/killing.texi=20=20=20=20|=20=20=203=20++=0A=20= doc/lispref/commands.texi=20|=20=20=206=20+++=0A=20etc/NEWS=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20|=20=20=203=20++=0A=20= lisp/mouse.el=20=20=20=20=20=20=20=20=20=20=20=20=20|=20104=20= +++++++++++++++++++++++++++++++++++++-=0A=20src/xdisp.c=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20|=20=2012=20+++++=0A=206=20files=20changed,=20= 131=20insertions(+),=201=20deletion(-)=0A=0Adiff=20--git=20= a/doc/emacs/frames.texi=20b/doc/emacs/frames.texi=0Aindex=20= 091c011fb9..f6c2d23913=20100644=0A---=20a/doc/emacs/frames.texi=0A+++=20= b/doc/emacs/frames.texi=0A@@=20-91,6=20+91,10=20@@=20Mouse=20Commands=0A=20= click=20position;=20otherwise,=20set=20mark=20at=20the=20current=20value=20= of=20point=20and=0A=20point=20at=20the=20click=20position.=20=20Save=20= the=20resulting=20region=20in=20the=20kill=0A=20ring;=20on=20a=20second=20= click,=20kill=20it=20(@code{mouse-save-then-kill}).=0A+=0A+@item=20= C-M-mouse-1=0A+Activate=20a=20rectangular=20region=20around=20the=20text=20= selected=20by=20dragging.=0A+@xref{Rectangles}.=0A=20@end=20table=0A=20=0A= =20@findex=20mouse-set-point=0Adiff=20--git=20a/doc/emacs/killing.texi=20= b/doc/emacs/killing.texi=0Aindex=2080e2868908..ce00cb38a7=20100644=0A---=20= a/doc/emacs/killing.texi=0A+++=20b/doc/emacs/killing.texi=0A@@=20-732,6=20= +732,9=20@@=20Rectangles=0A=20and=20mark=20values=20can=20be=20= interpreted=20either=20as=20a=20region=20or=20as=20a=0A=20rectangle,=20= depending=20on=20the=20command=20that=20uses=20them.=0A=20=0A+=20=20A=20= rectangular=20region=20can=20also=20be=20marked=20using=20the=20mouse:=20= click=20and=20drag=0A+@kbd{C-M-mouse-1}=20from=20one=20corner=20of=20the=20= rectangle=20to=20the=20opposite.=0A+=0A=20@table=20@kbd=0A=20@item=20C-x=20= r=20k=0A=20Kill=20the=20text=20of=20the=20region-rectangle,=20saving=20= its=20contents=20as=20the=0Adiff=20--git=20a/doc/lispref/commands.texi=20= b/doc/lispref/commands.texi=0Aindex=200c848a8025..8a614c721f=20100644=0A= ---=20a/doc/lispref/commands.texi=0A+++=20b/doc/lispref/commands.texi=0A= @@=20-1661,6=20+1661,12=20@@=20Motion=20Events=0A=20does=20not=20= generate=20events=20for=20mere=20motion=20of=20the=20mouse,=20and=20= these=0A=20events=20do=20not=20appear.=20=20@xref{Mouse=20Tracking}.=0A=20= =0A+@defvar=20fine-grained-mouse-movement=0A+When=20non-@code{nil},=20= mouse=20motion=20events=20are=20generated=20even=20for=20very=0A+small=20= movements.=20=20Otherwise,=20motion=20events=20are=20not=20generated=20= as=20long=0A+as=20the=20mouse=20cursor=20remains=20pointing=20to=20the=20= same=20glyph=20in=20the=20text.=0A+@end=20defvar=0A+=0A=20@node=20Focus=20= Events=0A=20@subsection=20Focus=20Events=0A=20@cindex=20focus=20event=0A= diff=20--git=20a/etc/NEWS=20b/etc/NEWS=0Aindex=20485d2b1fdf..db00d40bb6=20= 100644=0A---=20a/etc/NEWS=0A+++=20b/etc/NEWS=0A@@=20-582,6=20+582,9=20@@=20= region=20using=20a=20given=20replacement-function=20in=20a=20= non-destructive=20manner=0A=20arguments=20mitigating=20performance=20= issues=20when=20operating=20on=20huge=0A=20buffers.=0A=20=0A++++=0A+**=20= Dragging=20'C-M-mouse-1'=20now=20marks=20rectangular=20regions.=0A+=0A=20= +++=0A=20**=20The=20command=20'delete-indentation'=20now=20operates=20on=20= the=20active=20region.=0A=20If=20the=20region=20is=20active,=20the=20= command=20joins=20all=20the=20lines=20in=20the=0Adiff=20--git=20= a/lisp/mouse.el=20b/lisp/mouse.el=0Aindex=20c91760a734..befa85d80d=20= 100644=0A---=20a/lisp/mouse.el=0A+++=20b/lisp/mouse.el=0A@@=20-1045,10=20= +1045,12=20@@=20mouse-scroll-min-lines=0A=20of=20lines=20specified=20by=20= this=20variable."=0A=20=20=20:type=20'integer)=0A=20=0A-(defun=20= mouse-scroll-subr=20(window=20jump=20&optional=20overlay=20start)=0A= +(defun=20mouse-scroll-subr=20(window=20jump=20&optional=20overlay=20= start=20adjust)=0A=20=20=20"Scroll=20the=20window=20WINDOW,=20JUMP=20= lines=20at=20a=20time,=20until=20new=20input=20arrives.=0A=20If=20= OVERLAY=20is=20an=20overlay,=20let=20it=20stretch=20from=20START=20to=20= the=20far=20edge=20of=0A=20the=20newly=20visible=20text.=0A+ADJUST,=20if=20= non-nil,=20is=20a=20function,=20without=20arguments,=20to=20call=20after=0A= +setting=20point.=0A=20Upon=20exit,=20point=20is=20at=20the=20far=20edge=20= of=20the=20newly=20visible=20text."=0A=20=20=20(cond=0A=20=20=20=20((and=20= (>=20jump=200)=20(<=20jump=20mouse-scroll-min-lines))=0A@@=20-1077,6=20= +1079,8=20@@=20mouse-scroll-subr=0A=20=09=09=20=20=20;;=20so=20that=20we=20= don't=20mess=20up=20the=20selected=20window.=0A=20=09=09=20=20=20(or=20= (eq=20window=20(selected-window))=0A=20=09=09=20=20=20=20=20=20=20= (goto-char=20opoint))=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20(when=20adjust=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20(funcall=20adjust))=0A=20=09=09=20=20=20(sit-for=20= mouse-scroll-delay)))))=0A=20=20=20=20=20(or=20(eq=20window=20= (selected-window))=0A=20=09(goto-char=20opoint))))=0A@@=20-1960,6=20= +1964,104=20@@=20secondary-selection-from-region=0A=20=20=20=20=20= (move-overlay=20mouse-secondary-overlay=20(region-beginning)=20= (region-end))))=0A=20=0A=20=0C=0A+(defun=20mouse-drag-region-rectangle=20= (start-event)=0A+=20=20"Set=20the=20region=20to=20the=20rectangle=20that=20= the=20mouse=20is=20dragged=20over.=0A+This=20must=20be=20bound=20to=20a=20= button-down=20mouse=20event."=0A+=20=20(interactive=20"e")=0A+=20=20= (let*=20((scroll-margin=200)=0A+=20=20=20=20=20=20=20=20=20(start-pos=20= (event-start=20start-event))=0A+=20=20=20=20=20=20=20=20=20(start-posn=20= (event-start=20start-event))=0A+=20=20=20=20=20=20=20=20=20(start-point=20= (posn-point=20start-posn))=0A+=20=20=20=20=20=20=20=20=20(start-window=20= (posn-window=20start-posn))=0A+=20=20=20=20=20=20=20=20=20(start-hscroll=20= (window-hscroll=20start-window))=0A+=20=20=20=20=20=20=20=20=20= (start-col=20(+=20(car=20(posn-col-row=20start-pos))=20start-hscroll))=0A= +=20=20=20=20=20=20=20=20=20(bounds=20(window-edges=20start-window))=0A+=20= =20=20=20=20=20=20=20=20(top=20(nth=201=20bounds))=0A+=20=20=20=20=20=20=20= =20=20(bottom=20(if=20(window-minibuffer-p=20start-window)=0A+=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(nth=203=20bounds)=0A= +=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(1-=20(nth=203=20= bounds))))=0A+=20=20=20=20=20=20=20=20=20(dragged=20nil)=0A+=20=20=20=20=20= =20=20=20=20(old-track-mouse=20track-mouse)=0A+=20=20=20=20=20=20=20=20=20= (old-fine-grained-mouse-movement=20fine-grained-mouse-movement)=0A+=20=20= =20=20=20=20=20=20=20;;=20For=20right-to-left=20text,=20columns=20are=20= counted=20from=20the=20right=20margin;=0A+=20=20=20=20=20=20=20=20=20;;=20= translate=20from=20mouse=20events,=20which=20always=20count=20from=20the=20= left.=0A+=20=20=20=20=20=20=20=20=20(adjusted-col=20(lambda=20(col)=0A+=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= (if=20(eq=20(current-bidi-paragraph-direction)=0A+=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= 'right-to-left)=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20(-=20(frame-text-cols)=20col=20-1)=0A+=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20col))))=0A+=20=20=20=20(setq=20track-mouse=20t)=0A+=20=20=20=20(setq=20= fine-grained-mouse-movement=20t)=0A+=20=20=20=20(set-transient-map=0A+=20= =20=20=20=20(let=20((map=20(make-sparse-keymap)))=0A+=20=20=20=20=20=20=20= (define-key=20map=20[switch-frame]=20#'ignore)=0A+=20=20=20=20=20=20=20= (define-key=20map=20[select-window]=20#'ignore)=0A+=20=20=20=20=20=20=20= (define-key=20map=20[mouse-movement]=0A+=20=20=20=20=20=20=20=20=20= (lambda=20(event)=0A+=20=20=20=20=20=20=20=20=20=20=20(interactive=20= "e")=0A+=20=20=20=20=20=20=20=20=20=20=20(unless=20dragged=0A+=20=20=20=20= =20=20=20=20=20=20=20=20=20;;=20This=20is=20actually=20a=20drag.=0A+=20=20= =20=20=20=20=20=20=20=20=20=20=20(mouse-minibuffer-check=20start-event)=0A= +=20=20=20=20=20=20=20=20=20=20=20=20=20(deactivate-mark)=0A+=20=20=20=20= =20=20=20=20=20=20=20=20=20(posn-set-point=20start-pos)=0A+=20=20=20=20=20= =20=20=20=20=20=20=20=20(rectangle-mark-mode)=0A+=20=20=20=20=20=20=20=20= =20=20=20=20=20;;=20Tell=20the=20rectangle=20selection=20about=20the=20= exact=20column,=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20;;=20since=20= it=20might=20not=20correspond=20exactly=20to=20a=20valid=0A+=20=20=20=20=20= =20=20=20=20=20=20=20=20;;=20position=20in=20the=20text.=0A+=20=20=20=20=20= =20=20=20=20=20=20=20=20(let=20((col=20(funcall=20adjusted-col=20= start-col)))=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= (rectangle--col-pos=20col=20'mark)=0A+=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20(rectangle--col-pos=20col=20'point))=0A+=0A+=20=20=20=20=20=20=20= =20=20=20=20=20=20(setq=20dragged=20t))=0A+=0A+=20=20=20=20=20=20=20=20=20= =20=20(let*=20((posn=20(event-end=20event))=0A+=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20(window=20(posn-window=20posn))=0A+=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20(hscroll=20(if=20= (window-live-p=20window)=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(window-hscroll=20= window)=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=200))=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20(mouse-pos=20(mouse-position))=0A+=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20(mouse-col=20(+=20(cadr=20mouse-pos)=20= hscroll))=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= (mouse-row=20(cddr=20mouse-pos))=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20(set-col=20(lambda=20()=0A+=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= (rectangle--col-pos=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20(funcall=20adjusted-col=20= mouse-col)=20'point))))=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20(if=20= (and=20(eq=20window=20start-window)=0A+=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20mouse-row=0A+=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20(<=3D=20top=20mouse-row=20(1-=20= bottom)))=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20;;=20= Drag=20inside=20the=20same=20window.=0A+=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20(progn=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20(posn-set-point=20posn)=0A+=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20(funcall=20set-col))=0A+=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20;;=20Drag=20outside=20the=20window:=20scroll.=0A+=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20(cond=0A+=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20((null=20mouse-row))=0A+=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20((<=20mouse-row=20top)=0A+=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20(mouse-scroll-subr=0A+=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20start-window=20(-=20mouse-row=20top)=20nil=20= start-point=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= set-col))=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20((>=3D=20= mouse-row=20bottom)=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= (mouse-scroll-subr=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20start-window=20(1+=20(-=20mouse-row=20bottom))=20nil=20start-point=0A= +=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20set-col)))))))=0A= +=20=20=20=20=20=20=20map)=0A+=20=20=20=20=20t=0A+=20=20=20=20=20(lambda=20= ()=0A+=20=20=20=20=20=20=20(setq=20track-mouse=20old-track-mouse)=0A+=20=20= =20=20=20=20=20(setq=20fine-grained-mouse-movement=20= old-fine-grained-mouse-movement)=0A+=20=20=20=20=20=20=20(when=20(or=20= (not=20dragged)=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= (not=20(mark))=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= (equal=20(rectangle-dimensions=20(mark)=20(point))=20'(0=20.=201)))=0A+=20= =20=20=20=20=20=20=20=20;;=20No=20nontrivial=20region=20selected;=20= deactivate=20rectangle=20mode.=0A+=20=20=20=20=20=20=20=20=20= (deactivate-mark))))))=0A+=0A+;;=20The=20drag=20event=20must=20be=20= bound=20to=20something=20but=20does=20not=20need=20any=20effect,=0A+;;=20= as=20everything=20takes=20place=20in=20`mouse-drag-region-rectangle'.=0A= +;;=20The=20click=20event=20can=20be=20anything;=20`mouse-set-point'=20= is=20just=20a=20convenience.=0A+(global-set-key=20[C-M-down-mouse-1]=20= #'mouse-drag-region-rectangle)=0A+(global-set-key=20[C-M-drag-mouse-1]=20= #'ignore)=0A+(global-set-key=20[C-M-mouse-1]=20=20=20=20=20=20= #'mouse-set-point)=0A+=0A+=0C=0A=20(defcustom=20mouse-buffer-menu-maxlen=20= 20=0A=20=20=20"Number=20of=20buffers=20in=20one=20pane=20(submenu)=20of=20= the=20buffer=20menu.=0A=20If=20we=20have=20lots=20of=20buffers,=20divide=20= them=20into=20groups=20of=0Adiff=20--git=20a/src/xdisp.c=20b/src/xdisp.c=0A= index=20c5676b3e17..384827c94e=20100644=0A---=20a/src/xdisp.c=0A+++=20= b/src/xdisp.c=0A@@=20-2491,6=20+2491,12=20@@=20remember_mouse_glyph=20= (struct=20frame=20*f,=20int=20gx,=20int=20gy,=20NativeRectangle=20*rect)=0A= =20=20=20enum=20glyph_row_area=20area;=0A=20=20=20int=20x,=20y,=20width,=20= height;=0A=20=0A+=20=20if=20(fine_grained_mouse_movement)=0A+=20=20=20=20= {=0A+=20=20=20=20=20=20STORE_NATIVE_RECT=20(*rect,=20gx,=20gy,=201,=20= 1);=0A+=20=20=20=20=20=20return;=0A+=20=20=20=20}=0A+=0A=20=20=20/*=20= Try=20to=20determine=20frame=20pixel=20position=20and=20size=20of=20the=20= glyph=20under=0A=20=20=20=20=20=20frame=20pixel=20coordinates=20X/Y=20on=20= frame=20F.=20=20*/=0A=20=0A@@=20-34943,6=20+34949,12=20@@=20= syms_of_xdisp=20(void)=0A=20may=20be=20more=20familiar=20to=20users.=20=20= */);=0A=20=20=20display_raw_bytes_as_hex=20=3D=20false;=0A=20=0A+=20=20= DEFVAR_BOOL=20("fine-grained-mouse-movement",=20= fine_grained_mouse_movement,=0A+=20=20=20=20doc:=20/*=20Non-nil=20for=20= pixel-wise=20mouse-movement.=0A+When=20nil,=20mouse-movement=20events=20= will=20not=20be=20generated=20as=20long=20as=20the=0A+mouse=20stays=20= within=20the=20extent=20of=20a=20single=20glyph=20(except=20for=20= images).=20=20*/);=0A+=20=20fine_grained_mouse_movement=20=3D=20false;=0A= +=0A=20}=0A=20=0A=20=0A--=20=0A2.21.0=20(Apple=20Git-122)=0A=0A= --Apple-Mail=_5926568B-CC72-46C5-81FF-D36ABB7B2433-- From unknown Sat Jun 21 05:17:43 2025 X-Loop: help-debbugs@gnu.org Subject: bug#38013: [PATCH] Rectangular region selection with mouse Resent-From: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 18 Nov 2019 18:09:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 38013 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Eli Zaretskii Cc: rudalics@gmx.at, 38013@debbugs.gnu.org Received: via spool by 38013-submit@debbugs.gnu.org id=B38013.157410051231175 (code B ref 38013); Mon, 18 Nov 2019 18:09:02 +0000 Received: (at 38013) by debbugs.gnu.org; 18 Nov 2019 18:08:32 +0000 Received: from localhost ([127.0.0.1]:46204 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iWlRw-00086l-2e for submit@debbugs.gnu.org; Mon, 18 Nov 2019 13:08:32 -0500 Received: from mail150c50.megamailservers.eu ([91.136.10.160]:33016 helo=mail50c50.megamailservers.eu) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iWlRt-00086b-6I for 38013@debbugs.gnu.org; Mon, 18 Nov 2019 13:08:30 -0500 X-Authenticated-User: mattiase@bredband.net DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=megamailservers.eu; s=maildub; t=1574100507; bh=4DnThEZwYl/Ms1oUFL3ZYRDT7cmEtSw0e5U82oebdEk=; h=From:Subject:Date:In-Reply-To:Cc:To:References:From; b=eXVqte+S5Sp10oLyHz2bNE7x36yfkr8IJIo0CnedlT4ddTjwYLJ+aHrNmDSgnAvCQ b6326Ji4tZD+rEHWroCuqDqc2OcMbfylXwYzxSMmrPgB7EuRrIH5irE//3GQVKlHZM dF1Em0flB7T6uD5N3VeCFufrmc5O626jKQUfVK9Y= Feedback-ID: mattiase@acm.or Received: from [192.168.1.64] (c-ee54e353.032-75-73746f71.bbcust.telenor.se [83.227.84.238]) (authenticated bits=0) by mail50c50.megamailservers.eu (8.14.9/8.13.1) with ESMTP id xAII8PA4017170; Mon, 18 Nov 2019 18:08:26 +0000 From: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= Message-Id: <175E5B2E-2256-4FCD-AA8E-9E5BC6DE7907@acm.org> Content-Type: multipart/mixed; boundary="Apple-Mail=_D5D2F075-75F5-4AB0-8AE9-9D24667FD587" Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\)) Date: Mon, 18 Nov 2019 19:08:24 +0100 In-Reply-To: <290E5E66-964B-4E29-B141-166447AD5556@acm.org> References: <83lft0m3ug.fsf@gnu.org> <3541E0E8-9E33-4FBD-B0D9-DFF77C241F6F@acm.org> <83y2wzlorw.fsf@gnu.org> <83v9s3lo5f.fsf@gnu.org> <75EC4FBC-F636-4D75-BAC4-982D85188794@acm.org> <9b9222ad-ead7-d0a0-0602-780d0680f070@gmx.at> <6bf229f4-c22f-c3c2-5158-5235f908de3c@gmx.at> <8ec84837-172c-1ce5-cab0-b4c96a86274e@gmx.at> <411EAB4E-B666-4263-8514-5F47391268B1@acm.org> <2df02c1f-fea4-f764-eba6-fd67de581755@gmx.at> <3b74a108-28e3-fd01-64a5-7c4302e3d979@gmx.at> <9A9D13F2-1F4F-4DD4-B92F-96FC4D91DFBD@acm.org> <83pni17x5b.fsf@gnu.org> <8B95D2D3-8E00-45BF-B57D-EFD49D79EB6A@acm.org> <83bltk95p7.fsf@gnu.org> <60DD9D65-C3F0-470E-8489-B333E1889D32@acm.org> <83ftio6lsy.fsf@gnu.org> <290E5E66-964B-4E29-B141-166447AD5556@acm.org> X-Mailer: Apple Mail (2.3445.104.11) X-CTCH-RefID: str=0001.0A0B0212.5DD2DE1B.0014, ss=1, re=0.000, recu=0.000, reip=0.000, cl=1, cld=1, fgs=0 X-CTCH-VOD: Unknown X-CTCH-Spam: Unknown X-CTCH-Score: 0.000 X-CTCH-Rules: X-CTCH-Flags: 0 X-CTCH-ScoreCust: 0.000 X-CSC: 0 X-CHA: v=2.3 cv=N4FX6F1B c=1 sm=1 tr=0 a=Fmb7hdz85/yTNbhpOvpRKA==:117 a=Fmb7hdz85/yTNbhpOvpRKA==:17 a=jpOVt7BSZ2e4Z31A5e1TngXxSK0=:19 a=M51BFTxLslgA:10 a=7KflRGB0heAfHDW4LRkA:9 a=7Zwj6sZBwVKJAoWSPKxL6X1jA+E=:19 a=CjuIK1q_8ugA:10 a=hRsXvZWR3pOiuefzIGcA:9 a=B2y7HmGcmWMA:10 X-Spam-Score: 0.3 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) --Apple-Mail=_D5D2F075-75F5-4AB0-8AE9-9D24667FD587 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii Here is an updated patch that makes the selection work better with = characters that aren't a multiple of the standard font width.=20 The underlying rect.el isn't really geared for this sort of thing, = leading to ragged rectangle edges and other effects, but at least it is = not a new problem; this is not the time to fix it. --Apple-Mail=_D5D2F075-75F5-4AB0-8AE9-9D24667FD587 Content-Disposition: attachment; filename=0001-Mouse-rectangular-region-selection-bug-38013.patch Content-Type: application/octet-stream; x-unix-mode=0644; name="0001-Mouse-rectangular-region-selection-bug-38013.patch" Content-Transfer-Encoding: quoted-printable =46rom=2038cc3baa7f01f418653e36cc5d8e4cf5b151d26e=20Mon=20Sep=2017=20= 00:00:00=202001=0AFrom:=20=3D?UTF-8?q?Mattias=3D20Engdeg=3DC3=3DA5rd?=3D=20= =0ADate:=20Fri,=2025=20Oct=202019=2011:16:39=20+0200=0A= Subject:=20[PATCH]=20Mouse=20rectangular=20region=20selection=20= (bug#38013)=0A=0AMake=20it=20possible=20to=20select=20a=20rectangular=20= region=20using=20the=20mouse.=0AThe=20standard=20binding=20is=20= C-M-mouse-1.=0A=0A*=20lisp/mouse.el=20(mouse-scroll-subr):=20Add=20= ADJUST=20argument.=0A(mouse-drag-region-rectangle):=20New.=0A*=20= lisp/rect.el=20(rectangle--reset-point-crutches):=20New.=0A= (rectangle--reset-crutches):=20Use=20'rectangle--reset-point-crutches'.=0A= *=20src/xdisp.c=20(remember_mouse_glyph,=20syms_of_xdisp):=0AAdd=20= 'fine-grained-mouse-movement'.=0A*=20doc/lispref/commands.texi=20(Motion=20= Events):=0ADocument=20'fine-grained-mouse-movement'.=0A*=20= doc/emacs/frames.texi=20(Mouse=20Commands):=0A*=20doc/emacs/killing.texi=20= (Rectangles):=0A*=20etc/NEWS:=20Document=20rectangular=20selection=20= with=20the=20mouse.=0A---=0A=20doc/emacs/frames.texi=20=20=20=20=20|=20=20= =204=20++=0A=20doc/emacs/killing.texi=20=20=20=20|=20=20=203=20++=0A=20= doc/lispref/commands.texi=20|=20=20=206=20+++=0A=20etc/NEWS=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20|=20=20=203=20++=0A=20= lisp/mouse.el=20=20=20=20=20=20=20=20=20=20=20=20=20|=20109=20= +++++++++++++++++++++++++++++++++++++-=0A=20lisp/rect.el=20=20=20=20=20=20= =20=20=20=20=20=20=20=20|=20=20=208=20++-=0A=20src/xdisp.c=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20|=20=2012=20+++++=0A=207=20files=20= changed,=20142=20insertions(+),=203=20deletions(-)=0A=0Adiff=20--git=20= a/doc/emacs/frames.texi=20b/doc/emacs/frames.texi=0Aindex=20= 091c011fb9..f6c2d23913=20100644=0A---=20a/doc/emacs/frames.texi=0A+++=20= b/doc/emacs/frames.texi=0A@@=20-91,6=20+91,10=20@@=20Mouse=20Commands=0A=20= click=20position;=20otherwise,=20set=20mark=20at=20the=20current=20value=20= of=20point=20and=0A=20point=20at=20the=20click=20position.=20=20Save=20= the=20resulting=20region=20in=20the=20kill=0A=20ring;=20on=20a=20second=20= click,=20kill=20it=20(@code{mouse-save-then-kill}).=0A+=0A+@item=20= C-M-mouse-1=0A+Activate=20a=20rectangular=20region=20around=20the=20text=20= selected=20by=20dragging.=0A+@xref{Rectangles}.=0A=20@end=20table=0A=20=0A= =20@findex=20mouse-set-point=0Adiff=20--git=20a/doc/emacs/killing.texi=20= b/doc/emacs/killing.texi=0Aindex=2080e2868908..ce00cb38a7=20100644=0A---=20= a/doc/emacs/killing.texi=0A+++=20b/doc/emacs/killing.texi=0A@@=20-732,6=20= +732,9=20@@=20Rectangles=0A=20and=20mark=20values=20can=20be=20= interpreted=20either=20as=20a=20region=20or=20as=20a=0A=20rectangle,=20= depending=20on=20the=20command=20that=20uses=20them.=0A=20=0A+=20=20A=20= rectangular=20region=20can=20also=20be=20marked=20using=20the=20mouse:=20= click=20and=20drag=0A+@kbd{C-M-mouse-1}=20from=20one=20corner=20of=20the=20= rectangle=20to=20the=20opposite.=0A+=0A=20@table=20@kbd=0A=20@item=20C-x=20= r=20k=0A=20Kill=20the=20text=20of=20the=20region-rectangle,=20saving=20= its=20contents=20as=20the=0Adiff=20--git=20a/doc/lispref/commands.texi=20= b/doc/lispref/commands.texi=0Aindex=200c848a8025..8a614c721f=20100644=0A= ---=20a/doc/lispref/commands.texi=0A+++=20b/doc/lispref/commands.texi=0A= @@=20-1661,6=20+1661,12=20@@=20Motion=20Events=0A=20does=20not=20= generate=20events=20for=20mere=20motion=20of=20the=20mouse,=20and=20= these=0A=20events=20do=20not=20appear.=20=20@xref{Mouse=20Tracking}.=0A=20= =0A+@defvar=20fine-grained-mouse-movement=0A+When=20non-@code{nil},=20= mouse=20motion=20events=20are=20generated=20even=20for=20very=0A+small=20= movements.=20=20Otherwise,=20motion=20events=20are=20not=20generated=20= as=20long=0A+as=20the=20mouse=20cursor=20remains=20pointing=20to=20the=20= same=20glyph=20in=20the=20text.=0A+@end=20defvar=0A+=0A=20@node=20Focus=20= Events=0A=20@subsection=20Focus=20Events=0A=20@cindex=20focus=20event=0A= diff=20--git=20a/etc/NEWS=20b/etc/NEWS=0Aindex=20485d2b1fdf..db00d40bb6=20= 100644=0A---=20a/etc/NEWS=0A+++=20b/etc/NEWS=0A@@=20-582,6=20+582,9=20@@=20= region=20using=20a=20given=20replacement-function=20in=20a=20= non-destructive=20manner=0A=20arguments=20mitigating=20performance=20= issues=20when=20operating=20on=20huge=0A=20buffers.=0A=20=0A++++=0A+**=20= Dragging=20'C-M-mouse-1'=20now=20marks=20rectangular=20regions.=0A+=0A=20= +++=0A=20**=20The=20command=20'delete-indentation'=20now=20operates=20on=20= the=20active=20region.=0A=20If=20the=20region=20is=20active,=20the=20= command=20joins=20all=20the=20lines=20in=20the=0Adiff=20--git=20= a/lisp/mouse.el=20b/lisp/mouse.el=0Aindex=20c91760a734..29cb9716c3=20= 100644=0A---=20a/lisp/mouse.el=0A+++=20b/lisp/mouse.el=0A@@=20-1045,10=20= +1045,12=20@@=20mouse-scroll-min-lines=0A=20of=20lines=20specified=20by=20= this=20variable."=0A=20=20=20:type=20'integer)=0A=20=0A-(defun=20= mouse-scroll-subr=20(window=20jump=20&optional=20overlay=20start)=0A= +(defun=20mouse-scroll-subr=20(window=20jump=20&optional=20overlay=20= start=20adjust)=0A=20=20=20"Scroll=20the=20window=20WINDOW,=20JUMP=20= lines=20at=20a=20time,=20until=20new=20input=20arrives.=0A=20If=20= OVERLAY=20is=20an=20overlay,=20let=20it=20stretch=20from=20START=20to=20= the=20far=20edge=20of=0A=20the=20newly=20visible=20text.=0A+ADJUST,=20if=20= non-nil,=20is=20a=20function,=20without=20arguments,=20to=20call=20after=0A= +setting=20point.=0A=20Upon=20exit,=20point=20is=20at=20the=20far=20edge=20= of=20the=20newly=20visible=20text."=0A=20=20=20(cond=0A=20=20=20=20((and=20= (>=20jump=200)=20(<=20jump=20mouse-scroll-min-lines))=0A@@=20-1077,6=20= +1079,8=20@@=20mouse-scroll-subr=0A=20=09=09=20=20=20;;=20so=20that=20we=20= don't=20mess=20up=20the=20selected=20window.=0A=20=09=09=20=20=20(or=20= (eq=20window=20(selected-window))=0A=20=09=09=20=20=20=20=20=20=20= (goto-char=20opoint))=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20(when=20adjust=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20(funcall=20adjust))=0A=20=09=09=20=20=20(sit-for=20= mouse-scroll-delay)))))=0A=20=20=20=20=20(or=20(eq=20window=20= (selected-window))=0A=20=09(goto-char=20opoint))))=0A@@=20-1960,6=20= +1964,109=20@@=20secondary-selection-from-region=0A=20=20=20=20=20= (move-overlay=20mouse-secondary-overlay=20(region-beginning)=20= (region-end))))=0A=20=0A=20=0C=0A+(defun=20mouse-drag-region-rectangle=20= (start-event)=0A+=20=20"Set=20the=20region=20to=20the=20rectangle=20that=20= the=20mouse=20is=20dragged=20over.=0A+This=20must=20be=20bound=20to=20a=20= button-down=20mouse=20event."=0A+=20=20(interactive=20"e")=0A+=20=20= (let*=20((scroll-margin=200)=0A+=20=20=20=20=20=20=20=20=20(start-pos=20= (event-start=20start-event))=0A+=20=20=20=20=20=20=20=20=20(start-posn=20= (event-start=20start-event))=0A+=20=20=20=20=20=20=20=20=20(start-point=20= (posn-point=20start-posn))=0A+=20=20=20=20=20=20=20=20=20(start-window=20= (posn-window=20start-posn))=0A+=20=20=20=20=20=20=20=20=20(start-hscroll=20= (window-hscroll=20start-window))=0A+=20=20=20=20=20=20=20=20=20= (start-col=20(+=20(car=20(posn-col-row=20start-pos))=20start-hscroll))=0A= +=20=20=20=20=20=20=20=20=20(bounds=20(window-edges=20start-window))=0A+=20= =20=20=20=20=20=20=20=20(top=20(nth=201=20bounds))=0A+=20=20=20=20=20=20=20= =20=20(bottom=20(if=20(window-minibuffer-p=20start-window)=0A+=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(nth=203=20bounds)=0A= +=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(1-=20(nth=203=20= bounds))))=0A+=20=20=20=20=20=20=20=20=20(dragged=20nil)=0A+=20=20=20=20=20= =20=20=20=20(old-track-mouse=20track-mouse)=0A+=20=20=20=20=20=20=20=20=20= (old-fine-grained-mouse-movement=20fine-grained-mouse-movement)=0A+=20=20= =20=20=20=20=20=20=20;;=20For=20right-to-left=20text,=20columns=20are=20= counted=20from=20the=20right=20margin;=0A+=20=20=20=20=20=20=20=20=20;;=20= translate=20from=20mouse=20events,=20which=20always=20count=20from=20the=20= left.=0A+=20=20=20=20=20=20=20=20=20(adjusted-col=20(lambda=20(col)=0A+=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= (if=20(eq=20(current-bidi-paragraph-direction)=0A+=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= 'right-to-left)=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20(-=20(frame-text-cols)=20col=20-1)=0A+=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20col))))=0A+=20=20=20=20(setq=20track-mouse=20t)=0A+=20=20=20=20(setq=20= fine-grained-mouse-movement=20t)=0A+=20=20=20=20(set-transient-map=0A+=20= =20=20=20=20(let=20((map=20(make-sparse-keymap)))=0A+=20=20=20=20=20=20=20= (define-key=20map=20[switch-frame]=20#'ignore)=0A+=20=20=20=20=20=20=20= (define-key=20map=20[select-window]=20#'ignore)=0A+=20=20=20=20=20=20=20= (define-key=20map=20[mouse-movement]=0A+=20=20=20=20=20=20=20=20=20= (lambda=20(event)=0A+=20=20=20=20=20=20=20=20=20=20=20(interactive=20= "e")=0A+=20=20=20=20=20=20=20=20=20=20=20(unless=20dragged=0A+=20=20=20=20= =20=20=20=20=20=20=20=20=20;;=20This=20is=20actually=20a=20drag.=0A+=20=20= =20=20=20=20=20=20=20=20=20=20=20(mouse-minibuffer-check=20start-event)=0A= +=20=20=20=20=20=20=20=20=20=20=20=20=20(deactivate-mark)=0A+=20=20=20=20= =20=20=20=20=20=20=20=20=20(posn-set-point=20start-pos)=0A+=20=20=20=20=20= =20=20=20=20=20=20=20=20(rectangle-mark-mode)=0A+=20=20=20=20=20=20=20=20= =20=20=20=20=20;;=20Only=20tell=20rectangle=20about=20the=20exact=20= column=20if=20we=20are=20possibly=0A+=20=20=20=20=20=20=20=20=20=20=20=20= =20;;=20beyond=20end-of-line=20or=20in=20a=20tab,=20since=20the=20column=20= we=20got=20from=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20;;=20the=20= mouse=20position=20isn't=20necessarily=20accurate=20for=20use=20in=0A+=20= =20=20=20=20=20=20=20=20=20=20=20=20;;=20specifying=20a=20rectangle=20= (which=20uses=20the=20`move-to-column'=0A+=20=20=20=20=20=20=20=20=20=20=20= =20=20;;=20measure).=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20(when=20= (or=20(eolp)=20(eq=20(following-char)=20?\t))=0A+=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20(let=20((col=20(funcall=20adjusted-col=20= start-col)))=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= (rectangle--col-pos=20col=20'mark)=0A+=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20(rectangle--col-pos=20col=20'point)))=0A+=0A+=20=20=20=20=20= =20=20=20=20=20=20=20=20(setq=20dragged=20t))=0A+=0A+=20=20=20=20=20=20=20= =20=20=20=20(let*=20((posn=20(event-end=20event))=0A+=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20(window=20(posn-window=20posn))=0A+=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(hscroll=20(if=20= (window-live-p=20window)=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(window-hscroll=20= window)=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=200))=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20(mouse-pos=20(mouse-position))=0A+=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20(mouse-col=20(+=20(cadr=20mouse-pos)=20= hscroll))=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= (mouse-row=20(cddr=20mouse-pos))=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20(set-col=20(lambda=20()=0A+=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(if=20(or=20(eolp)=20= (eq=20(following-char)=20?\t))=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= (rectangle--col-pos=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(funcall=20= adjusted-col=20mouse-col)=20'point)=0A+=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= (rectangle--reset-point-crutches)))))=0A+=20=20=20=20=20=20=20=20=20=20=20= =20=20(if=20(and=20(eq=20window=20start-window)=0A+=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20mouse-row=0A+=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(<=3D=20top=20mouse-row=20= (1-=20bottom)))=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20;;=20= Drag=20inside=20the=20same=20window.=0A+=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20(progn=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20(posn-set-point=20posn)=0A+=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20(funcall=20set-col))=0A+=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20;;=20Drag=20outside=20the=20window:=20scroll.=0A+=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20(cond=0A+=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20((null=20mouse-row))=0A+=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20((<=20mouse-row=20top)=0A+=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20(mouse-scroll-subr=0A+=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20start-window=20(-=20mouse-row=20top)=20nil=20= start-point=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= set-col))=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20((>=3D=20= mouse-row=20bottom)=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= (mouse-scroll-subr=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20start-window=20(1+=20(-=20mouse-row=20bottom))=20nil=20start-point=0A= +=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20set-col)))))))=0A= +=20=20=20=20=20=20=20map)=0A+=20=20=20=20=20t=0A+=20=20=20=20=20(lambda=20= ()=0A+=20=20=20=20=20=20=20(setq=20track-mouse=20old-track-mouse)=0A+=20=20= =20=20=20=20=20(setq=20fine-grained-mouse-movement=20= old-fine-grained-mouse-movement)=0A+=20=20=20=20=20=20=20(when=20(or=20= (not=20dragged)=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= (not=20(mark))=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= (equal=20(rectangle-dimensions=20(mark)=20(point))=20'(0=20.=201)))=0A+=20= =20=20=20=20=20=20=20=20;;=20No=20nontrivial=20region=20selected;=20= deactivate=20rectangle=20mode.=0A+=20=20=20=20=20=20=20=20=20= (deactivate-mark))))))=0A+=0A+;;=20The=20drag=20event=20must=20be=20= bound=20to=20something=20but=20does=20not=20need=20any=20effect,=0A+;;=20= as=20everything=20takes=20place=20in=20`mouse-drag-region-rectangle'.=0A= +;;=20The=20click=20event=20can=20be=20anything;=20`mouse-set-point'=20= is=20just=20a=20convenience.=0A+(global-set-key=20[C-M-down-mouse-1]=20= #'mouse-drag-region-rectangle)=0A+(global-set-key=20[C-M-drag-mouse-1]=20= #'ignore)=0A+(global-set-key=20[C-M-mouse-1]=20=20=20=20=20=20= #'mouse-set-point)=0A+=0A+=0C=0A=20(defcustom=20mouse-buffer-menu-maxlen=20= 20=0A=20=20=20"Number=20of=20buffers=20in=20one=20pane=20(submenu)=20of=20= the=20buffer=20menu.=0A=20If=20we=20have=20lots=20of=20buffers,=20divide=20= them=20into=20groups=20of=0Adiff=20--git=20a/lisp/rect.el=20= b/lisp/rect.el=0Aindex=204d4d6146f2..1109786fc5=20100644=0A---=20= a/lisp/rect.el=0A+++=20b/lisp/rect.el=0A@@=20-133,11=20+133,15=20@@=20= rectangle--point-col=0A=20(defun=20rectangle--crutches=20()=0A=20=20=20= (cons=20rectangle--mark-crutches=0A=20=20=20=20=20=20=20=20=20= (window-parameter=20nil=20'rectangle--point-crutches)))=0A-(defun=20= rectangle--reset-crutches=20()=0A-=20=20(kill-local-variable=20= 'rectangle--mark-crutches)=0A+=0A+(defun=20= rectangle--reset-point-crutches=20()=0A=20=20=20(if=20(window-parameter=20= nil=20'rectangle--point-crutches)=0A=20=20=20=20=20=20=20(setf=20= (window-parameter=20nil=20'rectangle--point-crutches)=20nil)))=0A=20=0A= +(defun=20rectangle--reset-crutches=20()=0A+=20=20(kill-local-variable=20= 'rectangle--mark-crutches)=0A+=20=20(rectangle--reset-point-crutches))=0A= +=0A=20;;;=20Rectangle=20operations.=0A=20=0A=20(defun=20= apply-on-rectangle=20(function=20start=20end=20&rest=20args)=0Adiff=20= --git=20a/src/xdisp.c=20b/src/xdisp.c=0Aindex=20c5676b3e17..384827c94e=20= 100644=0A---=20a/src/xdisp.c=0A+++=20b/src/xdisp.c=0A@@=20-2491,6=20= +2491,12=20@@=20remember_mouse_glyph=20(struct=20frame=20*f,=20int=20gx,=20= int=20gy,=20NativeRectangle=20*rect)=0A=20=20=20enum=20glyph_row_area=20= area;=0A=20=20=20int=20x,=20y,=20width,=20height;=0A=20=0A+=20=20if=20= (fine_grained_mouse_movement)=0A+=20=20=20=20{=0A+=20=20=20=20=20=20= STORE_NATIVE_RECT=20(*rect,=20gx,=20gy,=201,=201);=0A+=20=20=20=20=20=20= return;=0A+=20=20=20=20}=0A+=0A=20=20=20/*=20Try=20to=20determine=20= frame=20pixel=20position=20and=20size=20of=20the=20glyph=20under=0A=20=20= =20=20=20=20frame=20pixel=20coordinates=20X/Y=20on=20frame=20F.=20=20*/=0A= =20=0A@@=20-34943,6=20+34949,12=20@@=20syms_of_xdisp=20(void)=0A=20may=20= be=20more=20familiar=20to=20users.=20=20*/);=0A=20=20=20= display_raw_bytes_as_hex=20=3D=20false;=0A=20=0A+=20=20DEFVAR_BOOL=20= ("fine-grained-mouse-movement",=20fine_grained_mouse_movement,=0A+=20=20=20= =20doc:=20/*=20Non-nil=20for=20pixel-wise=20mouse-movement.=0A+When=20= nil,=20mouse-movement=20events=20will=20not=20be=20generated=20as=20long=20= as=20the=0A+mouse=20stays=20within=20the=20extent=20of=20a=20single=20= glyph=20(except=20for=20images).=20=20*/);=0A+=20=20= fine_grained_mouse_movement=20=3D=20false;=0A+=0A=20}=0A=20=0A=20=0A--=20= =0A2.21.0=20(Apple=20Git-122)=0A=0A= --Apple-Mail=_D5D2F075-75F5-4AB0-8AE9-9D24667FD587-- From unknown Sat Jun 21 05:17:43 2025 X-Loop: help-debbugs@gnu.org Subject: bug#38013: [PATCH] Rectangular region selection with mouse Resent-From: Drew Adams Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 18 Nov 2019 19:23:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 38013 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= , Eli Zaretskii Cc: 38013@debbugs.gnu.org Received: via spool by 38013-submit@debbugs.gnu.org id=B38013.15741049685937 (code B ref 38013); Mon, 18 Nov 2019 19:23:02 +0000 Received: (at 38013) by debbugs.gnu.org; 18 Nov 2019 19:22:48 +0000 Received: from localhost ([127.0.0.1]:46278 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iWmbo-0001Xh-0f for submit@debbugs.gnu.org; Mon, 18 Nov 2019 14:22:48 -0500 Received: from userp2120.oracle.com ([156.151.31.85]:54624) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iWmbm-0001XL-1n for 38013@debbugs.gnu.org; Mon, 18 Nov 2019 14:22:46 -0500 Received: from pps.filterd (userp2120.oracle.com [127.0.0.1]) by userp2120.oracle.com (8.16.0.27/8.16.0.27) with SMTP id xAIJJ4xT055719; Mon, 18 Nov 2019 19:22:39 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=mime-version : message-id : date : from : sender : to : cc : subject : references : in-reply-to : content-type : content-transfer-encoding; s=corp-2019-08-05; bh=ItkJxKOLJMIeS7m6kTo8BqPf//G4cIydLyOOh+DAegs=; b=Efyq3GEWvnyYf9nHDnt1lrs6tO4lKjEVwW9CTpSJnz4Bwvf+OZAjGguHvRNXEStwS+i9 3c1yxGGtFzg/o8OCQWK3rVrTudYr2xx/v7yjW3pQFYSsQ9gFonIidg1fPOoQAg97L1B5 euyeSVjh6yX1A6HEkgqbcRjQVjB2WDu4EJ7zuhAHW5IwBgxcTXcL/7XbihjOAwho/uwa eS7GjUhC/dNywv3EDDlnECf+u6yMuz/jZtz++ie0q45KdyyblrTSPeslcMRdEY5A1aAo CH8aXM9g0MkouQDpq16uUex8hXeQusCZntrGjAy6astB44hiGUBj/7dRtUPaWf8Mo0Pz ZQ== Received: from userp3030.oracle.com (userp3030.oracle.com [156.151.31.80]) by userp2120.oracle.com with ESMTP id 2wa9rqa9fk-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 18 Nov 2019 19:22:38 +0000 Received: from pps.filterd (userp3030.oracle.com [127.0.0.1]) by userp3030.oracle.com (8.16.0.27/8.16.0.27) with SMTP id xAIJJ04I088539; Mon, 18 Nov 2019 19:22:38 GMT Received: from aserv0122.oracle.com (aserv0122.oracle.com [141.146.126.236]) by userp3030.oracle.com with ESMTP id 2wc0af37ta-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 18 Nov 2019 19:22:38 +0000 Received: from abhmp0019.oracle.com (abhmp0019.oracle.com [141.146.116.25]) by aserv0122.oracle.com (8.14.4/8.14.4) with ESMTP id xAIJMbRa004243; Mon, 18 Nov 2019 19:22:37 GMT MIME-Version: 1.0 Message-ID: <7d94fa94-94e4-46dc-8df0-c40ccf052ee9@default> Date: Mon, 18 Nov 2019 11:22:36 -0800 (PST) From: Drew Adams References: <83lft0m3ug.fsf@gnu.org> <3541E0E8-9E33-4FBD-B0D9-DFF77C241F6F@acm.org> <83y2wzlorw.fsf@gnu.org> <83v9s3lo5f.fsf@gnu.org> <75EC4FBC-F636-4D75-BAC4-982D85188794@acm.org> <9b9222ad-ead7-d0a0-0602-780d0680f070@gmx.at> <6bf229f4-c22f-c3c2-5158-5235f908de3c@gmx.at> <8ec84837-172c-1ce5-cab0-b4c96a86274e@gmx.at> <411EAB4E-B666-4263-8514-5F47391268B1@acm.org> <2df02c1f-fea4-f764-eba6-fd67de581755@gmx.at> <3b74a108-28e3-fd01-64a5-7c4302e3d979@gmx.at> <9A9D13F2-1F4F-4DD4-B92F-96FC4D91DFBD@acm.org> <83pni17x5b.fsf@gnu.org> <8B95D2D3-8E00-45BF-B57D-EFD49D79EB6A@acm.org> <83bltk95p7.fsf@gnu.org> <60DD9D65-C3F0-470E-8489-B333E1889D32@acm.org> <83ftio6lsy.fsf@gnu.org> <290E5E66-964B-4E29-B141-166447AD5556@acm.org> <175E5B2E-2256-4FCD-AA8E-9E5BC6DE7907@acm.org> In-Reply-To: <175E5B2E-2256-4FCD-AA8E-9E5BC6DE7907@acm.org> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9.1 (1003210) [OL 16.0.4927.0 (x86)] Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9445 signatures=668685 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 mlxscore=0 mlxlogscore=852 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1911140001 definitions=main-1911180164 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9445 signatures=668685 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 priorityscore=1501 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=916 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1911140001 definitions=main-1911180164 X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Please don't bind any mouse buttons for this, by default. E.g., please don't bind `C-M-(down-)mouse-1'. In the doc, just refer to the command, not a pre-imposed binding for it. From unknown Sat Jun 21 05:17:43 2025 X-Loop: help-debbugs@gnu.org Subject: bug#38013: [PATCH] Rectangular region selection with mouse Resent-From: Juri Linkov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 18 Nov 2019 21:53:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 38013 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Drew Adams Cc: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= , Eli Zaretskii , 38013@debbugs.gnu.org Received: via spool by 38013-submit@debbugs.gnu.org id=B38013.157411393020271 (code B ref 38013); Mon, 18 Nov 2019 21:53:03 +0000 Received: (at 38013) by debbugs.gnu.org; 18 Nov 2019 21:52:10 +0000 Received: from localhost ([127.0.0.1]:46370 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iWowM-0005Gt-Dr for submit@debbugs.gnu.org; Mon, 18 Nov 2019 16:52:10 -0500 Received: from cadetblue.birch.relay.mailchannels.net ([23.83.209.28]:11595) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iWowK-0005Gl-BZ for 38013@debbugs.gnu.org; Mon, 18 Nov 2019 16:52:08 -0500 X-Sender-Id: dreamhost|x-authsender|jurta@jurta.org Received: from relay.mailchannels.net (localhost [127.0.0.1]) by relay.mailchannels.net (Postfix) with ESMTP id 51BB45A105A; Mon, 18 Nov 2019 21:52:07 +0000 (UTC) Received: from pdx1-sub0-mail-a6.g.dreamhost.com (100-96-14-7.trex.outbound.svc.cluster.local [100.96.14.7]) (Authenticated sender: dreamhost) by relay.mailchannels.net (Postfix) with ESMTPA id A71025A10E2; Mon, 18 Nov 2019 21:52:06 +0000 (UTC) X-Sender-Id: dreamhost|x-authsender|jurta@jurta.org Received: from pdx1-sub0-mail-a6.g.dreamhost.com ([TEMPUNAVAIL]. [64.90.62.162]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384) by 0.0.0.0:2500 (trex/5.18.5); Mon, 18 Nov 2019 21:52:07 +0000 X-MC-Relay: Neutral X-MailChannels-SenderId: dreamhost|x-authsender|jurta@jurta.org X-MailChannels-Auth-Id: dreamhost X-Unite-Army: 051886756b6f8a92_1574113926981_738437717 X-MC-Loop-Signature: 1574113926981:3013529835 X-MC-Ingress-Time: 1574113926980 Received: from pdx1-sub0-mail-a6.g.dreamhost.com (localhost [127.0.0.1]) by pdx1-sub0-mail-a6.g.dreamhost.com (Postfix) with ESMTP id 5B5ABA7004; Mon, 18 Nov 2019 13:52:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=linkov.net; h=from:to:cc :subject:references:date:in-reply-to:message-id:mime-version :content-type; s=linkov.net; bh=O3IMtDad7ZhXyn4w4Lc76r7XN7k=; b= Couq64y1VvL7ZcRP7UmizK2OC1muj7y5UREgTl2Xo7cVAXSAAKxYCRhP9vwfSG5Q dOIzP8NTSHgCp3HEnrL04hD/Jhu9cKlYZiY7/27xGT+Et8TlpR0fHsPuJO0hAQaa cw9PTzS4cDSbiUbcw1gOjRf4TlT3UGkXZnLNDt+o2vk= Received: from mail.jurta.org (m91-129-102-1.cust.tele2.ee [91.129.102.1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: jurta@jurta.org) by pdx1-sub0-mail-a6.g.dreamhost.com (Postfix) with ESMTPSA id F183CA7014; Mon, 18 Nov 2019 13:51:58 -0800 (PST) X-DH-BACKEND: pdx1-sub0-mail-a6 From: Juri Linkov Organization: LINKOV.NET References: <83v9s3lo5f.fsf@gnu.org> <75EC4FBC-F636-4D75-BAC4-982D85188794@acm.org> <9b9222ad-ead7-d0a0-0602-780d0680f070@gmx.at> <6bf229f4-c22f-c3c2-5158-5235f908de3c@gmx.at> <8ec84837-172c-1ce5-cab0-b4c96a86274e@gmx.at> <411EAB4E-B666-4263-8514-5F47391268B1@acm.org> <2df02c1f-fea4-f764-eba6-fd67de581755@gmx.at> <3b74a108-28e3-fd01-64a5-7c4302e3d979@gmx.at> <9A9D13F2-1F4F-4DD4-B92F-96FC4D91DFBD@acm.org> <83pni17x5b.fsf@gnu.org> <8B95D2D3-8E00-45BF-B57D-EFD49D79EB6A@acm.org> <83bltk95p7.fsf@gnu.org> <60DD9D65-C3F0-470E-8489-B333E1889D32@acm.org> <83ftio6lsy.fsf@gnu.org> <290E5E66-964B-4E29-B141-166447AD5556@acm.org> <175E5B2E-2256-4FCD-AA8E-9E5BC6DE7907@acm.org> <7d94fa94-94e4-46dc-8df0-c40ccf052ee9@default> Date: Mon, 18 Nov 2019 23:29:35 +0200 In-Reply-To: <7d94fa94-94e4-46dc-8df0-c40ccf052ee9@default> (Drew Adams's message of "Mon, 18 Nov 2019 11:22:36 -0800 (PST)") Message-ID: <87imngub40.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) > please don't bind `C-M-(down-)mouse-1'. I agree. We need to use the same keys as in other applications: `C-down-mouse-1' to select the rectangular region, then move its current binding of `mouse-buffer-menu' to the context popup menu bound to `' like on all other applications. From unknown Sat Jun 21 05:17:43 2025 X-Loop: help-debbugs@gnu.org Subject: bug#38013: [PATCH] Rectangular region selection with mouse Resent-From: martin rudalics Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 19 Nov 2019 07:58:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 38013 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Juri Linkov , Drew Adams Cc: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= , 38013@debbugs.gnu.org Received: via spool by 38013-submit@debbugs.gnu.org id=B38013.157415025711054 (code B ref 38013); Tue, 19 Nov 2019 07:58:01 +0000 Received: (at 38013) by debbugs.gnu.org; 19 Nov 2019 07:57:37 +0000 Received: from localhost ([127.0.0.1]:46531 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iWyOG-0002sE-Rm for submit@debbugs.gnu.org; Tue, 19 Nov 2019 02:57:37 -0500 Received: from mout.gmx.net ([212.227.17.20]:42247) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iWyOE-0002s1-Ly for 38013@debbugs.gnu.org; Tue, 19 Nov 2019 02:57:35 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1574150236; bh=tk09nfZSFd1kIbtPyiykBBg/icNZtmHJ1xpgGVHoX+k=; h=X-UI-Sender-Class:Subject:To:Cc:References:From:Date:In-Reply-To; b=C7ntigqKKE0UnlJoysbfh54vSk1FX6X3OMm7bx68TDmEyTNKvo+ups7UCXe13vFjp zM+i0TkUvbjgxsnCf0PB6TgP4LXeP94BtwmWJ5MBNiAqhbdsQ7WYEOux8N/Xxel+DM gsVIvqR2l3ExYPvhjaw+sASl1n+uXhPqL9N+q66Q= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from [192.168.1.102] ([212.95.5.204]) by mail.gmx.com (mrgmx104 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MsHnm-1hhlhp31Bq-00tkZd; Tue, 19 Nov 2019 08:57:15 +0100 References: <83v9s3lo5f.fsf@gnu.org> <75EC4FBC-F636-4D75-BAC4-982D85188794@acm.org> <9b9222ad-ead7-d0a0-0602-780d0680f070@gmx.at> <6bf229f4-c22f-c3c2-5158-5235f908de3c@gmx.at> <8ec84837-172c-1ce5-cab0-b4c96a86274e@gmx.at> <411EAB4E-B666-4263-8514-5F47391268B1@acm.org> <2df02c1f-fea4-f764-eba6-fd67de581755@gmx.at> <3b74a108-28e3-fd01-64a5-7c4302e3d979@gmx.at> <9A9D13F2-1F4F-4DD4-B92F-96FC4D91DFBD@acm.org> <83pni17x5b.fsf@gnu.org> <8B95D2D3-8E00-45BF-B57D-EFD49D79EB6A@acm.org> <83bltk95p7.fsf@gnu.org> <60DD9D65-C3F0-470E-8489-B333E1889D32@acm.org> <83ftio6lsy.fsf@gnu.org> <290E5E66-964B-4E29-B141-166447AD5556@acm.org> <175E5B2E-2256-4FCD-AA8E-9E5BC6DE7907@acm.org> <7d94fa94-94e4-46dc-8df0-c40ccf052ee9@default> <87imngub40.fsf@mail.linkov.net> From: martin rudalics Message-ID: <60fa6496-c057-b69d-21c1-3b1de85b4b9f@gmx.at> Date: Tue, 19 Nov 2019 08:57:15 +0100 MIME-Version: 1.0 In-Reply-To: <87imngub40.fsf@mail.linkov.net> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: de-AT Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K1:Pyb264dc/eYhxpapR4IpxJzgwslT8EQ0Vb99prUNlKQvyuzkezX nPOq+ICHxuVBT4r1TNIW3wdtG6juCXxQd0C6qXGw3DLcmKHit2ur3XHNZt3/7m+ofVX1Ngq 9DRug+FQ6rla4xgFlQn2qDm1G3djAR54WTi7XiKDR5of2STFP7e8SkTuD1QY84/NDKjMeGN byLTH7MWKvnOaRVEKUcQw== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:YYwBukzZ9ro=:O1GK32bxva8tmjDsoJjOUQ ymAuAEEQxAHNG+iexOWbO1zTAGRUXOnzGt8p3sgKS1japGDj69VpZcfnMoFFr6LTI1m549luJ /3RE9VOsUNfH2rIoDQYgcEvVBhhmqCO2uc6B0XxEOvkj2yPa9rCTlUspgw1DewTABI2MBRDT3 6IsscmvAPsX2RrKQu1W9mcw0w43RmdmnGK6rHLGY5gzDi7tv1yoOdBwNRWTiKhevILc6CGcfY BXWEm9MQc5CzUmBme6IU6qjgYdACmzyWkAN0Q5NcgLuEdO6JQJrHjrGLT6KtOBgfG4Ie3k4Rd IC7fdAiyh7bBWKLTUYtj8I+UbttuVy08aBpir4HVw0Cs1jJcq7reWtlVaFWzm9Qo+zAPvA275 mN+VA7i+YXomBcS0NXsCZROxG8WfG2/yYrCD0yd3R9QDz0B7sWxpzky3+bcDAz5QqpFtC9O4N NBWSaZyzYwXzG3ZOVQ2tLvqNm24VtFc9dwXMGF8glnGSJkF5P8XucFiwKEiQrCCRWW2X1Sqhb 6IcPEYqkt3jOxSu1tmq2hjbznvL3uS+cu82t+Yjxb8QVuuoHgziYeGlK1CcowuV4yTqv3eyZE yvMOaJrcLmVFMgQfXycdHa8BA0RWlM4mk2fG4hR5MGp6oo4gJbDDwkKqf7J0X6N7bWUqXt2qW nvbDLDQDdEmvqiIa+e95gqxj/zAnwTPC9PZkVi7gdDCoOqOPh/JT7SaClbKGriy0vvoVfWtv3 oVkJie7SQ7Zk7Q/3E9dedH/u3dbewvr/kZBGg3cAay3089JFQTv3i87lASWSFLl7Ux+LC+ZGn 4TrY34B+Dv13WboPPqX3SvLq70sFPZhwtOG4rjo76ZbUJsJPt0xuiHmxvuY43RHv8Bg3UIs6v 1sc64tCee7a+nXDF0PCFBA2HkqKnzNMiVoYM3JJZq+vaszAJ41xKbx1H5pvE7ThsPH6BeEEpE e+dKgLFy5IiZvoQCS3Wv/GzgwVygMv3MI4/pNxjoF5lL9A6sD/V6jqhhVWSaqJaxIHs24pc2v Gg/gIXvCjOGtTVx76Ur/yIwsuN05bKORf6scGBk/6MlsjsHkcqUh57OEEBsmrBbrscNoYQAlz KdBm9aWuwB6i+Rrci7d4OpNEqeKW7eyZnhXd38YNlxco5YHEsfR0NBDgGgj44hBIYVVgIlqnn pVnr4XGPeJYXew8jimpTfUIWBNK3kJcknQoZy9YCGaW9bNgycCFgxf2+HsJcGI17dj1Tk8Has 2WfPaH82BgqyowtiXx9JJhqe+LXlTEQZXH5JUIIhkvp8wFpnEOVQNd8Nmu8g= X-Spam-Score: 2.9 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: > I agree. We need to use the same keys as in other applications: > `C-down-mouse-1' to select the rectangular region, then move > its current binding of `mouse-buffer-menu' to the context popup menu [...] Content analysis details: (2.9 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at https://www.dnswl.org/, low trust [212.227.17.20 listed in list.dnswl.org] 3.6 RCVD_IN_SBL_CSS RBL: Received via a relay in Spamhaus SBL-CSS [212.95.5.204 listed in zen.spamhaus.org] 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (rudalics[at]gmx.at) -0.0 SPF_PASS SPF: sender matches SPF record 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.9 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: > I agree. We need to use the same keys as in other applications: > `C-down-mouse-1' to select the rectangular region, then move > its current binding of `mouse-buffer-menu' to the context popup menu [...] Content analysis details: (1.9 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at https://www.dnswl.org/, low trust [212.227.17.20 listed in list.dnswl.org] 3.6 RCVD_IN_SBL_CSS RBL: Received via a relay in Spamhaus SBL-CSS [212.95.5.204 listed in zen.spamhaus.org] 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (rudalics[at]gmx.at) -0.0 SPF_PASS SPF: sender matches SPF record 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record -1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list manager > I agree. We need to use the same keys as in other applications: > `C-down-mouse-1' to select the rectangular region, then move > its current binding of `mouse-buffer-menu' to the context popup menu > bound to `' like on all other applications. As I tried to explain before: Other applications use 'C-down-mouse-1' for building non-contiguous regions that do _not_ necessarily form a rectangle. martin From unknown Sat Jun 21 05:17:43 2025 X-Loop: help-debbugs@gnu.org Subject: bug#38013: [PATCH] Rectangular region selection with mouse Resent-From: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 19 Nov 2019 13:59:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 38013 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: martin rudalics Cc: 38013@debbugs.gnu.org, Drew Adams , Juri Linkov Received: via spool by 38013-submit@debbugs.gnu.org id=B38013.157417189410664 (code B ref 38013); Tue, 19 Nov 2019 13:59:02 +0000 Received: (at 38013) by debbugs.gnu.org; 19 Nov 2019 13:58:14 +0000 Received: from localhost ([127.0.0.1]:46790 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iX41D-0002lu-64 for submit@debbugs.gnu.org; Tue, 19 Nov 2019 08:58:14 -0500 Received: from mail1442c50.megamailservers.eu ([91.136.14.42]:33728 helo=mail264c50.megamailservers.eu) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iX41B-0002lg-AA for 38013@debbugs.gnu.org; Tue, 19 Nov 2019 08:58:10 -0500 X-Authenticated-User: mattiase@bredband.net DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=megamailservers.eu; s=maildub; t=1574171882; bh=VPcNMQH/q4I8lYbObTDMsR8V62olcvcWRHmrB8ZfBZQ=; h=Subject:From:In-Reply-To:Date:Cc:References:To:From; b=JcrZ0MLyB6RhTuWCvzzQV2k8T5GC0kuIc3luvLB+DMW6yf1Hs5tsR9tXuzFOqUK5X InL0FouEN+LrlXskl/Ykb87rhEn2mnoMoaDFMp6hVBG1pxL4/zxnNRLmA+7ucnY+Ss 5+TacJRrOuyvnY92/nj7d26/CApOF9ZT1T93Sp5A= Feedback-ID: mattiase@acm.or Received: from [192.168.1.64] (c-ee54e353.032-75-73746f71.bbcust.telenor.se [83.227.84.238]) (authenticated bits=0) by mail264c50.megamailservers.eu (8.14.9/8.13.1) with ESMTP id xAJDvxtX020059; Tue, 19 Nov 2019 13:58:00 +0000 Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\)) From: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= In-Reply-To: <60fa6496-c057-b69d-21c1-3b1de85b4b9f@gmx.at> Date: Tue, 19 Nov 2019 14:57:59 +0100 Content-Transfer-Encoding: quoted-printable Message-Id: References: <83v9s3lo5f.fsf@gnu.org> <75EC4FBC-F636-4D75-BAC4-982D85188794@acm.org> <9b9222ad-ead7-d0a0-0602-780d0680f070@gmx.at> <6bf229f4-c22f-c3c2-5158-5235f908de3c@gmx.at> <8ec84837-172c-1ce5-cab0-b4c96a86274e@gmx.at> <411EAB4E-B666-4263-8514-5F47391268B1@acm.org> <2df02c1f-fea4-f764-eba6-fd67de581755@gmx.at> <3b74a108-28e3-fd01-64a5-7c4302e3d979@gmx.at> <9A9D13F2-1F4F-4DD4-B92F-96FC4D91DFBD@acm.org> <83pni17x5b.fsf@gnu.org> <8B95D2D3-8E00-45BF-B57D-EFD49D79EB6A@acm.org> <83bltk95p7.fsf@gnu.org> <60DD9D65-C3F0-470E-8489-B333E1889D32@acm.org> <83ftio6lsy.fsf@gnu.org> <290E5E66-964B-4E29-B141-166447AD5556@acm.org> <175E5B2E-2256-4FCD-AA8E-9E5BC6DE7907@acm.org> <7d94fa94-94e4-46dc-8df0-c40ccf052ee9@default> <87imngub40.fsf@mail.linkov.net> <60fa6496-c057-b69d-21c1-3b1de85b4b9f@gmx.at> X-Mailer: Apple Mail (2.3445.104.11) X-CTCH-RefID: str=0001.0A0B0204.5DD3F4EA.0034, ss=1, re=0.000, recu=0.000, reip=0.000, cl=1, cld=1, fgs=0 X-CTCH-VOD: Unknown X-CTCH-Spam: Unknown X-CTCH-Score: 0.000 X-CTCH-Rules: X-CTCH-Flags: 0 X-CTCH-ScoreCust: 0.000 X-CSC: 0 X-CHA: v=2.3 cv=ar3M9hRV c=1 sm=1 tr=0 a=Fmb7hdz85/yTNbhpOvpRKA==:117 a=Fmb7hdz85/yTNbhpOvpRKA==:17 a=jpOVt7BSZ2e4Z31A5e1TngXxSK0=:19 a=kj9zAlcOel0A:10 a=M51BFTxLslgA:10 a=3zvSurqMvk7zrkHAme0A:9 a=CjuIK1q_8ugA:10 X-Spam-Score: 1.4 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: 19 nov. 2019 kl. 08.57 skrev martin rudalics : > > I agree. We need to use the same keys as in other applications: > > `C-down-mouse-1' to select the rectangular region, then move > > its current binding of `mouse-buffer-menu' to the context popup [...] Content analysis details: (1.4 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [URIs: gmx.at] 1.0 SPF_SOFTFAIL SPF: sender does not match SPF record (softfail) 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 0.4 KHOP_HELO_FCRDNS Relay HELO differs from its IP's reverse DNS X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) 19 nov. 2019 kl. 08.57 skrev martin rudalics : > > I agree. We need to use the same keys as in other applications: > > `C-down-mouse-1' to select the rectangular region, then move > > its current binding of `mouse-buffer-menu' to the context popup menu > > bound to `' like on all other applications. >=20 > As I tried to explain before: Other applications use 'C-down-mouse-1' > for building non-contiguous regions that do _not_ necessarily form a > rectangle. You are both right, and I, too, would prefer a better modifier than = control-meta. Platform conventions vary, although right-button is clearly dominant for = context menus today. There is no similarly agreed way to select = rectangles of text. Nevertheless, I would like this patch to be pushed as long as there is = no objection to the design and implementation of the feature itself. It = uses nobody's favourite binding, but at least the feature is accessible = in a useful way. With it in place, we can argue about shuffling bindings = around. From unknown Sat Jun 21 05:17:43 2025 X-Loop: help-debbugs@gnu.org Subject: bug#38013: [PATCH] Rectangular region selection with mouse Resent-From: Drew Adams Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 19 Nov 2019 15:10:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 38013 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= , martin rudalics Cc: 38013@debbugs.gnu.org, Juri Linkov Received: via spool by 38013-submit@debbugs.gnu.org id=B38013.157417618825910 (code B ref 38013); Tue, 19 Nov 2019 15:10:01 +0000 Received: (at 38013) by debbugs.gnu.org; 19 Nov 2019 15:09:48 +0000 Received: from localhost ([127.0.0.1]:48212 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iX58V-0006jp-Rh for submit@debbugs.gnu.org; Tue, 19 Nov 2019 10:09:48 -0500 Received: from userp2130.oracle.com ([156.151.31.86]:55080) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iX58R-0006jZ-Kf for 38013@debbugs.gnu.org; Tue, 19 Nov 2019 10:09:46 -0500 Received: from pps.filterd (userp2130.oracle.com [127.0.0.1]) by userp2130.oracle.com (8.16.0.27/8.16.0.27) with SMTP id xAJF91eV036484; Tue, 19 Nov 2019 15:09:36 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=mime-version : message-id : date : from : sender : to : cc : subject : references : in-reply-to : content-type : content-transfer-encoding; s=corp-2019-08-05; bh=jemWaT+EmzgBc6NBRgR/FBaYEJ/t4/s76uigO5tNGG8=; b=bedTDJtFhjmtNq36HgNhZx3qsJUJp7+QGekD8WaDHmmPLZbpYc4Lp0fGGoxo8ABAeN1R 5Of85Zr0utDQPdblztmDzfmfKPhxeP+/Ia2l2b8gW+3uHr+B1hE3G6mR05Hcdn0Yl5HN WCuMU49CLS04l9vfBsdT/5o+E53IcBPGr/koeGlTlU/o4oy4utQWUb1X7gLT0yQCPBa6 hoYm1MINCHKh8sESuEwbbTIsnUaPqMh/6xW5LQqCPgNifatvpurq3gxllLDyufVKoc1r 99a1fZ1GC9422o3RpLe7/fltCw2Lj7cGt0gmMsGKCY1PLwNrmTI70DKhXlt77RMeOr7l XQ== Received: from userp3020.oracle.com (userp3020.oracle.com [156.151.31.79]) by userp2130.oracle.com with ESMTP id 2wa8htqj66-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 19 Nov 2019 15:09:35 +0000 Received: from pps.filterd (userp3020.oracle.com [127.0.0.1]) by userp3020.oracle.com (8.16.0.27/8.16.0.27) with SMTP id xAJF8KI6139589; Tue, 19 Nov 2019 15:09:35 GMT Received: from aserv0121.oracle.com (aserv0121.oracle.com [141.146.126.235]) by userp3020.oracle.com with ESMTP id 2wc09xhjft-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 19 Nov 2019 15:09:35 +0000 Received: from abhmp0001.oracle.com (abhmp0001.oracle.com [141.146.116.7]) by aserv0121.oracle.com (8.14.4/8.13.8) with ESMTP id xAJF9XCT012260; Tue, 19 Nov 2019 15:09:33 GMT MIME-Version: 1.0 Message-ID: <9302a9ac-e64c-41ed-898b-24d59465fba4@default> Date: Tue, 19 Nov 2019 07:09:32 -0800 (PST) From: Drew Adams References: <83v9s3lo5f.fsf@gnu.org> <75EC4FBC-F636-4D75-BAC4-982D85188794@acm.org> <9b9222ad-ead7-d0a0-0602-780d0680f070@gmx.at> <6bf229f4-c22f-c3c2-5158-5235f908de3c@gmx.at> <8ec84837-172c-1ce5-cab0-b4c96a86274e@gmx.at> <411EAB4E-B666-4263-8514-5F47391268B1@acm.org> <2df02c1f-fea4-f764-eba6-fd67de581755@gmx.at> <3b74a108-28e3-fd01-64a5-7c4302e3d979@gmx.at> <9A9D13F2-1F4F-4DD4-B92F-96FC4D91DFBD@acm.org> <83pni17x5b.fsf@gnu.org> <8B95D2D3-8E00-45BF-B57D-EFD49D79EB6A@acm.org> <83bltk95p7.fsf@gnu.org> <60DD9D65-C3F0-470E-8489-B333E1889D32@acm.org> <83ftio6lsy.fsf@gnu.org> <290E5E66-964B-4E29-B141-166447AD5556@acm.org> <175E5B2E-2256-4FCD-AA8E-9E5BC6DE7907@acm.org> <7d94fa94-94e4-46dc-8df0-c40ccf052ee9@default> <87imngub40.fsf@mail.linkov.net> <60fa6496-c057-b69d-21c1-3b1de85b4b9f@gmx.at> In-Reply-To: X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9.1 (1003210) [OL 16.0.4927.0 (x86)] Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9445 signatures=668685 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 mlxscore=0 mlxlogscore=844 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1911140001 definitions=main-1911190139 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9445 signatures=668685 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 priorityscore=1501 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=905 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1911140001 definitions=main-1911190139 X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > You are both right, and I, too, would prefer a better modifier than > control-meta. > Platform conventions vary, although right-button is clearly dominant > for context menus today. There is no similarly agreed way to select > rectangles of text. >=20 > Nevertheless, I would like this patch to be pushed as long as there is > no objection to the design and implementation of the feature itself. The feature itself does not include imposing a binding by default. The feature is not the problem. > It uses nobody's favourite binding, but at least > the feature is accessible in a useful way. The feature is accessible without a default binding. > With it in place, we can argue about shuffling > bindings around. No. We should argue, if that's needed, only after the feature has been used by users for quite a while and users have called for a default binding. Please do not bind this feature by default at all. Users can bind it as they see fit. This is a new feature. Binding can be considered after a (hopefully long) period of use and experimentation. From unknown Sat Jun 21 05:17:43 2025 X-Loop: help-debbugs@gnu.org Subject: bug#38013: [PATCH] Rectangular region selection with mouse Resent-From: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 19 Nov 2019 15:39:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 38013 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Drew Adams Cc: martin rudalics , 38013@debbugs.gnu.org, Juri Linkov Received: via spool by 38013-submit@debbugs.gnu.org id=B38013.157417788828623 (code B ref 38013); Tue, 19 Nov 2019 15:39:01 +0000 Received: (at 38013) by debbugs.gnu.org; 19 Nov 2019 15:38:08 +0000 Received: from localhost ([127.0.0.1]:48252 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iX5Zv-0007RX-A5 for submit@debbugs.gnu.org; Tue, 19 Nov 2019 10:38:07 -0500 Received: from mail1480c50.megamailservers.eu ([91.136.14.80]:36042 helo=mail118c50.megamailservers.eu) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iX5Zo-0007Qt-5l for 38013@debbugs.gnu.org; Tue, 19 Nov 2019 10:38:05 -0500 X-Authenticated-User: mattiase@bredband.net DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=megamailservers.eu; s=maildub; t=1574177873; bh=l5QcCP+86T9rk3r/0w5/jMpUm7ODariK2w2Lpe3V1I8=; h=Subject:From:In-Reply-To:Date:Cc:References:To:From; b=IX4GLwmXBel2ExVHBmjeDpVP+2+OwEYKUGM03ia6qgJ14ixbZQUyPgNtdQH7Eo6BT kdect/sywiCrshS8xoL5pfKkBfnvWCfRGhZkuck5AH1GIyl1zYQkSGSNSfB3tzkRkg DOBFlJRjFp2FE14vrU0BAwF1YOTRkFylnf9c8uTY= Feedback-ID: mattiase@acm.or Received: from [192.168.1.64] (c-ee54e353.032-75-73746f71.bbcust.telenor.se [83.227.84.238]) (authenticated bits=0) by mail118c50.megamailservers.eu (8.14.9/8.13.1) with ESMTP id xAJFbo4R010389; Tue, 19 Nov 2019 15:37:52 +0000 Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\)) From: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= X-Priority: 3 In-Reply-To: <9302a9ac-e64c-41ed-898b-24d59465fba4@default> Date: Tue, 19 Nov 2019 16:37:50 +0100 Content-Transfer-Encoding: quoted-printable Message-Id: References: <83v9s3lo5f.fsf@gnu.org> <75EC4FBC-F636-4D75-BAC4-982D85188794@acm.org> <9b9222ad-ead7-d0a0-0602-780d0680f070@gmx.at> <6bf229f4-c22f-c3c2-5158-5235f908de3c@gmx.at> <8ec84837-172c-1ce5-cab0-b4c96a86274e@gmx.at> <411EAB4E-B666-4263-8514-5F47391268B1@acm.org> <2df02c1f-fea4-f764-eba6-fd67de581755@gmx.at> <3b74a108-28e3-fd01-64a5-7c4302e3d979@gmx.at> <9A9D13F2-1F4F-4DD4-B92F-96FC4D91DFBD@acm.org> <83pni17x5b.fsf@gnu.org> <8B95D2D3-8E00-45BF-B57D-EFD49D79EB6A@acm.org> <83bltk95p7.fsf@gnu.org> <60DD9D65-C3F0-470E-8489-B333E1889D32@acm.org> <83ftio6lsy.fsf@gnu.org> <290E5E66-964B-4E29-B141-166447AD5556@acm.org> <175E5B2E-2256-4FCD-AA8E-9E5BC6DE7907@acm.org> <7d94fa94-94e4-46dc-8df0-c40ccf052ee9@default> <87imngub40.fsf@mail.linkov.net> <60fa6496-c057-b69d-21c1-3b1de85b4b9f@gmx.at> <9302a9ac-e64c-41ed-898b-24d59465fba4@default> X-Mailer: Apple Mail (2.3445.104.11) X-CTCH-RefID: str=0001.0A0B0213.5DD40C51.0036, ss=1, re=0.000, recu=0.000, reip=0.000, cl=1, cld=1, fgs=0 X-CTCH-VOD: Unknown X-CTCH-Spam: Unknown X-CTCH-Score: 0.000 X-CTCH-Rules: X-CTCH-Flags: 0 X-CTCH-ScoreCust: 0.000 X-CSC: 0 X-CHA: v=2.3 cv=dLXYZ9Rb c=1 sm=1 tr=0 a=Fmb7hdz85/yTNbhpOvpRKA==:117 a=Fmb7hdz85/yTNbhpOvpRKA==:17 a=jpOVt7BSZ2e4Z31A5e1TngXxSK0=:19 a=kj9zAlcOel0A:10 a=M51BFTxLslgA:10 a=yPCof4ZbAAAA:8 a=7LaJdgTnBfLI1hvNM0cA:9 a=7Zwj6sZBwVKJAoWSPKxL6X1jA+E=:19 a=CjuIK1q_8ugA:10 X-Spam-Score: 1.4 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: 19 nov. 2019 kl. 16.09 skrev Drew Adams : > No. We should argue, if that's needed, only after > the feature has been used by users for quite a while > and users have called for a default binding. Content analysis details: (1.4 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [URIs: megamailservers.eu] 1.0 SPF_SOFTFAIL SPF: sender does not match SPF record (softfail) 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 0.4 KHOP_HELO_FCRDNS Relay HELO differs from its IP's reverse DNS X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) 19 nov. 2019 kl. 16.09 skrev Drew Adams : > No. We should argue, if that's needed, only after > the feature has been used by users for quite a while > and users have called for a default binding. Of course rectangular selection should have a binding by default. This = is not controversial in the slightest. From unknown Sat Jun 21 05:17:43 2025 X-Loop: help-debbugs@gnu.org Subject: bug#38013: [PATCH] Rectangular region selection with mouse Resent-From: Drew Adams Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 19 Nov 2019 16:10:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 38013 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= Cc: martin rudalics , 38013@debbugs.gnu.org, Juri Linkov Received: via spool by 38013-submit@debbugs.gnu.org id=B38013.157417975231789 (code B ref 38013); Tue, 19 Nov 2019 16:10:02 +0000 Received: (at 38013) by debbugs.gnu.org; 19 Nov 2019 16:09:12 +0000 Received: from localhost ([127.0.0.1]:48315 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iX640-0008Gf-9Z for submit@debbugs.gnu.org; Tue, 19 Nov 2019 11:09:12 -0500 Received: from userp2130.oracle.com ([156.151.31.86]:41944) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iX63k-0008Fq-Dl for 38013@debbugs.gnu.org; Tue, 19 Nov 2019 11:08:57 -0500 Received: from pps.filterd (userp2130.oracle.com [127.0.0.1]) by userp2130.oracle.com (8.16.0.27/8.16.0.27) with SMTP id xAJG4rU8091561; Tue, 19 Nov 2019 16:08:49 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=mime-version : message-id : date : from : sender : to : cc : subject : references : in-reply-to : content-type : content-transfer-encoding; s=corp-2019-08-05; bh=R/rDdPHNv8jp2ePEzLxPgFyJuol1O0vqTdM02PMZPNY=; b=Eux7BcxaxVb0JOwQKB36KpGTNqtBv3mQVJ5s3BYcCDG6kL0k++V3L7stz9TqT8LyMEks 37m2ty+VosiT2LXtHked3Er1fdEPXiPP3W6ploRFLthEinzqOBLXe1JTZr8vwVWQQ46i dK5nAEP/9eETa63O2kaPWDbkJiZqxdjQn04wkNV9TCvhSM69wriUaq9Oe4fgBFEqWj66 QEfJCPbGT1licuDRkGEfZbu9ur7j8tuEugzPHHBJjFcpbLgpVypOks16e1n9INvRtNV3 qO7nRuYJPP+dDzu6KyUjqD8yPvfrapRM8ePc299JfGZIjrDLC60zqi3NYYlOjfemunb3 aA== Received: from userp3020.oracle.com (userp3020.oracle.com [156.151.31.79]) by userp2130.oracle.com with ESMTP id 2wa8htqysh-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 19 Nov 2019 16:08:49 +0000 Received: from pps.filterd (userp3020.oracle.com [127.0.0.1]) by userp3020.oracle.com (8.16.0.27/8.16.0.27) with SMTP id xAJG8it0118376; Tue, 19 Nov 2019 16:08:48 GMT Received: from aserv0121.oracle.com (aserv0121.oracle.com [141.146.126.235]) by userp3020.oracle.com with ESMTP id 2wc09xmcsy-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 19 Nov 2019 16:08:44 +0000 Received: from abhmp0013.oracle.com (abhmp0013.oracle.com [141.146.116.19]) by aserv0121.oracle.com (8.14.4/8.13.8) with ESMTP id xAJG8Xh8021988; Tue, 19 Nov 2019 16:08:33 GMT MIME-Version: 1.0 Message-ID: Date: Tue, 19 Nov 2019 08:08:32 -0800 (PST) From: Drew Adams References: <83v9s3lo5f.fsf@gnu.org> <75EC4FBC-F636-4D75-BAC4-982D85188794@acm.org> <9b9222ad-ead7-d0a0-0602-780d0680f070@gmx.at> <6bf229f4-c22f-c3c2-5158-5235f908de3c@gmx.at> <8ec84837-172c-1ce5-cab0-b4c96a86274e@gmx.at> <411EAB4E-B666-4263-8514-5F47391268B1@acm.org> <2df02c1f-fea4-f764-eba6-fd67de581755@gmx.at> <3b74a108-28e3-fd01-64a5-7c4302e3d979@gmx.at> <9A9D13F2-1F4F-4DD4-B92F-96FC4D91DFBD@acm.org> <83pni17x5b.fsf@gnu.org> <8B95D2D3-8E00-45BF-B57D-EFD49D79EB6A@acm.org> <83bltk95p7.fsf@gnu.org> <60DD9D65-C3F0-470E-8489-B333E1889D32@acm.org> <83ftio6lsy.fsf@gnu.org> <290E5E66-964B-4E29-B141-166447AD5556@acm.org> <175E5B2E-2256-4FCD-AA8E-9E5BC6DE7907@acm.org> <7d94fa94-94e4-46dc-8df0-c40ccf052ee9@default> <87imngub40.fsf@mail.linkov.net> <60fa6496-c057-b69d-21c1-3b1de85b4b9f@gmx.at> <9302a9ac-e64c-41ed-898b-24d59465fba4@default> In-Reply-To: X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9.1 (1003210) [OL 16.0.4927.0 (x86)] Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9445 signatures=668685 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 mlxscore=0 mlxlogscore=949 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1911140001 definitions=main-1911190144 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9445 signatures=668685 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 priorityscore=1501 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1911140001 definitions=main-1911190144 X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > > No. We should argue, if that's needed, only after > > the feature has been used by users for quite a while > > and users have called for a default binding. >=20 > Of course rectangular selection should have a binding by default. This > is not controversial in the slightest. Count me as one user who disagrees that this deserves a default binding. Eli suggested defining a minor mode, as does CUA. That mode could be global, and it could have a default binding for this, like CUA. That's the right approach, IMHO. When CUA (including CUA rectangle) was introduced, it wasn't foisted on all Emacs users by imposing its bindings. It's coexisted politely in a minor mode. Lots of users liked CUA and used it. And eventually its rectangle selection was introduced outside CUA. I see no reason why Emacs should precipitously bind mouse actions to this new feature by default. Anyone who wants to use it could just turn on the minor mode once, and leave it on, getting whatever default bindings you want for that. That shouldn't be "controversial in the slightest". From unknown Sat Jun 21 05:17:43 2025 X-Loop: help-debbugs@gnu.org Subject: bug#38013: [PATCH] Rectangular region selection with mouse Resent-From: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 19 Nov 2019 16:27:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 38013 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Drew Adams Cc: martin rudalics , 38013@debbugs.gnu.org, Juri Linkov Received: via spool by 38013-submit@debbugs.gnu.org id=B38013.15741807988484 (code B ref 38013); Tue, 19 Nov 2019 16:27:01 +0000 Received: (at 38013) by debbugs.gnu.org; 19 Nov 2019 16:26:38 +0000 Received: from localhost ([127.0.0.1]:48342 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iX6Ks-0002Cm-5O for submit@debbugs.gnu.org; Tue, 19 Nov 2019 11:26:38 -0500 Received: from mail214c50.megamailservers.eu ([91.136.10.224]:56114 helo=mail193c50.megamailservers.eu) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iX6Kh-0002CU-Hy for 38013@debbugs.gnu.org; Tue, 19 Nov 2019 11:26:36 -0500 X-Authenticated-User: mattiase@bredband.net DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=megamailservers.eu; s=maildub; t=1574180785; bh=u2cpm04Gz9Kfmg3ADBi4zDZv8lu3wtHBDFt5ab+157M=; h=Subject:From:In-Reply-To:Date:Cc:References:To:From; b=e0Emzm+kAX+ZqGiAlrTkf/lmO6DZoAqaCNTdhQvFGTMbAGhT2xjO4iXBeR5cGEwgD 2eJL1WlX5nqyvLwAKYXpvvI6aYr4kP1r0srZACNQeisux4Yx5zeohPpB+m6eRh5nhG k8h0pbZYUOpd1ZNHcwGOVtGUoEGu6/UPpnCUzQ+M= Feedback-ID: mattiase@acm.or Received: from [192.168.1.64] (c-ee54e353.032-75-73746f71.bbcust.telenor.se [83.227.84.238]) (authenticated bits=0) by mail193c50.megamailservers.eu (8.14.9/8.13.1) with ESMTP id xAJGQMv1020313; Tue, 19 Nov 2019 16:26:24 +0000 Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\)) From: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= X-Priority: 3 In-Reply-To: Date: Tue, 19 Nov 2019 17:26:22 +0100 Content-Transfer-Encoding: quoted-printable Message-Id: References: <83v9s3lo5f.fsf@gnu.org> <75EC4FBC-F636-4D75-BAC4-982D85188794@acm.org> <9b9222ad-ead7-d0a0-0602-780d0680f070@gmx.at> <6bf229f4-c22f-c3c2-5158-5235f908de3c@gmx.at> <8ec84837-172c-1ce5-cab0-b4c96a86274e@gmx.at> <411EAB4E-B666-4263-8514-5F47391268B1@acm.org> <2df02c1f-fea4-f764-eba6-fd67de581755@gmx.at> <3b74a108-28e3-fd01-64a5-7c4302e3d979@gmx.at> <9A9D13F2-1F4F-4DD4-B92F-96FC4D91DFBD@acm.org> <83pni17x5b.fsf@gnu.org> <8B95D2D3-8E00-45BF-B57D-EFD49D79EB6A@acm.org> <83bltk95p7.fsf@gnu.org> <60DD9D65-C3F0-470E-8489-B333E1889D32@acm.org> <83ftio6lsy.fsf@gnu.org> <290E5E66-964B-4E29-B141-166447AD5556@acm.org> <175E5B2E-2256-4FCD-AA8E-9E5BC6DE7907@acm.org> <7d94fa94-94e4-46dc-8df0-c40ccf052ee9@default> <87imngub40.fsf@mail.linkov.net> <60fa6496-c057-b69d-21c1-3b1de85b4b9f@gmx.at> <9302a9ac-e64c-41ed-898b-24d59465fba4@default> X-Mailer: Apple Mail (2.3445.104.11) X-CTCH-RefID: str=0001.0A0B020C.5DD417B1.003A, ss=1, re=0.000, recu=0.000, reip=0.000, cl=1, cld=1, fgs=0 X-CTCH-VOD: Unknown X-CTCH-Spam: Unknown X-CTCH-Score: 0.000 X-CTCH-Rules: X-CTCH-Flags: 0 X-CTCH-ScoreCust: 0.000 X-CSC: 0 X-CHA: v=2.3 cv=SamJicZu c=1 sm=1 tr=0 a=Fmb7hdz85/yTNbhpOvpRKA==:117 a=Fmb7hdz85/yTNbhpOvpRKA==:17 a=jpOVt7BSZ2e4Z31A5e1TngXxSK0=:19 a=kj9zAlcOel0A:10 a=M51BFTxLslgA:10 a=yPCof4ZbAAAA:8 a=xQzMUowJMYtP59hGIeIA:9 a=CjuIK1q_8ugA:10 a=L4q0ozHx2gkA:10 X-Spam-Score: 0.3 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) 19 nov. 2019 kl. 17.08 skrev Drew Adams : > Count me as one user who disagrees that this deserves > a default binding. We'll have to disagree then. A mode is useful when a different set of = behaviour is desired, but it's not the case here. From unknown Sat Jun 21 05:17:43 2025 X-Loop: help-debbugs@gnu.org Subject: bug#38013: [PATCH] Rectangular region selection with mouse Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 19 Nov 2019 17:31:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 38013 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Drew Adams Cc: mattiase@acm.org, 38013@debbugs.gnu.org, juri@linkov.net Received: via spool by 38013-submit@debbugs.gnu.org id=B38013.157418465715089 (code B ref 38013); Tue, 19 Nov 2019 17:31:02 +0000 Received: (at 38013) by debbugs.gnu.org; 19 Nov 2019 17:30:57 +0000 Received: from localhost ([127.0.0.1]:48477 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iX7L6-0003vJ-WF for submit@debbugs.gnu.org; Tue, 19 Nov 2019 12:30:57 -0500 Received: from eggs.gnu.org ([209.51.188.92]:40979) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iX7L5-0003v6-48 for 38013@debbugs.gnu.org; Tue, 19 Nov 2019 12:30:55 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:52060) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1iX7Kz-0001Gz-RZ; Tue, 19 Nov 2019 12:30:49 -0500 Received: from [176.228.60.248] (port=2240 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1iX7Ky-0004bw-UM; Tue, 19 Nov 2019 12:30:49 -0500 Date: Tue, 19 Nov 2019 19:30:56 +0200 Message-Id: <83lfsb22pb.fsf@gnu.org> From: Eli Zaretskii In-reply-to: (message from Drew Adams on Tue, 19 Nov 2019 08:08:32 -0800 (PST)) References: <83v9s3lo5f.fsf@gnu.org> <75EC4FBC-F636-4D75-BAC4-982D85188794@acm.org> <9b9222ad-ead7-d0a0-0602-780d0680f070@gmx.at> <6bf229f4-c22f-c3c2-5158-5235f908de3c@gmx.at> <8ec84837-172c-1ce5-cab0-b4c96a86274e@gmx.at> <411EAB4E-B666-4263-8514-5F47391268B1@acm.org> <2df02c1f-fea4-f764-eba6-fd67de581755@gmx.at> <3b74a108-28e3-fd01-64a5-7c4302e3d979@gmx.at> <9A9D13F2-1F4F-4DD4-B92F-96FC4D91DFBD@acm.org> <83pni17x5b.fsf@gnu.org> <8B95D2D3-8E00-45BF-B57D-EFD49D79EB6A@acm.org> <83bltk95p7.fsf@gnu.org> <60DD9D65-C3F0-470E-8489-B333E1889D32@acm.org> <83ftio6lsy.fsf@gnu.org> <290E5E66-964B-4E29-B141-166447AD5556@acm.org> <175E5B2E-2256-4FCD-AA8E-9E5BC6DE7907@acm.org> <7d94fa94-94e4-46dc-8df0-c40ccf052ee9@default> <87imngub40.fsf@mail.linkov.net> <60fa6496-c057-b69d-21c1-3b1de85b4b9f@gmx.at> <9302a9ac-e64c-41ed-898b-24d59465fba4@default> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Date: Tue, 19 Nov 2019 08:08:32 -0800 (PST) > From: Drew Adams > Cc: 38013@debbugs.gnu.org, Juri Linkov > > > Of course rectangular selection should have a binding by default. This > > is not controversial in the slightest. > > Count me as one user who disagrees that this deserves > a default binding. A command that needs to drag the mouse makes no sense without a binding to some mouse gesture. > Eli suggested defining a minor mode, as does CUA. I suggested a minor mode as a way to allow us using the same binding as used for another command by default. I did NOT suggest to have a minor mode _instead_ of a binding. From unknown Sat Jun 21 05:17:43 2025 X-Loop: help-debbugs@gnu.org Subject: bug#38013: [PATCH] Rectangular region selection with mouse Resent-From: Drew Adams Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 19 Nov 2019 18:34:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 38013 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Eli Zaretskii , Drew Adams Cc: mattiase@acm.org, 38013@debbugs.gnu.org, juri@linkov.net Received: via spool by 38013-submit@debbugs.gnu.org id=B38013.157418838321254 (code B ref 38013); Tue, 19 Nov 2019 18:34:01 +0000 Received: (at 38013) by debbugs.gnu.org; 19 Nov 2019 18:33:03 +0000 Received: from localhost ([127.0.0.1]:48524 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iX8JD-0005Wk-0R for submit@debbugs.gnu.org; Tue, 19 Nov 2019 13:33:03 -0500 Received: from userp2130.oracle.com ([156.151.31.86]:36950) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iX8JA-0005WD-W0 for 38013@debbugs.gnu.org; Tue, 19 Nov 2019 13:33:01 -0500 Received: from pps.filterd (userp2130.oracle.com [127.0.0.1]) by userp2130.oracle.com (8.16.0.27/8.16.0.27) with SMTP id xAJIUgtC030710; Tue, 19 Nov 2019 18:32:52 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=mime-version : message-id : date : from : sender : to : cc : subject : references : in-reply-to : content-type : content-transfer-encoding; s=corp-2019-08-05; bh=Xy6a3rcgArZ0yP2+e/iYrpZtu/1V4RzORu0WjY9mOpA=; b=olNPOCtnWGwlOAFysGl8pYXd4Nqbzg20qLiWiBPmJIHCM27iCUZvWEoEs/TqcefvKm4x rqwebFxPZLEhsLGUbQqu21mNUJcd5DYDlF/tvi13EqkXRDJGl2egnuVIEGrQ0FtLyF2t 0qz6Esd7hQ8cY1SKDhn+qOsbFNatU/hx+mGIQlpI7XwKjNSxoaHU3aApjwvhHU4GP22v NAggmbyGs2iaGzUt78i8TVeoFvBd4nMRd5gP5PxO1vGNWBbR9Wq0n9gb1lhFwIgXHkp6 fbZCecZ+9Z2Ar1AXbya5XX3m/78Qi+qZ3CNQCd0/GIjgG8OVFsag/rJA42jL9Zksee3T GA== Received: from userp3020.oracle.com (userp3020.oracle.com [156.151.31.79]) by userp2130.oracle.com with ESMTP id 2wa8htrvf8-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 19 Nov 2019 18:32:52 +0000 Received: from pps.filterd (userp3020.oracle.com [127.0.0.1]) by userp3020.oracle.com (8.16.0.27/8.16.0.27) with SMTP id xAJIOHD3130431; Tue, 19 Nov 2019 18:32:52 GMT Received: from aserv0121.oracle.com (aserv0121.oracle.com [141.146.126.235]) by userp3020.oracle.com with ESMTP id 2wc09xu55t-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 19 Nov 2019 18:32:51 +0000 Received: from abhmp0002.oracle.com (abhmp0002.oracle.com [141.146.116.8]) by aserv0121.oracle.com (8.14.4/8.13.8) with ESMTP id xAJIWovW005901; Tue, 19 Nov 2019 18:32:50 GMT MIME-Version: 1.0 Message-ID: Date: Tue, 19 Nov 2019 10:32:49 -0800 (PST) From: Drew Adams References: <> <<83v9s3lo5f.fsf@gnu.org>> <<75EC4FBC-F636-4D75-BAC4-982D85188794@acm.org>> <<9b9222ad-ead7-d0a0-0602-780d0680f070@gmx.at>> <> <<6bf229f4-c22f-c3c2-5158-5235f908de3c@gmx.at>> <> <<8ec84837-172c-1ce5-cab0-b4c96a86274e@gmx.at>> <<411EAB4E-B666-4263-8514-5F47391268B1@acm.org>> <<2df02c1f-fea4-f764-eba6-fd67de581755@gmx.at>> <> <<3b74a108-28e3-fd01-64a5-7c4302e3d979@gmx.at>> <<9A9D13F2-1F4F-4DD4-B92F-96FC4D91DFBD@acm.org>> <<83pni17x5b.fsf@gnu.org>> <<8B95D2D3-8E00-45BF-B57D-EFD49D79EB6A@acm.org>> <<83bltk95p7.fsf@gnu.org>> <<60DD9D65-C3F0-470E-8489-B333E1889D32@acm.org>> <<83ftio6lsy.fsf@gnu.org>> <<290E5E66-964B-4E29-B141-166447AD5556@acm.org>> <<175E5B2E-2256-4FCD-AA8E-9E5BC6DE7907@acm.org>> <<7d94fa94-94e4-46dc-8df0-c40ccf052ee9@default>> <<87imngub40.fsf@mail.linkov.net>> <<60fa6496-c057-b69d-21c1-3b1de85b4b9f@gmx.at>> <> <<9302a9ac-e64c-41ed-898b-24d59465fba4@default>> <> <> <<83lfsb22pb.fsf@gnu.org>> In-Reply-To: <<83lfsb22pb.fsf@gnu.org>> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9.1 (1003210) [OL 16.0.4927.0 (x86)] Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9446 signatures=668685 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 mlxscore=0 mlxlogscore=878 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1911140001 definitions=main-1911190156 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9446 signatures=668685 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 priorityscore=1501 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=938 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1911140001 definitions=main-1911190156 X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > > Count me as one user who disagrees that this deserves > > a default binding. >=20 > A command that needs to drag the mouse makes no sense without a > binding to some mouse gesture. That's what we did (and do) with CUA mouse bindings: put them in a minor mode keymap. > > Eli suggested defining a minor mode, as does CUA. >=20 > I suggested a minor mode as a way to allow us using the same binding > as used for another command by default. I did NOT suggest to have a > minor mode _instead_ of a binding. I was (and I thought you were) suggesting putting the key binding in a minor-mode keymap. Users can turn on the (global) mode and get that binding - and leave the mode on forever, if they like. So no, I too did not suggest having a minor mode _instead_ of a key binding. I had in mind a minor mode that has its own key bindings. From unknown Sat Jun 21 05:17:43 2025 X-Loop: help-debbugs@gnu.org Subject: bug#38013: [PATCH] Rectangular region selection with mouse Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 19 Nov 2019 19:25:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 38013 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Drew Adams Cc: mattiase@acm.org, 38013@debbugs.gnu.org, juri@linkov.net Received: via spool by 38013-submit@debbugs.gnu.org id=B38013.157419149925939 (code B ref 38013); Tue, 19 Nov 2019 19:25:02 +0000 Received: (at 38013) by debbugs.gnu.org; 19 Nov 2019 19:24:59 +0000 Received: from localhost ([127.0.0.1]:48547 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iX97S-0006kJ-Ph for submit@debbugs.gnu.org; Tue, 19 Nov 2019 14:24:59 -0500 Received: from eggs.gnu.org ([209.51.188.92]:35053) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iX97P-0006k4-RQ for 38013@debbugs.gnu.org; Tue, 19 Nov 2019 14:24:56 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:54041) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1iX97I-0000pb-U7; Tue, 19 Nov 2019 14:24:48 -0500 Received: from [176.228.60.248] (port=1477 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1iX97H-0004FW-Qo; Tue, 19 Nov 2019 14:24:48 -0500 Date: Tue, 19 Nov 2019 21:24:54 +0200 Message-Id: <83d0dn1xfd.fsf@gnu.org> From: Eli Zaretskii In-reply-to: (message from Drew Adams on Tue, 19 Nov 2019 10:32:49 -0800 (PST)) References: <> <<83v9s3lo5f.fsf@gnu.org>> <<75EC4FBC-F636-4D75-BAC4-982D85188794@acm.org>> <<9b9222ad-ead7-d0a0-0602-780d0680f070@gmx.at>> <> <<6bf229f4-c22f-c3c2-5158-5235f908de3c@gmx.at>> <> <<8ec84837-172c-1ce5-cab0-b4c96a86274e@gmx.at>> <<411EAB4E-B666-4263-8514-5F47391268B1@acm.org>> <<2df02c1f-fea4-f764-eba6-fd67de581755@gmx.at>> <> <<3b74a108-28e3-fd01-64a5-7c4302e3d979@gmx.at>> <<9A9D13F2-1F4F-4DD4-B92F-96FC4D91DFBD@acm.org>> <<83pni17x5b.fsf@gnu.org>> <<8B95D2D3-8E00-45BF-B57D-EFD49D79EB6A@acm.org>> <<83bltk95p7.fsf@gnu.org>> <<60DD9D65-C3F0-470E-8489-B333E1889D32@acm.org>> <<83ftio6lsy.fsf@gnu.org>> <<290E5E66-964B-4E29-B141-166447AD5556@acm.org>> <<175E5B2E-2256-4FCD-AA8E-9E5BC6DE7907@acm.org>> <<7d94fa94-94e4-46dc-8df0-c40ccf052ee9@default>> <<87imngub40.fsf@mail.linkov.net>> <<60fa6496-c057-b69d-21c1-3b1de85b4b9f@gmx.at>> <> <<9302a9ac-e64c-41ed-898b-24d59465fba4@default>> <> <> <<83lfsb22pb.fsf@gnu.org>> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Date: Tue, 19 Nov 2019 10:32:49 -0800 (PST) > From: Drew Adams > Cc: mattiase@acm.org, 38013@debbugs.gnu.org, juri@linkov.net > > > I suggested a minor mode as a way to allow us using the same binding > > as used for another command by default. I did NOT suggest to have a > > minor mode _instead_ of a binding. > > I was (and I thought you were) suggesting putting the > key binding in a minor-mode keymap. Users can turn > on the (global) mode and get that binding - and leave > the mode on forever, if they like. > > So no, I too did not suggest having a minor mode > _instead_ of a key binding. I had in mind a minor > mode that has its own key bindings. Again, I suggested that only as a way to allow using a mouse gesture that is already taken today. If we use another gesture, which isn't taken today, I see no reason not to bind it by default. From unknown Sat Jun 21 05:17:43 2025 X-Loop: help-debbugs@gnu.org Subject: bug#38013: [PATCH] Rectangular region selection with mouse Resent-From: Drew Adams Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 19 Nov 2019 19:35:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 38013 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Eli Zaretskii , Drew Adams Cc: mattiase@acm.org, 38013@debbugs.gnu.org, juri@linkov.net Received: via spool by 38013-submit@debbugs.gnu.org id=B38013.157419210026879 (code B ref 38013); Tue, 19 Nov 2019 19:35:01 +0000 Received: (at 38013) by debbugs.gnu.org; 19 Nov 2019 19:35:00 +0000 Received: from localhost ([127.0.0.1]:48557 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iX9HA-0006zT-6q for submit@debbugs.gnu.org; Tue, 19 Nov 2019 14:35:00 -0500 Received: from aserp2120.oracle.com ([141.146.126.78]:45268) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iX9H8-0006zG-A2 for 38013@debbugs.gnu.org; Tue, 19 Nov 2019 14:34:58 -0500 Received: from pps.filterd (aserp2120.oracle.com [127.0.0.1]) by aserp2120.oracle.com (8.16.0.27/8.16.0.27) with SMTP id xAJJSxR3068676; Tue, 19 Nov 2019 19:34:48 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=mime-version : message-id : date : from : sender : to : cc : subject : references : in-reply-to : content-type : content-transfer-encoding; s=corp-2019-08-05; bh=tLQhuhJnR6szFAoV3iCnQ+X402DqA364UgrPu8Vtyos=; b=dkmGjfvw600KBtiUAELVh2wb+Rr+JyurknyW+H9ilvjetiOu8fKx5qoxyxNKoLscg3nK IjZ66a2sKd5FNooj6aNAhSV5WQYR57Gva1WYQow5JkSDq5gus9tdEfn4ala7EfvTLgTr 6cL7dra+uHkRTo/VZdRz+e6H+stoGaumJgLJPHi2UYoUQ4ZMqlzTgcMzUNcNLP3Oy7GG 57ccf6iUaUa5s9zmunXV9RNQp6wNJAGFzPlMI8gbBQZsmoMos78CHsZmeejw+KVRsD9z 5AxGZMTdmwo25zlvIW9ICTlPI8B3Ud5vBrXDLaw6AVneCPOKo0JabDqi6mbCYDXL2lgo Zw== Received: from aserp3020.oracle.com (aserp3020.oracle.com [141.146.126.70]) by aserp2120.oracle.com with ESMTP id 2wa92ps57a-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 19 Nov 2019 19:34:48 +0000 Received: from pps.filterd (aserp3020.oracle.com [127.0.0.1]) by aserp3020.oracle.com (8.16.0.27/8.16.0.27) with SMTP id xAJJSfDE141776; Tue, 19 Nov 2019 19:34:47 GMT Received: from aserv0122.oracle.com (aserv0122.oracle.com [141.146.126.236]) by aserp3020.oracle.com with ESMTP id 2wcemas19x-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 19 Nov 2019 19:34:47 +0000 Received: from abhmp0006.oracle.com (abhmp0006.oracle.com [141.146.116.12]) by aserv0122.oracle.com (8.14.4/8.14.4) with ESMTP id xAJJYk8l027511; Tue, 19 Nov 2019 19:34:46 GMT MIME-Version: 1.0 Message-ID: <65c24a1b-5b72-4c8b-a2c9-79bb1e5e0366@default> Date: Tue, 19 Nov 2019 11:34:45 -0800 (PST) From: Drew Adams References: <<>> <<<83v9s3lo5f.fsf@gnu.org>>> <<<75EC4FBC-F636-4D75-BAC4-982D85188794@acm.org>>> <<<9b9222ad-ead7-d0a0-0602-780d0680f070@gmx.at>>> <<>> <<<6bf229f4-c22f-c3c2-5158-5235f908de3c@gmx.at>>> <<>> <<<8ec84837-172c-1ce5-cab0-b4c96a86274e@gmx.at>>> <<<411EAB4E-B666-4263-8514-5F47391268B1@acm.org>>> <<<2df02c1f-fea4-f764-eba6-fd67de581755@gmx.at>>> <<>> <<<3b74a108-28e3-fd01-64a5-7c4302e3d979@gmx.at>>> <<<9A9D13F2-1F4F-4DD4-B92F-96FC4D91DFBD@acm.org>>> <<<83pni17x5b.fsf@gnu.org>>> <<<8B95D2D3-8E00-45BF-B57D-EFD49D79EB6A@acm.org>>> <<<83bltk95p7.fsf@gnu.org>>> <<<60DD9D65-C3F0-470E-8489-B333E1889D32@acm.org>>> <<<83ftio6lsy.fsf@gnu.org>>> <<<290E5E66-964B-4E29-B141-166447AD5556@acm.org>>> <<<175E5B2E-2256-4FCD-AA8E-9E5BC6DE7907@acm.org>>> <<<7d94fa94-94e4-46dc-8df0-c40ccf052ee9@default>>> <<<87imngub40.fsf@mail.linkov.net>>> <<<60fa6496-c057-b69d-21c1-3b1de85b4b9f@gmx.at>>> <<>> <<<9302a9ac-e64c-41ed-898b-24d59465fba4@default>>> <<>> <<>> <<<83lfsb22pb.fsf@gnu.org>>> <> <<83d0dn1xfd.fsf@gnu.org>> In-Reply-To: <<83d0dn1xfd.fsf@gnu.org>> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9.1 (1003210) [OL 16.0.4927.0 (x86)] Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9446 signatures=668685 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 mlxscore=0 mlxlogscore=913 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1911140001 definitions=main-1911190161 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9446 signatures=668685 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 priorityscore=1501 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=973 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1911140001 definitions=main-1911190161 X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > > I was (and I thought you were) suggesting putting the > > key binding in a minor-mode keymap. Users can turn > > on the (global) mode and get that binding - and leave > > the mode on forever, if they like. > > > > So no, I too did not suggest having a minor mode > > _instead_ of a key binding. I had in mind a minor > > mode that has its own key bindings. >=20 > Again, I suggested that only as a way to allow using a mouse gesture > that is already taken today. If we use another gesture, which isn't > taken today, I see no reason not to bind it by default. OK. I thought perhaps we agreed, but we don't. I do see a reason not to bind it globally by default - the same reason we didn't do that for CUA. From unknown Sat Jun 21 05:17:43 2025 X-Loop: help-debbugs@gnu.org Subject: bug#38013: [PATCH] Rectangular region selection with mouse Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 19 Nov 2019 19:49:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 38013 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Drew Adams Cc: mattiase@acm.org, 38013@debbugs.gnu.org, juri@linkov.net Received: via spool by 38013-submit@debbugs.gnu.org id=B38013.157419290628047 (code B ref 38013); Tue, 19 Nov 2019 19:49:02 +0000 Received: (at 38013) by debbugs.gnu.org; 19 Nov 2019 19:48:26 +0000 Received: from localhost ([127.0.0.1]:48562 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iX9UA-0007II-GE for submit@debbugs.gnu.org; Tue, 19 Nov 2019 14:48:26 -0500 Received: from eggs.gnu.org ([209.51.188.92]:37655) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iX9U7-0007I1-BM for 38013@debbugs.gnu.org; Tue, 19 Nov 2019 14:48:25 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:54500) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1iX9Tw-00028M-DD; Tue, 19 Nov 2019 14:48:13 -0500 Received: from [176.228.60.248] (port=2896 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1iX9Tt-0000TM-I6; Tue, 19 Nov 2019 14:48:10 -0500 Date: Tue, 19 Nov 2019 21:48:15 +0200 Message-Id: <83a78r1wcg.fsf@gnu.org> From: Eli Zaretskii In-reply-to: <65c24a1b-5b72-4c8b-a2c9-79bb1e5e0366@default> (message from Drew Adams on Tue, 19 Nov 2019 11:34:45 -0800 (PST)) References: <<>> <<<83v9s3lo5f.fsf@gnu.org>>> <<<75EC4FBC-F636-4D75-BAC4-982D85188794@acm.org>>> <<<9b9222ad-ead7-d0a0-0602-780d0680f070@gmx.at>>> <<>> <<<6bf229f4-c22f-c3c2-5158-5235f908de3c@gmx.at>>> <<>> <<<8ec84837-172c-1ce5-cab0-b4c96a86274e@gmx.at>>> <<<411EAB4E-B666-4263-8514-5F47391268B1@acm.org>>> <<<2df02c1f-fea4-f764-eba6-fd67de581755@gmx.at>>> <<>> <<<3b74a108-28e3-fd01-64a5-7c4302e3d979@gmx.at>>> <<<9A9D13F2-1F4F-4DD4-B92F-96FC4D91DFBD@acm.org>>> <<<83pni17x5b.fsf@gnu.org>>> <<<8B95D2D3-8E00-45BF-B57D-EFD49D79EB6A@acm.org>>> <<<83bltk95p7.fsf@gnu.org>>> <<<60DD9D65-C3F0-470E-8489-B333E1889D32@acm.org>>> <<<83ftio6lsy.fsf@gnu.org>>> <<<290E5E66-964B-4E29-B141-166447AD5556@acm.org>>> <<<175E5B2E-2256-4FCD-AA8E-9E5BC6DE7907@acm.org>>> <<<7d94fa94-94e4-46dc-8df0-c40ccf052ee9@default>>> <<<87imngub40.fsf@mail.linkov.net>>> <<<60fa6496-c057-b69d-21c1-3b1de85b4b9f@gmx.at>>> <<>> <<<9302a9ac-e64c-41ed-898b-24d59465fba4@default>>> <<>> <<>> <<<83lfsb22pb.fsf@gnu.org>>> <> <<83d0dn1xfd.fsf@gnu.org>> <65c24a1b-5b72-4c8b-a2c9-79bb1e5e0366@default> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Date: Tue, 19 Nov 2019 11:34:45 -0800 (PST) > From: Drew Adams > Cc: mattiase@acm.org, 38013@debbugs.gnu.org, juri@linkov.net > > I do see a reason not to bind it globally by > default - the same reason we didn't do that for CUA. CUA changed a lot of bindings, so it couldn't be the default. This is different: only one command and one binding, so if the binding is not taken by default, we have nothing to fear, nothing at all. From unknown Sat Jun 21 05:17:43 2025 X-Loop: help-debbugs@gnu.org Subject: bug#38013: [PATCH] Rectangular region selection with mouse Resent-From: Juri Linkov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 19 Nov 2019 23:21:07 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 38013 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: martin rudalics Cc: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= , 38013@debbugs.gnu.org, Drew Adams Received: via spool by 38013-submit@debbugs.gnu.org id=B38013.157420566317167 (code B ref 38013); Tue, 19 Nov 2019 23:21:07 +0000 Received: (at 38013) by debbugs.gnu.org; 19 Nov 2019 23:21:03 +0000 Received: from localhost ([127.0.0.1]:48714 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iXCnu-0004Sf-6K for submit@debbugs.gnu.org; Tue, 19 Nov 2019 18:21:03 -0500 Received: from eastern.birch.relay.mailchannels.net ([23.83.209.55]:56667) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iXCnr-0004S5-Td for 38013@debbugs.gnu.org; Tue, 19 Nov 2019 18:21:00 -0500 X-Sender-Id: dreamhost|x-authsender|jurta@jurta.org Received: from relay.mailchannels.net (localhost [127.0.0.1]) by relay.mailchannels.net (Postfix) with ESMTP id B1EDE20B54; Tue, 19 Nov 2019 23:20:58 +0000 (UTC) Received: from pdx1-sub0-mail-a94.g.dreamhost.com (100-96-4-107.trex.outbound.svc.cluster.local [100.96.4.107]) (Authenticated sender: dreamhost) by relay.mailchannels.net (Postfix) with ESMTPA id 3B0C42122A; Tue, 19 Nov 2019 23:20:58 +0000 (UTC) X-Sender-Id: dreamhost|x-authsender|jurta@jurta.org Received: from pdx1-sub0-mail-a94.g.dreamhost.com ([TEMPUNAVAIL]. [64.90.62.162]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384) by 0.0.0.0:2500 (trex/5.18.5); Tue, 19 Nov 2019 23:20:58 +0000 X-MC-Relay: Neutral X-MailChannels-SenderId: dreamhost|x-authsender|jurta@jurta.org X-MailChannels-Auth-Id: dreamhost X-Slimy-Desert: 5c8fcaa13a300be7_1574205658489_1190339703 X-MC-Loop-Signature: 1574205658489:1752202252 X-MC-Ingress-Time: 1574205658489 Received: from pdx1-sub0-mail-a94.g.dreamhost.com (localhost [127.0.0.1]) by pdx1-sub0-mail-a94.g.dreamhost.com (Postfix) with ESMTP id DA0827FC4D; Tue, 19 Nov 2019 15:20:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=linkov.net; h=from:to:cc :subject:references:date:in-reply-to:message-id:mime-version :content-type; s=linkov.net; bh=Vigxx9eEmWr2Frqevx7EwCdNYwg=; b= z5ccrdLdky72WgKZEBcvvI5SzZ/SgKbdO3/NnjLHQdV2U8AbVKVzLtJgo8QcyVx3 zVvl9OYjsFUSlWEfXAcbU8acPr1KN5HW3zxjZoCEeptLosQFbfzwmcjZAyzHOUBI pUL+yTbdwZMITd59sf9qM2m8208mI9kpnaBn5IJer0I= Received: from mail.jurta.org (m91-129-102-1.cust.tele2.ee [91.129.102.1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: jurta@jurta.org) by pdx1-sub0-mail-a94.g.dreamhost.com (Postfix) with ESMTPSA id E81347FC58; Tue, 19 Nov 2019 15:20:49 -0800 (PST) X-DH-BACKEND: pdx1-sub0-mail-a94 From: Juri Linkov Organization: LINKOV.NET References: <9b9222ad-ead7-d0a0-0602-780d0680f070@gmx.at> <6bf229f4-c22f-c3c2-5158-5235f908de3c@gmx.at> <8ec84837-172c-1ce5-cab0-b4c96a86274e@gmx.at> <411EAB4E-B666-4263-8514-5F47391268B1@acm.org> <2df02c1f-fea4-f764-eba6-fd67de581755@gmx.at> <3b74a108-28e3-fd01-64a5-7c4302e3d979@gmx.at> <9A9D13F2-1F4F-4DD4-B92F-96FC4D91DFBD@acm.org> <83pni17x5b.fsf@gnu.org> <8B95D2D3-8E00-45BF-B57D-EFD49D79EB6A@acm.org> <83bltk95p7.fsf@gnu.org> <60DD9D65-C3F0-470E-8489-B333E1889D32@acm.org> <83ftio6lsy.fsf@gnu.org> <290E5E66-964B-4E29-B141-166447AD5556@acm.org> <175E5B2E-2256-4FCD-AA8E-9E5BC6DE7907@acm.org> <7d94fa94-94e4-46dc-8df0-c40ccf052ee9@default> <87imngub40.fsf@mail.linkov.net> <60fa6496-c057-b69d-21c1-3b1de85b4b9f@gmx.at> Date: Wed, 20 Nov 2019 01:07:43 +0200 In-Reply-To: <60fa6496-c057-b69d-21c1-3b1de85b4b9f@gmx.at> (martin rudalics's message of "Tue, 19 Nov 2019 08:57:15 +0100") Message-ID: <87tv6zpij8.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) >> I agree. We need to use the same keys as in other applications: >> `C-down-mouse-1' to select the rectangular region, then move >> its current binding of `mouse-buffer-menu' to the context popup menu >> bound to `' like on all other applications. > > As I tried to explain before: Other applications use 'C-down-mouse-1' > for building non-contiguous regions that do _not_ necessarily form a > rectangle. Indeed Emacs could use the same 'C-down-mouse-1' to select non-contiguous regions. In fact the Emacs rectangular region is a special case of the non-contiguous region. So implementing the non-contiguous region selection would require just writing a pair of short functions. Regarding a mouse binding for the rectangular region selection, maybe 'C-M-down-mouse-1' still would be a good choice after all, while 'C-down-mouse-1' should be reserved for the more general non-contiguous region selection. Another variant is not to bind 'C-M-down-mouse-1', but use just 'mouse-1' after the rectangle selection mode is activated by its current key sequence 'C-x RET'. From unknown Sat Jun 21 05:17:43 2025 X-Loop: help-debbugs@gnu.org Subject: bug#38013: [PATCH] Rectangular region selection with mouse Resent-From: martin rudalics Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 20 Nov 2019 07:59:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 38013 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Juri Linkov Cc: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= , 38013@debbugs.gnu.org, Drew Adams Received: via spool by 38013-submit@debbugs.gnu.org id=B38013.157423669612179 (code B ref 38013); Wed, 20 Nov 2019 07:59:01 +0000 Received: (at 38013) by debbugs.gnu.org; 20 Nov 2019 07:58:16 +0000 Received: from localhost ([127.0.0.1]:48914 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iXKsS-0003AN-F7 for submit@debbugs.gnu.org; Wed, 20 Nov 2019 02:58:16 -0500 Received: from mout.gmx.net ([212.227.17.21]:35419) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iXKsQ-0003A9-VX for 38013@debbugs.gnu.org; Wed, 20 Nov 2019 02:58:15 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1574236673; bh=u59KX0xxVpAn1Z2wNisOar+WiQyOLDaNu6OrSJzYQSA=; h=X-UI-Sender-Class:Subject:To:Cc:References:From:Date:In-Reply-To; b=ZoDlMsgbScwJK2lSDNsjKAqtdgVTN1ZNYg5yz5QyOpToynn5givDJ0JGS/EqdqWaB oC0hURF8RhU4/F50QX3z3hzbi0jSq/M6AD5faweJWHC11MiLb+7ctmgmOH82pnBHi3 KG1lv5dZWWmPmzJL20vQnDRA7gyHx+dhUGxv7V9A= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from [192.168.1.102] ([212.95.5.82]) by mail.gmx.com (mrgmx105 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MIMfc-1iaaXc3W3I-00EOtU; Wed, 20 Nov 2019 08:57:53 +0100 References: <9b9222ad-ead7-d0a0-0602-780d0680f070@gmx.at> <6bf229f4-c22f-c3c2-5158-5235f908de3c@gmx.at> <8ec84837-172c-1ce5-cab0-b4c96a86274e@gmx.at> <411EAB4E-B666-4263-8514-5F47391268B1@acm.org> <2df02c1f-fea4-f764-eba6-fd67de581755@gmx.at> <3b74a108-28e3-fd01-64a5-7c4302e3d979@gmx.at> <9A9D13F2-1F4F-4DD4-B92F-96FC4D91DFBD@acm.org> <83pni17x5b.fsf@gnu.org> <8B95D2D3-8E00-45BF-B57D-EFD49D79EB6A@acm.org> <83bltk95p7.fsf@gnu.org> <60DD9D65-C3F0-470E-8489-B333E1889D32@acm.org> <83ftio6lsy.fsf@gnu.org> <290E5E66-964B-4E29-B141-166447AD5556@acm.org> <175E5B2E-2256-4FCD-AA8E-9E5BC6DE7907@acm.org> <7d94fa94-94e4-46dc-8df0-c40ccf052ee9@default> <87imngub40.fsf@mail.linkov.net> <60fa6496-c057-b69d-21c1-3b1de85b4b9f@gmx.at> <87tv6zpij8.fsf@mail.linkov.net> From: martin rudalics Message-ID: Date: Wed, 20 Nov 2019 08:57:51 +0100 MIME-Version: 1.0 In-Reply-To: <87tv6zpij8.fsf@mail.linkov.net> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: de-AT Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K1:IcjINsczLRVlDVPvi0AcnaZS3Gl48iRRk0G8Swavp0+I2bpQeBb YVKNnApCeO84FaqGvxP+Sg7uxOn9pw5wNI6XjodslmH2MeFJLQKigSaUEOBwG8p8dvkQBZb RHCeSK3gl+3pi/6VGC7Oj5UcvqDUp5hXuDETuHe+xyrzBWzy71TxOoPYnJMeZu0VL7CApZ/ 2jD8L2tZ4pMl9EmWxivwQ== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:xWezZZ+0pGY=:9jBVy23xIhYunmkpKjw8Lf VBHE0wHrsNtEFRHXJeeckxjZEPHQ18doPTLXdv0ca3rlYT0xRLZfYOd493s+zY7swF2ZxUISV h2IEDg48C/r63P/E4Rr1PWi2nga2ZGBvuw4UxXHqKd6Tu215GC55gsyJSvQ6SUzNq8aX+5k7O LJc6RKUL5h4lNFNT/P0Buy+ZOIvCUVvzSRebGOtG7Hf3T96T+754oPI+ZNaAoBiejL9pqOdTG e8lG+eGFypXZuhHtMY+lCIBQdbwYTGF43s2AeI1vHXT7FRWJ4sldm7xoBOgaNsoAlCS+eylh0 l9ZZB9FCV9UkfzoRgG4h+6iVpOFTH+2yO+BRht8fB7OhbTIaOsXTPt8C+M1mSSIrL608bQ1w3 ck1F2L0nZC1T2jnCaAGrobffRXTaPds6QhdxTewfUffOVaNrNYwhpTJe7nh2b0iH6REHjOOW7 duALkb1UCnllsEd+ufgUcXOLe5kXQYH8JZblroMYGPUvBIa3AVqzwHlXj9h/eOtcuEawbLIqY TdtjXxb1XIcME+9iTRZZp39DYmqmF9p7KnmMk9sJtAIuIZrNvM/EGHcJh06xipG+8gvDGuK9d FfFh67brDuOvDzDmS3H6JAghMnZwEhX2JFrLuqCV7Xt4At8jXdTu7aPgcFL7fiXAt3Nt93Hg7 BG4ZUD6DV33z/afwS05tbgnMs9T1BbbHEEpIeXhNQLQQsVRWb/ZYB/tdlIxF+eM4GGRwmuKLq xAxiEN9UZZMA/R/LVndBcNL5XV01tvVgvXG+TzHxhAZYWHQsiycs3HauY8AbQpFwrGrh3jTGc Cpm24QnflfOg6EF2HR8ERxqVSgd7Fr0NKtyA3wSuteFgvqL8jWabWFGAyUBFCm8p7GumVE23o GV02BmZeuijbC1J4KBMFuCc8HVSDIeDDUAzOKhEDkeUO4KRqlINh3Q52CSGh0cagn2Akufqd2 GGsjlNZQI6gSx9mSyxokWuQ7LM3i9Y7LUvfuQAO/wswNwHz2jedXe7XAjxMehDVI8kriA08cw /yoi38JFlTJFrRV1cvrs4NE3SLntEJQt39Vm4NWCaCY0G3m9Q2L6pKwqIeYjw8ZFGV75wocvW omn4Loy4lEYjh9pL7phVg5wWmgoqJlddrszLM0jX+5DfojP5bP5ib1Haw13TUZEGLwyMO9pSs gcN3T06QCKwKrLzTr0muyt5vFXYphI6BJ/3/wJXUZFfOxi95ziT4gH9a24Gm8s9WVtOin2pJP G00yo+VDC+BZ16IJD+iLTYTgHnAn6U3iTY0yFo3PikbrifGSc09I1jDPNKY0= X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) > Regarding a mouse binding for the rectangular region selection, > maybe 'C-M-down-mouse-1' still would be a good choice after all, > while 'C-down-mouse-1' should be reserved for the more general > non-contiguous region selection. > > Another variant is not to bind 'C-M-down-mouse-1', but use just > 'mouse-1' after the rectangle selection mode is activated by its > current key sequence 'C-x RET'. We probably should provide both in a customizable way. I already lack the ability to reliably move the mouse cursor between characters, so I have no preference. martin From unknown Sat Jun 21 05:17:43 2025 X-Loop: help-debbugs@gnu.org Subject: bug#38013: [PATCH] Rectangular region selection with mouse Resent-From: Juri Linkov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 20 Nov 2019 22:48:06 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 38013 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Eli Zaretskii Cc: mattiase@acm.org, 38013@debbugs.gnu.org, Drew Adams Received: via spool by 38013-submit@debbugs.gnu.org id=B38013.157429007523211 (code B ref 38013); Wed, 20 Nov 2019 22:48:06 +0000 Received: (at 38013) by debbugs.gnu.org; 20 Nov 2019 22:47:55 +0000 Received: from localhost ([127.0.0.1]:51041 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iXYlP-00062E-EM for submit@debbugs.gnu.org; Wed, 20 Nov 2019 17:47:55 -0500 Received: from egyptian.birch.relay.mailchannels.net ([23.83.209.56]:64157) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iXYlJ-00061k-L7 for 38013@debbugs.gnu.org; Wed, 20 Nov 2019 17:47:50 -0500 X-Sender-Id: dreamhost|x-authsender|jurta@jurta.org Received: from relay.mailchannels.net (localhost [127.0.0.1]) by relay.mailchannels.net (Postfix) with ESMTP id 4C208740326; Wed, 20 Nov 2019 22:47:48 +0000 (UTC) Received: from pdx1-sub0-mail-a44.g.dreamhost.com (100-96-87-246.trex.outbound.svc.cluster.local [100.96.87.246]) (Authenticated sender: dreamhost) by relay.mailchannels.net (Postfix) with ESMTPA id D985C74011A; Wed, 20 Nov 2019 22:47:47 +0000 (UTC) X-Sender-Id: dreamhost|x-authsender|jurta@jurta.org Received: from pdx1-sub0-mail-a44.g.dreamhost.com ([TEMPUNAVAIL]. [64.90.62.162]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384) by 0.0.0.0:2500 (trex/5.18.5); Wed, 20 Nov 2019 22:47:48 +0000 X-MC-Relay: Neutral X-MailChannels-SenderId: dreamhost|x-authsender|jurta@jurta.org X-MailChannels-Auth-Id: dreamhost X-Hysterical-Gusty: 257db95f08a0e99d_1574290068124_1637529142 X-MC-Loop-Signature: 1574290068124:2738636229 X-MC-Ingress-Time: 1574290068124 Received: from pdx1-sub0-mail-a44.g.dreamhost.com (localhost [127.0.0.1]) by pdx1-sub0-mail-a44.g.dreamhost.com (Postfix) with ESMTP id 5DCB9832D8; Wed, 20 Nov 2019 14:47:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=linkov.net; h=from:to:cc :subject:references:date:in-reply-to:message-id:mime-version :content-type; s=linkov.net; bh=eoszSxmJlICCvWDlvAQPRHWmvXs=; b= yyqpCSyMUA0C4eTNXlXSx/hLyyUp2BA7zyBbth4zH9l7NGxC9QpUBQYd5spYhDT4 TnJjL1kgAXV3tlKH0y0Uz9KMc/610WpSjhlob1GbtmkZGhGPM2sZhgbFeIpvwGnW 7lazQ4NxAyG2QbHWBhSKSHgeNyDwgbI07zq9GVZ4NNg= Received: from mail.jurta.org (m91-129-102-1.cust.tele2.ee [91.129.102.1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: jurta@jurta.org) by pdx1-sub0-mail-a44.g.dreamhost.com (Postfix) with ESMTPSA id C33CB832D5; Wed, 20 Nov 2019 14:47:34 -0800 (PST) X-DH-BACKEND: pdx1-sub0-mail-a44 From: Juri Linkov Organization: LINKOV.NET References: <411EAB4E-B666-4263-8514-5F47391268B1@acm.org> <2df02c1f-fea4-f764-eba6-fd67de581755@gmx.at> <3b74a108-28e3-fd01-64a5-7c4302e3d979@gmx.at> <9A9D13F2-1F4F-4DD4-B92F-96FC4D91DFBD@acm.org> <83pni17x5b.fsf@gnu.org> <8B95D2D3-8E00-45BF-B57D-EFD49D79EB6A@acm.org> <83bltk95p7.fsf@gnu.org> <60DD9D65-C3F0-470E-8489-B333E1889D32@acm.org> <83ftio6lsy.fsf@gnu.org> <290E5E66-964B-4E29-B141-166447AD5556@acm.org> <175E5B2E-2256-4FCD-AA8E-9E5BC6DE7907@acm.org> <7d94fa94-94e4-46dc-8df0-c40ccf052ee9@default> <87imngub40.fsf@mail.linkov.net> <60fa6496-c057-b69d-21c1-3b1de85b4b9f@gmx.at> <9302a9ac-e64c-41ed-898b-24d59465fba4@default> <83lfsb22pb.fsf@gnu.org> Date: Thu, 21 Nov 2019 00:38:19 +0200 In-Reply-To: <83lfsb22pb.fsf@gnu.org> (Eli Zaretskii's message of "Tue, 19 Nov 2019 19:30:56 +0200") Message-ID: <87y2wanpgk.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) >> Eli suggested defining a minor mode, as does CUA. > > I suggested a minor mode as a way to allow us using the same binding > as used for another command by default. I did NOT suggest to have a > minor mode _instead_ of a binding. Such minor mode already exists, it's called 'rectangle-mark-mode' and is enabled by 'C-x SPC'. It could also have additional bindings for 'mouse-1' to allow selecting a rectangular region using the mouse. From unknown Sat Jun 21 05:17:43 2025 X-Loop: help-debbugs@gnu.org Subject: bug#38013: [PATCH] Rectangular region selection with mouse Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 23 Nov 2019 11:58:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 38013 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= Cc: rudalics@gmx.at, 38013@debbugs.gnu.org Received: via spool by 38013-submit@debbugs.gnu.org id=B38013.157451026111222 (code B ref 38013); Sat, 23 Nov 2019 11:58:01 +0000 Received: (at 38013) by debbugs.gnu.org; 23 Nov 2019 11:57:41 +0000 Received: from localhost ([127.0.0.1]:55857 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iYU2l-0002uu-7N for submit@debbugs.gnu.org; Sat, 23 Nov 2019 06:57:39 -0500 Received: from eggs.gnu.org ([209.51.188.92]:52472) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iYU2g-0002ua-S0 for 38013@debbugs.gnu.org; Sat, 23 Nov 2019 06:57:35 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:58226) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1iYU2b-0001i8-4E; Sat, 23 Nov 2019 06:57:29 -0500 Received: from [176.228.60.248] (port=3378 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1iYU2a-0007Ue-BD; Sat, 23 Nov 2019 06:57:28 -0500 Date: Sat, 23 Nov 2019 13:57:24 +0200 Message-Id: <835zjavm8r.fsf@gnu.org> From: Eli Zaretskii In-reply-to: <175E5B2E-2256-4FCD-AA8E-9E5BC6DE7907@acm.org> (message from Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= on Mon, 18 Nov 2019 19:08:24 +0100) References: <83lft0m3ug.fsf@gnu.org> <3541E0E8-9E33-4FBD-B0D9-DFF77C241F6F@acm.org> <83y2wzlorw.fsf@gnu.org> <83v9s3lo5f.fsf@gnu.org> <75EC4FBC-F636-4D75-BAC4-982D85188794@acm.org> <9b9222ad-ead7-d0a0-0602-780d0680f070@gmx.at> <6bf229f4-c22f-c3c2-5158-5235f908de3c@gmx.at> <8ec84837-172c-1ce5-cab0-b4c96a86274e@gmx.at> <411EAB4E-B666-4263-8514-5F47391268B1@acm.org> <2df02c1f-fea4-f764-eba6-fd67de581755@gmx.at> <3b74a108-28e3-fd01-64a5-7c4302e3d979@gmx.at> <9A9D13F2-1F4F-4DD4-B92F-96FC4D91DFBD@acm.org> <83pni17x5b.fsf@gnu.org> <8B95D2D3-8E00-45BF-B57D-EFD49D79EB6A@acm.org> <83bltk95p7.fsf@gnu.org> <60DD9D65-C3F0-470E-8489-B333E1889D32@acm.org> <83ftio6lsy.fsf@gnu.org> <290E5E66-964B-4E29-B141-166447AD5556@acm.org> <175E5B2E-2256-4FCD-AA8E-9E5BC6DE7907@acm.org> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Mattias Engdegård > Date: Mon, 18 Nov 2019 19:08:24 +0100 > Cc: rudalics@gmx.at, 38013@debbugs.gnu.org > > Here is an updated patch that makes the selection work better with characters that aren't a multiple of the standard font width. Thanks, a few minor comments: > +@defvar fine-grained-mouse-movement I think this variable's name should start with "mouse-". Like mouse-fine-grained-movement or something. > + (setq fine-grained-mouse-movement t) What happens if this function signals an error? won't fine-grained-mouse-movement be left at its non-nil value? From unknown Sat Jun 21 05:17:43 2025 X-Loop: help-debbugs@gnu.org Subject: bug#38013: [PATCH] Rectangular region selection with mouse Resent-From: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 23 Nov 2019 12:48:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 38013 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Eli Zaretskii Cc: rudalics@gmx.at, 38013@debbugs.gnu.org Received: via spool by 38013-submit@debbugs.gnu.org id=B38013.157451323723305 (code B ref 38013); Sat, 23 Nov 2019 12:48:01 +0000 Received: (at 38013) by debbugs.gnu.org; 23 Nov 2019 12:47:17 +0000 Received: from localhost ([127.0.0.1]:55897 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iYUnz-00062e-RJ for submit@debbugs.gnu.org; Sat, 23 Nov 2019 07:46:29 -0500 Received: from mail1442c50.megamailservers.eu ([91.136.14.42]:35562 helo=mail264c50.megamailservers.eu) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iYUnq-00062F-Pv for 38013@debbugs.gnu.org; Sat, 23 Nov 2019 07:46:21 -0500 X-Authenticated-User: mattiase@bredband.net DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=megamailservers.eu; s=maildub; t=1574513171; bh=BEcQxD6TweMrzYRigZlI8Vd7H/zsVTmLc75quua23uM=; h=Subject:From:In-Reply-To:Date:Cc:References:To:From; b=qdd+GAftBnDyZ/u16rxt+zLcHBEsRxycAknyGkWRIQ9HAPt8WZxfq1TU9CRL4KzDg HQbqTOA1ViudZA2v7PxqhCuMA9tsZiZeit37eO3399doL08B1FfE281IgOf4SCZIax HYvDTzugSSxvXBUHxZqgViycJM1+HA0mVEaS9Tmg= Feedback-ID: mattiase@acm.or Received: from [192.168.0.4] (c188-150-171-71.bredband.comhem.se [188.150.171.71]) (authenticated bits=0) by mail264c50.megamailservers.eu (8.14.9/8.13.1) with ESMTP id xANCk9LX004576; Sat, 23 Nov 2019 12:46:10 +0000 Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\)) From: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= In-Reply-To: <835zjavm8r.fsf@gnu.org> Date: Sat, 23 Nov 2019 13:46:08 +0100 Content-Transfer-Encoding: quoted-printable Message-Id: <61064586-CCB1-4F40-9584-EA618FBB0D6B@acm.org> References: <83lft0m3ug.fsf@gnu.org> <3541E0E8-9E33-4FBD-B0D9-DFF77C241F6F@acm.org> <83y2wzlorw.fsf@gnu.org> <83v9s3lo5f.fsf@gnu.org> <75EC4FBC-F636-4D75-BAC4-982D85188794@acm.org> <9b9222ad-ead7-d0a0-0602-780d0680f070@gmx.at> <6bf229f4-c22f-c3c2-5158-5235f908de3c@gmx.at> <8ec84837-172c-1ce5-cab0-b4c96a86274e@gmx.at> <411EAB4E-B666-4263-8514-5F47391268B1@acm.org> <2df02c1f-fea4-f764-eba6-fd67de581755@gmx.at> <3b74a108-28e3-fd01-64a5-7c4302e3d979@gmx.at> <9A9D13F2-1F4F-4DD4-B92F-96FC4D91DFBD@acm.org> <83pni17x5b.fsf@gnu.org> <8B95D2D3-8E00-45BF-B57D-EFD49D79EB6A@acm.org> <83bltk95p7.fsf@gnu.org> <60DD9D65-C3F0-470E-8489-B333E1889D32@acm.org> <83ftio6lsy.fsf@gnu.org> <290E5E66-964B-4E29-B141-166447AD5556@acm.org> <175E5B2E-2256-4FCD-AA8E-9E5BC6DE7907@acm.org> <835zjavm8r.fsf@gnu.org> X-Mailer: Apple Mail (2.3445.104.11) X-CTCH-RefID: str=0001.0A0B0208.5DD92A13.002E, ss=1, re=0.000, recu=0.000, reip=0.000, cl=1, cld=1, fgs=0 X-CTCH-VOD: Unknown X-CTCH-Spam: Unknown X-CTCH-Score: 0.000 X-CTCH-Rules: X-CTCH-Flags: 0 X-CTCH-ScoreCust: 0.000 X-CSC: 0 X-CHA: v=2.3 cv=ar3M9hRV c=1 sm=1 tr=0 a=SF+I6pRkHZhrawxbOkkvaA==:117 a=SF+I6pRkHZhrawxbOkkvaA==:17 a=jpOVt7BSZ2e4Z31A5e1TngXxSK0=:19 a=kj9zAlcOel0A:10 a=M51BFTxLslgA:10 a=mDV3o1hIAAAA:8 a=l-RGNXpYV7c3CnXFADoA:9 a=7Zwj6sZBwVKJAoWSPKxL6X1jA+E=:19 a=CjuIK1q_8ugA:10 a=_FVE-zBwftR9WsbkzFJk:22 X-Spam-Score: 1.4 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: 23 nov. 2019 kl. 12.57 skrev Eli Zaretskii : >> +@defvar fine-grained-mouse-movement > > I think this variable's name should start with "mouse-". Like > mouse-fine-grained-movement or something. Content analysis details: (1.4 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [URIs: gnu.org] 1.0 SPF_SOFTFAIL SPF: sender does not match SPF record (softfail) 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 0.4 KHOP_HELO_FCRDNS Relay HELO differs from its IP's reverse DNS X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) 23 nov. 2019 kl. 12.57 skrev Eli Zaretskii : >> +@defvar fine-grained-mouse-movement >=20 > I think this variable's name should start with "mouse-". Like > mouse-fine-grained-movement or something. True, but since the variable pertains to the 'mouse-movement' event in = particular and not to moving the mouse about in general, it is also = useful to have the name reflect that relation. 'mouse-movement-fine-grained' is possible but a bit awkward. What about = 'mouse-fine-grained-tracking'? >> + (setq fine-grained-mouse-movement t) >=20 > What happens if this function signals an error? won't > fine-grained-mouse-movement be left at its non-nil value? Good question. Ideally, the variable (and 'track-mouse') would be = dynamically bound during the drag. However, since the function, = mouse-drag-region-rectangle, returns as the drag commences, this is not = possible. The code follows the pattern of other functions in the same file in that = it trusts the exit function of the transient map to be executed = eventually, and the first thing done in that exit function is to reset = the variables. All these functions have a small hole between setting the variables and = the successful return of set-transient-map, during which an error will = not result in the variables being reset. We could wrap the = set-transient-map calls in condition-case everywhere, if we think that = this would increase robustness. Basically, (condition-case err (set-transient-map ...) (error (setq fine-grained-mouse-movement nil) (setq track-mouse nil) (signal (car err) (cdr err)))) An earlier version of the patch used the 'track-mouse' macro instead, = which does not have this problem, but I changed after complaints that it = does not permit independent use of the mouse click event. (For instance, = if the selection uses M-down-mouse-1 and M-drag-mouse-1, M-mouse-1 could = not be used for anything else.) However, I'm not convinced that this = would be much of a limitation. (Some code in mouse.el uses the track-mouse macro: = mouse-drag-and-drop-region and mouse-drag-secondary.) From unknown Sat Jun 21 05:17:43 2025 X-Loop: help-debbugs@gnu.org Subject: bug#38013: [PATCH] Rectangular region selection with mouse Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 23 Nov 2019 14:54:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 38013 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= Cc: rudalics@gmx.at, 38013@debbugs.gnu.org Received: via spool by 38013-submit@debbugs.gnu.org id=B38013.15745208087287 (code B ref 38013); Sat, 23 Nov 2019 14:54:01 +0000 Received: (at 38013) by debbugs.gnu.org; 23 Nov 2019 14:53:28 +0000 Received: from localhost ([127.0.0.1]:56074 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iYWmr-0001tQ-3d for submit@debbugs.gnu.org; Sat, 23 Nov 2019 09:53:27 -0500 Received: from eggs.gnu.org ([209.51.188.92]:40916) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iYWmn-0001t9-8b for 38013@debbugs.gnu.org; Sat, 23 Nov 2019 09:53:22 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:60571) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1iYWmh-00063G-JH; Sat, 23 Nov 2019 09:53:15 -0500 Received: from [176.228.60.248] (port=2910 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1iYWmh-0003dY-2p; Sat, 23 Nov 2019 09:53:15 -0500 Date: Sat, 23 Nov 2019 16:53:13 +0200 Message-Id: <83y2w6tzja.fsf@gnu.org> From: Eli Zaretskii In-reply-to: <61064586-CCB1-4F40-9584-EA618FBB0D6B@acm.org> (message from Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= on Sat, 23 Nov 2019 13:46:08 +0100) References: <83lft0m3ug.fsf@gnu.org> <3541E0E8-9E33-4FBD-B0D9-DFF77C241F6F@acm.org> <83y2wzlorw.fsf@gnu.org> <83v9s3lo5f.fsf@gnu.org> <75EC4FBC-F636-4D75-BAC4-982D85188794@acm.org> <9b9222ad-ead7-d0a0-0602-780d0680f070@gmx.at> <6bf229f4-c22f-c3c2-5158-5235f908de3c@gmx.at> <8ec84837-172c-1ce5-cab0-b4c96a86274e@gmx.at> <411EAB4E-B666-4263-8514-5F47391268B1@acm.org> <2df02c1f-fea4-f764-eba6-fd67de581755@gmx.at> <3b74a108-28e3-fd01-64a5-7c4302e3d979@gmx.at> <9A9D13F2-1F4F-4DD4-B92F-96FC4D91DFBD@acm.org> <83pni17x5b.fsf@gnu.org> <8B95D2D3-8E00-45BF-B57D-EFD49D79EB6A@acm.org> <83bltk95p7.fsf@gnu.org> <60DD9D65-C3F0-470E-8489-B333E1889D32@acm.org> <83ftio6lsy.fsf@gnu.org> <290E5E66-964B-4E29-B141-166447AD5556@acm.org> <175E5B2E-2256-4FCD-AA8E-9E5BC6DE7907@acm.org> <835zjavm8r.fsf@gnu.org> <61064586-CCB1-4F40-9584-EA618FBB0D6B@acm.org> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Mattias Engdegård > Date: Sat, 23 Nov 2019 13:46:08 +0100 > Cc: rudalics@gmx.at, 38013@debbugs.gnu.org > > > I think this variable's name should start with "mouse-". Like > > mouse-fine-grained-movement or something. > > True, but since the variable pertains to the 'mouse-movement' event in particular and not to moving the mouse about in general, it is also useful to have the name reflect that relation. > 'mouse-movement-fine-grained' is possible but a bit awkward. What about 'mouse-fine-grained-tracking'? Fine with me. > The code follows the pattern of other functions in the same file in that it trusts the exit function of the transient map to be executed eventually, and the first thing done in that exit function is to reset the variables. > > All these functions have a small hole between setting the variables and the successful return of set-transient-map, during which an error will not result in the variables being reset. We could wrap the set-transient-map calls in condition-case everywhere, if we think that this would increase robustness. Basically, > > (condition-case err > (set-transient-map ...) > (error (setq fine-grained-mouse-movement nil) > (setq track-mouse nil) > (signal (car err) (cdr err)))) I think this would be better. IME, such small windows eventually cause strange and hard to debug bugs, so any measures to make the window smaller or eliminate it are welcome. Thanks. From unknown Sat Jun 21 05:17:43 2025 X-Loop: help-debbugs@gnu.org Subject: bug#38013: [PATCH] Rectangular region selection with mouse Resent-From: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 23 Nov 2019 15:18:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 38013 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Eli Zaretskii Cc: rudalics@gmx.at, 38013@debbugs.gnu.org Received: via spool by 38013-submit@debbugs.gnu.org id=B38013.157452227117113 (code B ref 38013); Sat, 23 Nov 2019 15:18:01 +0000 Received: (at 38013) by debbugs.gnu.org; 23 Nov 2019 15:17:51 +0000 Received: from localhost ([127.0.0.1]:57608 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iYXAQ-0004Rt-JX for submit@debbugs.gnu.org; Sat, 23 Nov 2019 10:17:50 -0500 Received: from mail1436c50.megamailservers.eu ([91.136.14.36]:55850 helo=mail263c50.megamailservers.eu) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iYXA2-0004RG-8i for 38013@debbugs.gnu.org; Sat, 23 Nov 2019 10:17:37 -0500 X-Authenticated-User: mattiase@bredband.net DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=megamailservers.eu; s=maildub; t=1574522235; bh=9JXOGssqdUMbxsdNAZuh3bkO9/SkccY/7UJgVLdTFT8=; h=From:Subject:Date:In-Reply-To:Cc:To:References:From; b=YArU6oS/5xQF2Qf2y8yH1iManVBaFBjIUK9mfBgCk9hD+fu4jiGO3OO+pGI93U7Rx 67a8QxfJhFy9cn4ry1/XjSGFT7JD0mDKteBz8B4qqBT63Ilr79J0Uy9X9cqItxDinQ FMKlqdlf8RyZfv1VNSE2nWW+5gVHGXEQ6IqgAxJA= Feedback-ID: mattiase@acm.or Received: from [192.168.0.4] (c188-150-171-71.bredband.comhem.se [188.150.171.71]) (authenticated bits=0) by mail263c50.megamailservers.eu (8.14.9/8.13.1) with ESMTP id xANFHCII009761; Sat, 23 Nov 2019 15:17:14 +0000 From: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= Message-Id: <92A2EB6E-A4AC-4D91-AFDE-5F4340DDA2EC@acm.org> Content-Type: multipart/mixed; boundary="Apple-Mail=_94678EFE-D2C6-409F-8299-3B5117FD882D" Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\)) Date: Sat, 23 Nov 2019 16:17:12 +0100 In-Reply-To: <83y2w6tzja.fsf@gnu.org> References: <83lft0m3ug.fsf@gnu.org> <3541E0E8-9E33-4FBD-B0D9-DFF77C241F6F@acm.org> <83y2wzlorw.fsf@gnu.org> <83v9s3lo5f.fsf@gnu.org> <75EC4FBC-F636-4D75-BAC4-982D85188794@acm.org> <9b9222ad-ead7-d0a0-0602-780d0680f070@gmx.at> <6bf229f4-c22f-c3c2-5158-5235f908de3c@gmx.at> <8ec84837-172c-1ce5-cab0-b4c96a86274e@gmx.at> <411EAB4E-B666-4263-8514-5F47391268B1@acm.org> <2df02c1f-fea4-f764-eba6-fd67de581755@gmx.at> <3b74a108-28e3-fd01-64a5-7c4302e3d979@gmx.at> <9A9D13F2-1F4F-4DD4-B92F-96FC4D91DFBD@acm.org> <83pni17x5b.fsf@gnu.org> <8B95D2D3-8E00-45BF-B57D-EFD49D79EB6A@acm.org> <83bltk95p7.fsf@gnu.org> <60DD9D65-C3F0-470E-8489-B333E1889D32@acm.org> <83ftio6lsy.fsf@gnu.org> <290E5E66-964B-4E29-B141-166447AD5556@acm.org> <175E5B2E-2256-4FCD-AA8E-9E5BC6DE7907@acm.org> <835zjavm8r.fsf@gnu.org> <61064586-CCB1-4F40-9584-EA618FBB0D6B@acm.org> <83y2w6tzja.fsf@gnu.org> X-Mailer: Apple Mail (2.3445.104.11) X-CTCH-RefID: str=0001.0A0B0214.5DD94D7B.001F, ss=1, re=0.000, recu=0.000, reip=0.000, cl=1, cld=1, fgs=0 X-CTCH-VOD: Unknown X-CTCH-Spam: Unknown X-CTCH-Score: 0.000 X-CTCH-Rules: X-CTCH-Flags: 0 X-CTCH-ScoreCust: 0.000 X-CSC: 0 X-CHA: v=2.3 cv=II989TnG c=1 sm=1 tr=0 a=SF+I6pRkHZhrawxbOkkvaA==:117 a=SF+I6pRkHZhrawxbOkkvaA==:17 a=jpOVt7BSZ2e4Z31A5e1TngXxSK0=:19 a=M51BFTxLslgA:10 a=mDV3o1hIAAAA:8 a=Ckj5Vq8vg364Fz5sUScA:9 a=CjuIK1q_8ugA:10 a=OIFAdEAFMdpR02DbUYsA:9 a=7Zwj6sZBwVKJAoWSPKxL6X1jA+E=:19 a=B2y7HmGcmWMA:10 a=_FVE-zBwftR9WsbkzFJk:22 X-Spam-Score: 1.4 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: 23 nov. 2019 kl. 15.53 skrev Eli Zaretskii : > Fine with me. Good, mouse-fine-grained-tracking it is then. Content analysis details: (1.4 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [URIs: megamailservers.eu] 1.0 SPF_SOFTFAIL SPF: sender does not match SPF record (softfail) 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 0.4 KHOP_HELO_FCRDNS Relay HELO differs from its IP's reverse DNS X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) --Apple-Mail=_94678EFE-D2C6-409F-8299-3B5117FD882D Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii 23 nov. 2019 kl. 15.53 skrev Eli Zaretskii : > Fine with me. Good, mouse-fine-grained-tracking it is then. > I think this would be better. IME, such small windows eventually > cause strange and hard to debug bugs, so any measures to make the > window smaller or eliminate it are welcome. The window has now been shrunk to almost nothing, and condition-case = added for good measure. (Old code in mouse.el left untouched.) --Apple-Mail=_94678EFE-D2C6-409F-8299-3B5117FD882D Content-Disposition: attachment; filename=0001-Mouse-rectangular-region-selection-bug-38013.patch Content-Type: application/octet-stream; x-unix-mode=0644; name="0001-Mouse-rectangular-region-selection-bug-38013.patch" Content-Transfer-Encoding: quoted-printable =46rom=20528bf08d5dc448cbeff0db67188be5093eec98a4=20Mon=20Sep=2017=20= 00:00:00=202001=0AFrom:=20=3D?UTF-8?q?Mattias=3D20Engdeg=3DC3=3DA5rd?=3D=20= =0ADate:=20Fri,=2025=20Oct=202019=2011:16:39=20+0200=0A= Subject:=20[PATCH]=20Mouse=20rectangular=20region=20selection=20= (bug#38013)=0A=0AMake=20it=20possible=20to=20select=20a=20rectangular=20= region=20using=20the=20mouse.=0AThe=20standard=20binding=20is=20= C-M-mouse-1.=0A=0A*=20lisp/mouse.el=20(mouse-scroll-subr):=20Add=20= ADJUST=20argument.=0A(mouse-drag-region-rectangle):=20New.=0A*=20= lisp/rect.el=20(rectangle--reset-point-crutches):=20New.=0A= (rectangle--reset-crutches):=20Use=20'rectangle--reset-point-crutches'.=0A= *=20src/xdisp.c=20(remember_mouse_glyph,=20syms_of_xdisp):=0AAdd=20= 'mouse-fine-grained-tracking'.=0A*=20doc/lispref/commands.texi=20(Motion=20= Events):=0ADocument=20'mouse-fine-grained-tracking'.=0A*=20= doc/emacs/frames.texi=20(Mouse=20Commands):=0A*=20doc/emacs/killing.texi=20= (Rectangles):=0A*=20etc/NEWS:=20Document=20rectangular=20selection=20= with=20the=20mouse.=0A---=0A=20doc/emacs/frames.texi=20=20=20=20=20|=20=20= =204=20++=0A=20doc/emacs/killing.texi=20=20=20=20|=20=20=203=20+=0A=20= doc/lispref/commands.texi=20|=20=20=206=20++=0A=20etc/NEWS=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20|=20=20=203=20+=0A=20= lisp/mouse.el=20=20=20=20=20=20=20=20=20=20=20=20=20|=20114=20= +++++++++++++++++++++++++++++++++++++-=0A=20lisp/rect.el=20=20=20=20=20=20= =20=20=20=20=20=20=20=20|=20=20=208=20++-=0A=20src/xdisp.c=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20|=20=2012=20++++=0A=207=20files=20changed,=20= 147=20insertions(+),=203=20deletions(-)=0A=0Adiff=20--git=20= a/doc/emacs/frames.texi=20b/doc/emacs/frames.texi=0Aindex=20= 091c011fb9..f6c2d23913=20100644=0A---=20a/doc/emacs/frames.texi=0A+++=20= b/doc/emacs/frames.texi=0A@@=20-91,6=20+91,10=20@@=20Mouse=20Commands=0A=20= click=20position;=20otherwise,=20set=20mark=20at=20the=20current=20value=20= of=20point=20and=0A=20point=20at=20the=20click=20position.=20=20Save=20= the=20resulting=20region=20in=20the=20kill=0A=20ring;=20on=20a=20second=20= click,=20kill=20it=20(@code{mouse-save-then-kill}).=0A+=0A+@item=20= C-M-mouse-1=0A+Activate=20a=20rectangular=20region=20around=20the=20text=20= selected=20by=20dragging.=0A+@xref{Rectangles}.=0A=20@end=20table=0A=20=0A= =20@findex=20mouse-set-point=0Adiff=20--git=20a/doc/emacs/killing.texi=20= b/doc/emacs/killing.texi=0Aindex=2080e2868908..ce00cb38a7=20100644=0A---=20= a/doc/emacs/killing.texi=0A+++=20b/doc/emacs/killing.texi=0A@@=20-732,6=20= +732,9=20@@=20Rectangles=0A=20and=20mark=20values=20can=20be=20= interpreted=20either=20as=20a=20region=20or=20as=20a=0A=20rectangle,=20= depending=20on=20the=20command=20that=20uses=20them.=0A=20=0A+=20=20A=20= rectangular=20region=20can=20also=20be=20marked=20using=20the=20mouse:=20= click=20and=20drag=0A+@kbd{C-M-mouse-1}=20from=20one=20corner=20of=20the=20= rectangle=20to=20the=20opposite.=0A+=0A=20@table=20@kbd=0A=20@item=20C-x=20= r=20k=0A=20Kill=20the=20text=20of=20the=20region-rectangle,=20saving=20= its=20contents=20as=20the=0Adiff=20--git=20a/doc/lispref/commands.texi=20= b/doc/lispref/commands.texi=0Aindex=200c848a8025..032f005e9c=20100644=0A= ---=20a/doc/lispref/commands.texi=0A+++=20b/doc/lispref/commands.texi=0A= @@=20-1661,6=20+1661,12=20@@=20Motion=20Events=0A=20does=20not=20= generate=20events=20for=20mere=20motion=20of=20the=20mouse,=20and=20= these=0A=20events=20do=20not=20appear.=20=20@xref{Mouse=20Tracking}.=0A=20= =0A+@defvar=20mouse-fine-grained-tracking=0A+When=20non-@code{nil},=20= mouse=20motion=20events=20are=20generated=20even=20for=20very=0A+small=20= movements.=20=20Otherwise,=20motion=20events=20are=20not=20generated=20= as=20long=0A+as=20the=20mouse=20cursor=20remains=20pointing=20to=20the=20= same=20glyph=20in=20the=20text.=0A+@end=20defvar=0A+=0A=20@node=20Focus=20= Events=0A=20@subsection=20Focus=20Events=0A=20@cindex=20focus=20event=0A= diff=20--git=20a/etc/NEWS=20b/etc/NEWS=0Aindex=20ad349b1613..80f0fa5e4e=20= 100644=0A---=20a/etc/NEWS=0A+++=20b/etc/NEWS=0A@@=20-585,6=20+585,9=20@@=20= region=20using=20a=20given=20replacement-function=20in=20a=20= non-destructive=20manner=0A=20arguments=20mitigating=20performance=20= issues=20when=20operating=20on=20huge=0A=20buffers.=0A=20=0A++++=0A+**=20= Dragging=20'C-M-mouse-1'=20now=20marks=20rectangular=20regions.=0A+=0A=20= +++=0A=20**=20The=20command=20'delete-indentation'=20now=20operates=20on=20= the=20active=20region.=0A=20If=20the=20region=20is=20active,=20the=20= command=20joins=20all=20the=20lines=20in=20the=0Adiff=20--git=20= a/lisp/mouse.el=20b/lisp/mouse.el=0Aindex=20c91760a734..e2be8e6ee3=20= 100644=0A---=20a/lisp/mouse.el=0A+++=20b/lisp/mouse.el=0A@@=20-1045,10=20= +1045,12=20@@=20mouse-scroll-min-lines=0A=20of=20lines=20specified=20by=20= this=20variable."=0A=20=20=20:type=20'integer)=0A=20=0A-(defun=20= mouse-scroll-subr=20(window=20jump=20&optional=20overlay=20start)=0A= +(defun=20mouse-scroll-subr=20(window=20jump=20&optional=20overlay=20= start=20adjust)=0A=20=20=20"Scroll=20the=20window=20WINDOW,=20JUMP=20= lines=20at=20a=20time,=20until=20new=20input=20arrives.=0A=20If=20= OVERLAY=20is=20an=20overlay,=20let=20it=20stretch=20from=20START=20to=20= the=20far=20edge=20of=0A=20the=20newly=20visible=20text.=0A+ADJUST,=20if=20= non-nil,=20is=20a=20function,=20without=20arguments,=20to=20call=20after=0A= +setting=20point.=0A=20Upon=20exit,=20point=20is=20at=20the=20far=20edge=20= of=20the=20newly=20visible=20text."=0A=20=20=20(cond=0A=20=20=20=20((and=20= (>=20jump=200)=20(<=20jump=20mouse-scroll-min-lines))=0A@@=20-1077,6=20= +1079,8=20@@=20mouse-scroll-subr=0A=20=09=09=20=20=20;;=20so=20that=20we=20= don't=20mess=20up=20the=20selected=20window.=0A=20=09=09=20=20=20(or=20= (eq=20window=20(selected-window))=0A=20=09=09=20=20=20=20=20=20=20= (goto-char=20opoint))=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20(when=20adjust=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20(funcall=20adjust))=0A=20=09=09=20=20=20(sit-for=20= mouse-scroll-delay)))))=0A=20=20=20=20=20(or=20(eq=20window=20= (selected-window))=0A=20=09(goto-char=20opoint))))=0A@@=20-1960,6=20= +1964,114=20@@=20secondary-selection-from-region=0A=20=20=20=20=20= (move-overlay=20mouse-secondary-overlay=20(region-beginning)=20= (region-end))))=0A=20=0A=20=0C=0A+(defun=20mouse-drag-region-rectangle=20= (start-event)=0A+=20=20"Set=20the=20region=20to=20the=20rectangle=20that=20= the=20mouse=20is=20dragged=20over.=0A+This=20must=20be=20bound=20to=20a=20= button-down=20mouse=20event."=0A+=20=20(interactive=20"e")=0A+=20=20= (let*=20((scroll-margin=200)=0A+=20=20=20=20=20=20=20=20=20(start-pos=20= (event-start=20start-event))=0A+=20=20=20=20=20=20=20=20=20(start-posn=20= (event-start=20start-event))=0A+=20=20=20=20=20=20=20=20=20(start-point=20= (posn-point=20start-posn))=0A+=20=20=20=20=20=20=20=20=20(start-window=20= (posn-window=20start-posn))=0A+=20=20=20=20=20=20=20=20=20(start-hscroll=20= (window-hscroll=20start-window))=0A+=20=20=20=20=20=20=20=20=20= (start-col=20(+=20(car=20(posn-col-row=20start-pos))=20start-hscroll))=0A= +=20=20=20=20=20=20=20=20=20(bounds=20(window-edges=20start-window))=0A+=20= =20=20=20=20=20=20=20=20(top=20(nth=201=20bounds))=0A+=20=20=20=20=20=20=20= =20=20(bottom=20(if=20(window-minibuffer-p=20start-window)=0A+=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(nth=203=20bounds)=0A= +=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(1-=20(nth=203=20= bounds))))=0A+=20=20=20=20=20=20=20=20=20(dragged=20nil)=0A+=20=20=20=20=20= =20=20=20=20(old-track-mouse=20track-mouse)=0A+=20=20=20=20=20=20=20=20=20= (old-mouse-fine-grained-tracking=20mouse-fine-grained-tracking)=0A+=20=20= =20=20=20=20=20=20=20;;=20For=20right-to-left=20text,=20columns=20are=20= counted=20from=20the=20right=20margin;=0A+=20=20=20=20=20=20=20=20=20;;=20= translate=20from=20mouse=20events,=20which=20always=20count=20from=20the=20= left.=0A+=20=20=20=20=20=20=20=20=20(adjusted-col=20(lambda=20(col)=0A+=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= (if=20(eq=20(current-bidi-paragraph-direction)=0A+=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= 'right-to-left)=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20(-=20(frame-text-cols)=20col=20-1)=0A+=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20col)))=0A+=20=20=20=20=20=20=20=20=20(map=20(make-sparse-keymap)))=0A= +=20=20=20=20(define-key=20map=20[switch-frame]=20#'ignore)=0A+=20=20=20=20= (define-key=20map=20[select-window]=20#'ignore)=0A+=20=20=20=20= (define-key=20map=20[mouse-movement]=0A+=20=20=20=20=20=20(lambda=20= (event)=0A+=20=20=20=20=20=20=20=20(interactive=20"e")=0A+=20=20=20=20=20= =20=20=20(unless=20dragged=0A+=20=20=20=20=20=20=20=20=20=20;;=20This=20= is=20actually=20a=20drag.=0A+=20=20=20=20=20=20=20=20=20=20= (mouse-minibuffer-check=20start-event)=0A+=20=20=20=20=20=20=20=20=20=20= (deactivate-mark)=0A+=20=20=20=20=20=20=20=20=20=20(posn-set-point=20= start-pos)=0A+=20=20=20=20=20=20=20=20=20=20(rectangle-mark-mode)=0A+=20=20= =20=20=20=20=20=20=20=20;;=20Only=20tell=20rectangle=20about=20the=20= exact=20column=20if=20we=20are=20possibly=0A+=20=20=20=20=20=20=20=20=20=20= ;;=20beyond=20end-of-line=20or=20in=20a=20tab,=20since=20the=20column=20= we=20got=20from=0A+=20=20=20=20=20=20=20=20=20=20;;=20the=20mouse=20= position=20isn't=20necessarily=20accurate=20for=20use=20in=0A+=20=20=20=20= =20=20=20=20=20=20;;=20specifying=20a=20rectangle=20(which=20uses=20the=20= `move-to-column'=0A+=20=20=20=20=20=20=20=20=20=20;;=20measure).=0A+=20=20= =20=20=20=20=20=20=20=20(when=20(or=20(eolp)=20(eq=20(following-char)=20= ?\t))=0A+=20=20=20=20=20=20=20=20=20=20=20=20(let=20((col=20(funcall=20= adjusted-col=20start-col)))=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20= (rectangle--col-pos=20col=20'mark)=0A+=20=20=20=20=20=20=20=20=20=20=20=20= =20=20(rectangle--col-pos=20col=20'point)))=0A+=0A+=20=20=20=20=20=20=20=20= =20=20(setq=20dragged=20t))=0A+=0A+=20=20=20=20=20=20=20=20(let*=20= ((posn=20(event-end=20event))=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20(window=20(posn-window=20posn))=0A+=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20(hscroll=20(if=20(window-live-p=20window)=0A+=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= (window-hscroll=20window)=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=200))=0A+=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20(mouse-pos=20(mouse-position))=0A+=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20(mouse-col=20(+=20(cadr=20mouse-pos)=20hscroll))=0A+=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20(mouse-row=20(cddr=20= mouse-pos))=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(set-col=20= (lambda=20()=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20(if=20(or=20(eolp)=20(eq=20(following-char)=20?\t))=0A= +=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20(rectangle--col-pos=0A+=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(funcall=20= adjusted-col=20mouse-col)=20'point)=0A+=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= (rectangle--reset-point-crutches)))))=0A+=20=20=20=20=20=20=20=20=20=20= (if=20(and=20(eq=20window=20start-window)=0A+=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20mouse-row=0A+=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20(<=3D=20top=20mouse-row=20(1-=20bottom)))=0A+=20=20= =20=20=20=20=20=20=20=20=20=20=20=20;;=20Drag=20inside=20the=20same=20= window.=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20(progn=0A+=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20(posn-set-point=20posn)=0A+=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20(funcall=20set-col))=0A+=20=20=20=20=20= =20=20=20=20=20=20=20;;=20Drag=20outside=20the=20window:=20scroll.=0A+=20= =20=20=20=20=20=20=20=20=20=20=20(cond=0A+=20=20=20=20=20=20=20=20=20=20=20= =20=20((null=20mouse-row))=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20((<=20= mouse-row=20top)=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20= (mouse-scroll-subr=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= start-window=20(-=20mouse-row=20top)=20nil=20start-point=0A+=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20set-col))=0A+=20=20=20=20=20=20=20=20=20=20= =20=20=20((>=3D=20mouse-row=20bottom)=0A+=20=20=20=20=20=20=20=20=20=20=20= =20=20=20(mouse-scroll-subr=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20start-window=20(1+=20(-=20mouse-row=20bottom))=20nil=20start-point=0A= +=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20set-col)))))))=0A+=20=20=20= =20(condition-case=20err=0A+=20=20=20=20=20=20=20=20(progn=0A+=20=20=20=20= =20=20=20=20=20=20(setq=20track-mouse=20t)=0A+=20=20=20=20=20=20=20=20=20= =20(setq=20mouse-fine-grained-tracking=20t)=0A+=20=20=20=20=20=20=20=20=20= =20(set-transient-map=0A+=20=20=20=20=20=20=20=20=20=20=20map=20t=0A+=20=20= =20=20=20=20=20=20=20=20=20(lambda=20()=0A+=20=20=20=20=20=20=20=20=20=20= =20=20=20(setq=20track-mouse=20old-track-mouse)=0A+=20=20=20=20=20=20=20=20= =20=20=20=20=20(setq=20mouse-fine-grained-tracking=20= old-mouse-fine-grained-tracking)=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20= (when=20(or=20(not=20dragged)=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20(not=20(mark))=0A+=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20(equal=20(rectangle-dimensions=20= (mark)=20(point))=20'(0=20.=201)))=0A+=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20;;=20No=20nontrivial=20region=20selected;=20deactivate=20= rectangle=20mode.=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= (deactivate-mark)))))=0A+=20=20=20=20=20=20;;=20Clean=20up=20in=20case=20= something=20went=20wrong.=0A+=20=20=20=20=20=20(error=20(setq=20= track-mouse=20old-track-mouse)=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20= (setq=20mouse-fine-grained-tracking=20old-mouse-fine-grained-tracking)=0A= +=20=20=20=20=20=20=20=20=20=20=20=20=20(signal=20(car=20err)=20(cdr=20= err))))))=0A+=0A+;;=20The=20drag=20event=20must=20be=20bound=20to=20= something=20but=20does=20not=20need=20any=20effect,=0A+;;=20as=20= everything=20takes=20place=20in=20`mouse-drag-region-rectangle'.=0A+;;=20= The=20click=20event=20can=20be=20anything;=20`mouse-set-point'=20is=20= just=20a=20convenience.=0A+(global-set-key=20[C-M-down-mouse-1]=20= #'mouse-drag-region-rectangle)=0A+(global-set-key=20[C-M-drag-mouse-1]=20= #'ignore)=0A+(global-set-key=20[C-M-mouse-1]=20=20=20=20=20=20= #'mouse-set-point)=0A+=0A+=0C=0A=20(defcustom=20mouse-buffer-menu-maxlen=20= 20=0A=20=20=20"Number=20of=20buffers=20in=20one=20pane=20(submenu)=20of=20= the=20buffer=20menu.=0A=20If=20we=20have=20lots=20of=20buffers,=20divide=20= them=20into=20groups=20of=0Adiff=20--git=20a/lisp/rect.el=20= b/lisp/rect.el=0Aindex=204d4d6146f2..1109786fc5=20100644=0A---=20= a/lisp/rect.el=0A+++=20b/lisp/rect.el=0A@@=20-133,11=20+133,15=20@@=20= rectangle--point-col=0A=20(defun=20rectangle--crutches=20()=0A=20=20=20= (cons=20rectangle--mark-crutches=0A=20=20=20=20=20=20=20=20=20= (window-parameter=20nil=20'rectangle--point-crutches)))=0A-(defun=20= rectangle--reset-crutches=20()=0A-=20=20(kill-local-variable=20= 'rectangle--mark-crutches)=0A+=0A+(defun=20= rectangle--reset-point-crutches=20()=0A=20=20=20(if=20(window-parameter=20= nil=20'rectangle--point-crutches)=0A=20=20=20=20=20=20=20(setf=20= (window-parameter=20nil=20'rectangle--point-crutches)=20nil)))=0A=20=0A= +(defun=20rectangle--reset-crutches=20()=0A+=20=20(kill-local-variable=20= 'rectangle--mark-crutches)=0A+=20=20(rectangle--reset-point-crutches))=0A= +=0A=20;;;=20Rectangle=20operations.=0A=20=0A=20(defun=20= apply-on-rectangle=20(function=20start=20end=20&rest=20args)=0Adiff=20= --git=20a/src/xdisp.c=20b/src/xdisp.c=0Aindex=20c5676b3e17..507d055fc9=20= 100644=0A---=20a/src/xdisp.c=0A+++=20b/src/xdisp.c=0A@@=20-2491,6=20= +2491,12=20@@=20remember_mouse_glyph=20(struct=20frame=20*f,=20int=20gx,=20= int=20gy,=20NativeRectangle=20*rect)=0A=20=20=20enum=20glyph_row_area=20= area;=0A=20=20=20int=20x,=20y,=20width,=20height;=0A=20=0A+=20=20if=20= (mouse_fine_grained_tracking)=0A+=20=20=20=20{=0A+=20=20=20=20=20=20= STORE_NATIVE_RECT=20(*rect,=20gx,=20gy,=201,=201);=0A+=20=20=20=20=20=20= return;=0A+=20=20=20=20}=0A+=0A=20=20=20/*=20Try=20to=20determine=20= frame=20pixel=20position=20and=20size=20of=20the=20glyph=20under=0A=20=20= =20=20=20=20frame=20pixel=20coordinates=20X/Y=20on=20frame=20F.=20=20*/=0A= =20=0A@@=20-34943,6=20+34949,12=20@@=20syms_of_xdisp=20(void)=0A=20may=20= be=20more=20familiar=20to=20users.=20=20*/);=0A=20=20=20= display_raw_bytes_as_hex=20=3D=20false;=0A=20=0A+=20=20DEFVAR_BOOL=20= ("mouse-fine-grained-tracking",=20mouse_fine_grained_tracking,=0A+=20=20=20= =20doc:=20/*=20Non-nil=20for=20pixel-wise=20mouse-movement.=0A+When=20= nil,=20mouse-movement=20events=20will=20not=20be=20generated=20as=20long=20= as=20the=0A+mouse=20stays=20within=20the=20extent=20of=20a=20single=20= glyph=20(except=20for=20images).=20=20*/);=0A+=20=20= mouse_fine_grained_tracking=20=3D=20false;=0A+=0A=20}=0A=20=0A=20=0A--=20= =0A2.21.0=20(Apple=20Git-122.2)=0A=0A= --Apple-Mail=_94678EFE-D2C6-409F-8299-3B5117FD882D-- From unknown Sat Jun 21 05:17:43 2025 X-Loop: help-debbugs@gnu.org Subject: bug#38013: [PATCH] Rectangular region selection with mouse Resent-From: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 27 Nov 2019 14:05:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 38013 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: 38013@debbugs.gnu.org Cc: martin rudalics , Eli Zaretskii Received: via spool by 38013-submit@debbugs.gnu.org id=B38013.15748634517200 (code B ref 38013); Wed, 27 Nov 2019 14:05:01 +0000 Received: (at 38013) by debbugs.gnu.org; 27 Nov 2019 14:04:11 +0000 Received: from localhost ([127.0.0.1]:53708 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iZxvP-0001s4-J6 for submit@debbugs.gnu.org; Wed, 27 Nov 2019 09:04:11 -0500 Received: from mail1463c50.megamailservers.eu ([91.136.14.63]:57184 helo=mail268c50.megamailservers.eu) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iZxvN-0001rn-9W for 38013@debbugs.gnu.org; Wed, 27 Nov 2019 09:04:10 -0500 X-Authenticated-User: mattiase@bredband.net DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=megamailservers.eu; s=maildub; t=1574863442; bh=VcOWXqwFiutO4/7embLY1Oz1EE180N08H4K1NMB1kQg=; h=Subject:From:In-Reply-To:Date:Cc:References:To:From; b=qkvtybuxUht/2JY9aUEZMppR9Ca1qQIvejdql9kQrY62n06r50s5LnFNcfx/EV7f4 +HpFCooQhNbjx5B5orYsn0/kJoNFgVxRqxON8qiXjtdKv7RgIC6LrndF+Si9arKXes VhMrYndsu4JdMQ8XHuSfrLFh1nMSsi/j6YMza7G4= Feedback-ID: mattiase@acm.or Received: from stanniol.lan (c-3d4ce655.032-75-73746f71.bbcust.telenor.se [85.230.76.61]) (authenticated bits=0) by mail268c50.megamailservers.eu (8.14.9/8.13.1) with ESMTP id xARE40lV019994; Wed, 27 Nov 2019 14:04:02 +0000 Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\)) From: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= In-Reply-To: <83y2w6tzja.fsf@gnu.org> Date: Wed, 27 Nov 2019 15:04:00 +0100 Content-Transfer-Encoding: 7bit Message-Id: <889C118E-7F09-45F5-A7D0-32458D55A795@acm.org> References: <83lft0m3ug.fsf@gnu.org> <3541E0E8-9E33-4FBD-B0D9-DFF77C241F6F@acm.org> <83y2wzlorw.fsf@gnu.org> <83v9s3lo5f.fsf@gnu.org> <75EC4FBC-F636-4D75-BAC4-982D85188794@acm.org> <9b9222ad-ead7-d0a0-0602-780d0680f070@gmx.at> <6bf229f4-c22f-c3c2-5158-5235f908de3c@gmx.at> <8ec84837-172c-1ce5-cab0-b4c96a86274e@gmx.at> <411EAB4E-B666-4263-8514-5F47391268B1@acm.org> <2df02c1f-fea4-f764-eba6-fd67de581755@gmx.at> <3b74a108-28e3-fd01-64a5-7c4302e3d979@gmx.at> <9A9D13F2-1F4F-4DD4-B92F-96FC4D91DFBD@acm.org> <83pni17x5b.fsf@gnu.org> <8B95D2D3-8E00-45BF-B57D-EFD49D79EB6A@acm.org> <83bltk95p7.fsf@gnu.org> <60DD9D65-C3F0-470E-8489-B333E1889D32@acm.org> <83ftio6lsy.fsf@gnu.org> <290E5E66-964B-4E29-B141-166447AD5556@acm.org> <175E5B2E-2256-4FCD-AA8E-9E5BC6DE7907@acm.org> <835zjavm8r.fsf@gnu.org> <61064586-CCB1-4F40-9584-EA618FBB0D6B@acm.org> <83y2w6tzja.fsf@gnu.org> X-Mailer: Apple Mail (2.3445.104.11) X-CTCH-RefID: str=0001.0A0B0215.5DDE8252.0051, ss=1, re=0.000, recu=0.000, reip=0.000, cl=1, cld=1, fgs=0 X-CTCH-VOD: Unknown X-CTCH-Spam: Unknown X-CTCH-Score: 0.000 X-CTCH-Rules: X-CTCH-Flags: 0 X-CTCH-ScoreCust: 0.000 X-CSC: 0 X-CHA: v=2.3 cv=J53UEzvS c=1 sm=1 tr=0 a=2CSmQ8xxRPzqj0RSDwU2Pw==:117 a=2CSmQ8xxRPzqj0RSDwU2Pw==:17 a=jpOVt7BSZ2e4Z31A5e1TngXxSK0=:19 a=kj9zAlcOel0A:10 a=M51BFTxLslgA:10 a=uLwF-GjlLocpjmCFG10A:9 a=CjuIK1q_8ugA:10 X-Spam-Score: 1.4 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: It seems that we are done; pushed. It would still be nice to have a simpler binding. Content analysis details: (1.4 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [URIs: megamailservers.eu] 1.0 SPF_SOFTFAIL SPF: sender does not match SPF record (softfail) 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 0.4 KHOP_HELO_FCRDNS Relay HELO differs from its IP's reverse DNS X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) It seems that we are done; pushed. It would still be nice to have a simpler binding. From debbugs-submit-bounces@debbugs.gnu.org Wed Feb 26 21:25:16 2020 Received: (at control) by debbugs.gnu.org; 27 Feb 2020 02:25:16 +0000 Received: from localhost ([127.0.0.1]:57991 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j78rU-0002Oh-0U for submit@debbugs.gnu.org; Wed, 26 Feb 2020 21:25:16 -0500 Received: from mail-qk1-f176.google.com ([209.85.222.176]:35309) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j78rS-0002OT-7A for control@debbugs.gnu.org; Wed, 26 Feb 2020 21:25:14 -0500 Received: by mail-qk1-f176.google.com with SMTP id 145so1743340qkl.2 for ; Wed, 26 Feb 2020 18:25:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:references:date:in-reply-to:message-id:user-agent :mime-version:content-transfer-encoding; bh=XnGIB/GY5D9gL2Tci2kZEMJo/H0fC8gBSVYMEz4tddc=; b=U07rfzDslbIROSDY3j8+ZnmfzkWUKMte+xCQZJyEC2LwpbSZc1QcrTxYtGpIWG2y2V x2Dg2bTVhljBM6Rvrt4kab+ivKEZJnhIiARp0ABV5KBTzR1ghz6SLTndQIuUiGSzWBEL NIgHttyHQ7VLqupF+jFsu8ij3oAwCZze8lo+/jr2nD9Zo6IzoLKe9AkV4GOcOCGyxEL1 7QbLYu+wZ87P1m2zTORiIqUaIM/iy2KOQwaMQpkQUWNpXZvB04xAM2QuslVN85JpY+1J oEQc5yFB/QYutvepFulysLeyyoNmgthUQs/WsdQoPAJbtjmoPl6zUCELOYVEDONFPoUj aT4A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:references:date:in-reply-to :message-id:user-agent:mime-version:content-transfer-encoding; bh=XnGIB/GY5D9gL2Tci2kZEMJo/H0fC8gBSVYMEz4tddc=; b=EMLKW0v+3+GweD7ONXarVzYXfLwyV1r7t+0SNOds1oBzLU802Uf6uuyhnMkkuQPrz5 YLE/h7GzRgqz4ZIqqJjI0KlN/9zUKm5yRW3rf+4+e+FJizacFdEL1axqNBLngnep53Gz bfaziv/WoS9iAjcqrueUkNN5re14n34T34N/xoNW59jGzKvUyq9wCJe3EnvugT5H4rX/ 1X8FR0n4JplHDtW8br0/q+fJ+OXIhIrVOQ9NSGV6Ln+YXk1poVBJrE1KzOzUg4MvNULo 4d1nqtc5piHKFUicrgFZVrJEdE5l6q3CJQ3TnnS7ryyK3OmVQYNV6Ay0/0NcT5pE6tAJ bOVA== X-Gm-Message-State: APjAAAV5iRLPXviwJZe/bWhmalySYwR4JV7wnNfKJDJKLHV7AN+XXqpO DO7P6C00rFZ8Nu+GBmFduMODkPO8SbY= X-Google-Smtp-Source: APXvYqzdddz+2jYE2cjd9/xyGCUwwRID/CSfsOcSxG1hVNbKBt700kWR4bkbGZD+W4e7Jw7zs75m1g== X-Received: by 2002:a37:7c47:: with SMTP id x68mr2650623qkc.8.1582770308578; Wed, 26 Feb 2020 18:25:08 -0800 (PST) Received: from minid (cbl-45-2-119-47.yyz.frontiernetworks.ca. [45.2.119.47]) by smtp.gmail.com with ESMTPSA id 202sm2161321qkg.132.2020.02.26.18.25.07 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 26 Feb 2020 18:25:07 -0800 (PST) From: Noam Postavsky To: control@debbugs.gnu.org Subject: Re: bug#38013: [PATCH] Rectangular region selection with mouse References: <6bf229f4-c22f-c3c2-5158-5235f908de3c@gmx.at> <8ec84837-172c-1ce5-cab0-b4c96a86274e@gmx.at> <411EAB4E-B666-4263-8514-5F47391268B1@acm.org> <2df02c1f-fea4-f764-eba6-fd67de581755@gmx.at> <3b74a108-28e3-fd01-64a5-7c4302e3d979@gmx.at> <9A9D13F2-1F4F-4DD4-B92F-96FC4D91DFBD@acm.org> <83pni17x5b.fsf@gnu.org> <8B95D2D3-8E00-45BF-B57D-EFD49D79EB6A@acm.org> <83bltk95p7.fsf@gnu.org> <60DD9D65-C3F0-470E-8489-B333E1889D32@acm.org> <83ftio6lsy.fsf@gnu.org> <290E5E66-964B-4E29-B141-166447AD5556@acm.org> <175E5B2E-2256-4FCD-AA8E-9E5BC6DE7907@acm.org> <835zjavm8r.fsf@gnu.org> <61064586-CCB1-4F40-9584-EA618FBB0D6B@acm.org> <83y2w6tzja.fsf@gnu.org> <889C118E-7F09-45F5-A7D0-32458D55A795@acm.org> Date: Wed, 26 Feb 2020 21:25:07 -0500 In-Reply-To: <889C118E-7F09-45F5-A7D0-32458D55A795@acm.org> ("Mattias \=\?utf-8\?Q\?Engdeg\=C3\=A5rd\=22's\?\= message of "Wed, 27 Nov 2019 15:04:00 +0100") Message-ID: <87k148ahrw.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) severity 38013 wishlist close 38013 27.1 quit Mattias Engdeg=C3=A5rd writes: > It seems that we are done; pushed. > It would still be nice to have a simpler binding.