From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Drew Adams Newsgroups: gmane.emacs.bugs Subject: bug#24237: 24.5; (elisp)`Extended Menu Items', :filter warning Date: Sun, 13 Dec 2020 09:24:52 -0800 (PST) Message-ID: References: <<6c4f5089-43fa-4ca1-a656-1ec1684df960@default>> <<87v9d67ox6.fsf@gnus.org>> <<70cc884d-4f32-4a2e-b3f5-181709f2ca29@default>> <<83blexeod5.fsf@gnu.org>> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="6761"; mail-complaints-to="usenet@ciao.gmane.io" Cc: larsi@gnus.org, 24237@debbugs.gnu.org To: Eli Zaretskii , Drew Adams Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sun Dec 13 18:26:46 2020 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1koV8w-0001ee-7W for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 13 Dec 2020 18:26:46 +0100 Original-Received: from localhost ([::1]:57942 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1koV8v-0006MH-9j for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 13 Dec 2020 12:26:45 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:54376) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1koV8E-0005yN-LI for bug-gnu-emacs@gnu.org; Sun, 13 Dec 2020 12:26:02 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]:38476) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1koV8E-0001PT-Cn for bug-gnu-emacs@gnu.org; Sun, 13 Dec 2020 12:26:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1koV8E-0001Xu-9S for bug-gnu-emacs@gnu.org; Sun, 13 Dec 2020 12:26:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Drew Adams Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 13 Dec 2020 17:26:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 24237 X-GNU-PR-Package: emacs Original-Received: via spool by 24237-submit@debbugs.gnu.org id=B24237.16078803115853 (code B ref 24237); Sun, 13 Dec 2020 17:26:02 +0000 Original-Received: (at 24237) by debbugs.gnu.org; 13 Dec 2020 17:25:11 +0000 Original-Received: from localhost ([127.0.0.1]:50017 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1koV7P-0001WL-Fq for submit@debbugs.gnu.org; Sun, 13 Dec 2020 12:25:11 -0500 Original-Received: from aserp2130.oracle.com ([141.146.126.79]:56710) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1koV7N-0001W7-Qu for 24237@debbugs.gnu.org; Sun, 13 Dec 2020 12:25:10 -0500 Original-Received: from pps.filterd (aserp2130.oracle.com [127.0.0.1]) by aserp2130.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 0BDHP4DB014687; Sun, 13 Dec 2020 17:25:04 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-2020-01-29; bh=UWEacZBvjoU3u94MEyy+Sec4pdIk02CJkiKXK+uneS0=; b=cwbmDuSdl14n9DHekdRuJHxMSdiQLNPkt7QPgNnKZC+Ijy5kQ6RAuv9YZxvdXStrINNJ G10j8pRcL/KXR+wAjQyd+aAqo6v04S2JoUUy/sJJT4OXA/FeCPnkIGa3W1RYMGAYm7uw h7Q/AdM3bQe9MlIwCjR7uNFWn+tjyDxFGI34m6ADcRqHrIZtBIc1yt3PkroHx+37FfVM 9ojDbVxNB6sBxsxssbXNS7mF+B6D5lDwYTQzsLj9MQVUrIKoxUKGZAhYHDSayu6WXazt v2jbTBICRMIx06aJNaInqyq7Gpa4Bsp/jOzDvDrl3Jj12ZJiT0MNiT5Jcgx0Ea1NVZwk AQ== Original-Received: from aserp3030.oracle.com (aserp3030.oracle.com [141.146.126.71]) by aserp2130.oracle.com with ESMTP id 35ckcb2rbr-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Sun, 13 Dec 2020 17:25:04 +0000 Original-Received: from pps.filterd (aserp3030.oracle.com [127.0.0.1]) by aserp3030.oracle.com (8.16.0.42/8.16.0.42) with SMTP id 0BDHP36p119314; Sun, 13 Dec 2020 17:25:03 GMT Original-Received: from aserv0121.oracle.com (aserv0121.oracle.com [141.146.126.235]) by aserp3030.oracle.com with ESMTP id 35d7ejppvr-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sun, 13 Dec 2020 17:25:03 +0000 Original-Received: from abhmp0012.oracle.com (abhmp0012.oracle.com [141.146.116.18]) by aserv0121.oracle.com (8.14.4/8.13.8) with ESMTP id 0BDHOrNF023583; Sun, 13 Dec 2020 17:24:53 GMT In-Reply-To: <<83blexeod5.fsf@gnu.org>> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9.1 (1003210) [OL 16.0.5071.0 (x86)] X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9834 signatures=668683 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 spamscore=0 bulkscore=0 suspectscore=0 adultscore=0 mlxscore=0 mlxlogscore=999 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2009150000 definitions=main-2012130137 X-Proofpoint-Virus-Version: vendor=nai engine=6000 definitions=9834 signatures=668683 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 bulkscore=0 mlxlogscore=999 priorityscore=1501 mlxscore=0 suspectscore=0 adultscore=0 phishscore=0 malwarescore=0 impostorscore=0 lowpriorityscore=0 clxscore=1015 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2009150000 definitions=main-2012130137 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list 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-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:195979 Archived-At: > > IF the guess is correct that this caveat does NOT > > in fact apply to this use case then no, it is > > NOT the case that "You should always write these > > filter functions as if they are called at any time." > > If that guess is correct then what you say as the > > reason for not fixing this doc bug simply isn't > > relevant. >=20 > I don't think I understand what "this case" is,=20 As was said in the original bug report and has been repeated in the thread, this case is the "use of a `menu-item' construct with a :filter to create a conditional _keyboard_ key binding. In such a case, the `menu-item' construct is not a real menu item - it is not placed on any menu." > but in general menu functions Define "menu function", please. Does this apply to the case being discussed: an extended menu item that's bound only to a keyboard key, i.e., that's not used in any menu? > could be called whenever the display engine needs to > recalculate the contents and the dimensions of the menu, and that > could basically be every redisplay cycle, depending on circumstances. See above. There's no menu involved in the case being discussed (at least none that's visible to users, AFAIK). So there should be no need or possibility of recalculating menu contents and dimensions. This is (only) about the hack/idiom of using an extended menu item for a keyboard key binding (only). And the use case for doing that is to take advantage of the :filter handling. I don't know where/when the :filter handling is done. Perhaps it is done as an integral part of redisplay. If that's the case, does it mean that the warning in the doc is applicable in this case? If it is thus applicable in this case, does it need to be? IOW, could handling of :filter be separated out, at least in the case where no menu is involved? Again, though, I'm not really arguing that using a `menu-item' just to get :filter behavior for a keyboard key binding is the best approach. The point is that currently it is the _only_ approach, hence the idiom. If Emacs provides a more direct way to do this, that's uncoupled from `menu-item' and its redisplay handling, great. Lacking that, this bug is about having the doc address the use case of the idiom.