From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Tak Kunihiro Newsgroups: gmane.emacs.bugs Subject: bug#27569: delete-selection on yank via popup-menu Date: Wed, 05 Jul 2017 08:11:28 +0900 (JST) Message-ID: <20170705.081128.918140452192114950.tkk@misasa.okayama-u.ac.jp> References: <49D47C75-80AE-4F81-8713-D90574DB7CA6@misasa.okayama-u.ac.jp> <87inj9hz4o.fsf@users.sourceforge.net> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Trace: blaine.gmane.org 1499209939 5601 195.159.176.226 (4 Jul 2017 23:12:19 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Tue, 4 Jul 2017 23:12:19 +0000 (UTC) Cc: 27569@debbugs.gnu.org, tkk@misasa.okayama-u.ac.jp To: npostavs@users.sourceforge.net Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Wed Jul 05 01:12:15 2017 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dSWzI-0000qA-P9 for geb-bug-gnu-emacs@m.gmane.org; Wed, 05 Jul 2017 01:12:08 +0200 Original-Received: from localhost ([::1]:43373 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dSWzM-0001Js-GC for geb-bug-gnu-emacs@m.gmane.org; Tue, 04 Jul 2017 19:12:12 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:35979) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dSWzG-0001JZ-FT for bug-gnu-emacs@gnu.org; Tue, 04 Jul 2017 19:12:07 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dSWzC-00025s-EH for bug-gnu-emacs@gnu.org; Tue, 04 Jul 2017 19:12:06 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:49966) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dSWzC-00025l-AJ for bug-gnu-emacs@gnu.org; Tue, 04 Jul 2017 19:12:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1dSWzC-0008Kp-2m for bug-gnu-emacs@gnu.org; Tue, 04 Jul 2017 19:12:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Tak Kunihiro Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 04 Jul 2017 23:12:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 27569 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 27569-submit@debbugs.gnu.org id=B27569.149920991332025 (code B ref 27569); Tue, 04 Jul 2017 23:12:02 +0000 Original-Received: (at 27569) by debbugs.gnu.org; 4 Jul 2017 23:11:53 +0000 Original-Received: from localhost ([127.0.0.1]:52643 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dSWz3-0008KT-43 for submit@debbugs.gnu.org; Tue, 04 Jul 2017 19:11:53 -0400 Original-Received: from mxl065v65.mxlogic.net ([208.81.65.65]:52224 helo=s14p02o142.mxlogic.net) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dSWz0-0008KI-IG for 27569@debbugs.gnu.org; Tue, 04 Jul 2017 19:11:51 -0400 Original-Received: from unknown [42.127.236.175] (EHLO mlsec.cc.okayama-u.ac.jp) by s14p02o142.mxlogic.net(mxl_mta-8.5.0-1821) over TLS secured channel with ESMTP id 4b02c595.0.119455.00-377.260235.s14p02o142.mxlogic.net (envelope-from ); Tue, 04 Jul 2017 17:11:48 -0600 (MDT) X-MXL-Hash: 595c20b40d73b0d6-a59910720f28302f818d0b4ed30762853867fbc4 Original-Received: from alml002.ouadm.okayama-u.ac.jp (unknown [42.127.236.168]) by mlsec.cc.okayama-u.ac.jp with smtp id 7a77_3c85_f3ac6299_d545_446b_8105_440569c15c81; Wed, 05 Jul 2017 08:11:44 +0900 Original-Received: from localhost (vesta.misasa.okayama-u.ac.jp [150.46.48.154]) by alml002.ouadm.okayama-u.ac.jp (Postfix) with ESMTPSA id 0ED964C0983; Wed, 5 Jul 2017 08:11:44 +0900 (JST) In-Reply-To: <87inj9hz4o.fsf@users.sourceforge.net> X-Mailer: Mew version 6.7 on Emacs 25.2 / Mule 6.0 (HANACHIRUSATO) X-NAI-Spam-Flag: NO X-NAI-Spam-Threshold: 11 X-NAI-Spam-Score: 0 X-NAI-Spam-Rules: 4 Rules triggered EDT_SA_AU_PASS=0, EDT_SA_DN_PASS=0, EDT_SA_TS_PASS=0, RV6063=0 X-NAI-Spam-Version: 2.3.0.9418 : core <6063> : inlines <5963> : streams <1752791> : uri <2456136> X-AnalysisOut: [v=2.2 cv=Qvku5R6d c=1 sm=1 tr=0 a=8LLPK8U+aGQ6qN8QlyMYtQ==] X-AnalysisOut: [:117 a=8LLPK8U+aGQ6qN8QlyMYtQ==:17 a=kj9zAlcOel0A:10 a=G3g] X-AnalysisOut: [G6ho9WtcA:10 a=r0jJkBentSEmttLwZKEA:9 a=7Zwj6sZBwVKJAoWSPK] X-AnalysisOut: [xL6X1jA+E=:19 a=CjuIK1q_8ugA:10] X-Spam: [F=0.5000000000; CM=0.500; MH=0.500(2017070406); S=0.200(2015072901)] X-MAIL-FROM: X-SOURCE-IP: [42.127.236.175] X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:134185 Archived-At: >> I want to yank via popup-menu with delete-selection-mode. >> Problem is yanking via popup-menu does not delete region. >> >> emacs -Q >> (defun popup-edit-menu () >> (interactive) >> (popup-menu menu-bar-edit-menu)) >> (define-key global-map [mouse-3] 'popup-edit-menu) >> (delete-selection-mode 1) >> >> 1. kill something >> 2. select text (activate region) to be replaced >> 3. choose yank in popup-menu via mouse-3 >> >> Problem: Selected text by (2) is not deleted. >> >> I barely see problem is that on delete-selection-pre-hook, >> this-command is `popup-edit-menu' instead `yank'. >> >> Is there a way to solve the problem? > > This seems to work, though I'm not sure if it's the right way. Perhaps > `this-command' should be setq instead of let-bound? Will running > pre-command-hook twice be a problem? etc... > > --- i/lisp/menu-bar.el > +++ w/lisp/menu-bar.el > @@ -2360,6 +2360,8 @@ (defun popup-menu (menu &optional position prefix from-menu-bar) > ;; `setup-specified-language-environment', for instance, > ;; expects this to be set from a menu keymap. > (setq last-command-event (car (last event))) > + (let ((this-command cmd)) > + (run-hooks 'pre-command-hook)) > ;; mouse-major-mode-menu was using `command-execute' instead. > (call-interactively cmd)))) Although I cannot comment on what you worry, it works well for me. Thank you for the fix.