From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: John Wiegley Newsgroups: gmane.emacs.bugs Subject: bug#64901: 29.1; use-package fails to require bind-key at runtime in compiled files Date: Thu, 03 Aug 2023 15:16:39 -0700 Message-ID: References: <11c7327a-236e-7dab-e6bd-215fd9aac972@fiander.info> <83jzull2jp.fsf@gnu.org> <83h6ppl1n3.fsf@gnu.org> <83v8e4jzhh.fsf@gnu.org> <87wmykfkqk.fsf@epfl.ch> <83cz0cjkul.fsf@gnu.org> <87a5vgou07.fsf@epfl.ch> <83mszfi28p.fsf@gnu.org> <83edkky000.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="40184"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (darwin) Cc: contovob@tcd.ie, 64901@debbugs.gnu.org, david@fiander.info To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Fri Aug 04 00:17:26 2023 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 1qRgdJ-000ACG-1T for geb-bug-gnu-emacs@m.gmane-mx.org; Fri, 04 Aug 2023 00:17:25 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qRgcz-0002Tz-Gf; Thu, 03 Aug 2023 18:17:05 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qRgcw-0002TY-CO for bug-gnu-emacs@gnu.org; Thu, 03 Aug 2023 18:17:02 -0400 Original-Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qRgcw-0005bg-3j for bug-gnu-emacs@gnu.org; Thu, 03 Aug 2023 18:17:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1qRgcw-00037a-04 for bug-gnu-emacs@gnu.org; Thu, 03 Aug 2023 18:17:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: John Wiegley Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 03 Aug 2023 22:17:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 64901 X-GNU-PR-Package: emacs Original-Received: via spool by 64901-submit@debbugs.gnu.org id=B64901.169110101811986 (code B ref 64901); Thu, 03 Aug 2023 22:17:01 +0000 Original-Received: (at 64901) by debbugs.gnu.org; 3 Aug 2023 22:16:58 +0000 Original-Received: from localhost ([127.0.0.1]:53095 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qRgcr-00037F-GT for submit@debbugs.gnu.org; Thu, 03 Aug 2023 18:16:57 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:58312) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qRgcn-00036y-Pq for 64901@debbugs.gnu.org; Thu, 03 Aug 2023 18:16:55 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qRgch-0005a2-Vy; Thu, 03 Aug 2023 18:16:48 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:References:Date:In-Reply-To:Subject:To: From; bh=hhmq6jiK7+AYuWU0dlJlAIhEhUe0smf3sr59PdATbj4=; b=ceWmFJRjbyPfha+lk6Gw Sp2RPl9YiOeJUNSqpfn7UkbCIPem/UIDLqhwjpCtysYIFIb8DE2kY+GDQEQzMQ0qD9prniQWpq6XZ hCrF2sJQYkPDAeQxD3ZORz0Nl3/kYGujxLYRHAlkdqVfZpL4qEVeOTNUUPK1op495bGK+95YLkeUe 19PbPX+VTJyhdibm/MNgsgCacHZRZQj6NqGvtg16gogPj1hM4HPmdzc08zgN01+wFbfFkB6RYv4QL q+EGcxqt04QXXtbdziv1RCtRVhLQb98YieRwCNdGVx+cmbBXoh7NDGZe80uJsTR04rhMgmISA0yLU 2lAxFuSmQYJHvQ==; Original-Received: from auth1-smtp.messagingengine.com ([66.111.4.227]) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qRgch-0007E9-FB; Thu, 03 Aug 2023 18:16:47 -0400 Original-Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailauth.nyi.internal (Postfix) with ESMTP id E731627C005A; Thu, 3 Aug 2023 18:16:46 -0400 (EDT) Original-Received: from mailfrontend1 ([10.202.2.162]) by compute3.internal (MEProxy); Thu, 03 Aug 2023 18:16:46 -0400 X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedviedrkeefgddtjecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpefhvfevufgjfffkfhgfgggtgfesthhqredttderjeenucfhrhhomheplfhohhhn ucghihgvghhlvgihuceojhhohhhnfiesghhnuhdrohhrgheqnecuggftrfgrthhtvghrnh epteelleeujeelvefghffggeegffdvieeigfekteevjeelhedutefgjeeifffgffdtnecu ffhomhgrihhnpehnvgifrghrthhishgrnhhsrdgtohhmnecuvehluhhsthgvrhfuihiivg eptdenucfrrghrrghmpehmrghilhhfrhhomhepjhhohhhnfidomhgvshhmthhprghuthhh phgvrhhsohhnrghlihhthidqieekjeektdelgeegqddujeejheefkeduiedqjhhohhhnfi eppehgnhhurdhorhhgsehnvgifrghrthhishgrnhhsrdgtohhm X-ME-Proxy: Feedback-ID: ib64945b7:Fastmail Original-Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu, 3 Aug 2023 18:16:46 -0400 (EDT) In-Reply-To: <83edkky000.fsf@gnu.org> (Eli Zaretskii's message of "Thu, 03 Aug 2023 11:59:43 +0300") 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-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:266630 Archived-At: >>>>> Eli Zaretskii writes: > Thanks. Is the below what you had in mind? >=20 > diff --git a/lisp/use-package/bind-key.el b/lisp/use-package/bind-key.el > index 0ab72ea..4affd8f 100644 > --- a/lisp/use-package/bind-key.el > +++ b/lisp/use-package/bind-key.el > @@ -180,6 +180,7 @@ bind-key > Emacs can evaluate this form at any time that it does redisplay > or operates on menu data structures, so you should write it so it > can safely be called at any time." > + (require 'bind-key) > (let ((namevar (make-symbol "name")) > (keyvar (make-symbol "key")) > (kmapvar (make-symbol "kmap")) That=E2=80=99s too early, it would be: (let ((namevar (make-symbol "name")) (keyvar (make-symbol "key")) (kmapvar (make-symbol "kmap")) (kdescvar (make-symbol "kdesc")) (bindingvar (make-symbol "binding"))) `(let* ((,namevar ,key-name) (,keyvar ,(if (stringp key-name) (read-kbd-macro key-name) `(if (vectorp ,namevar) ,namevar (read-kbd-macro ,namevar)))) (,kmapvar (or (if (and ,keymap (symbolp ,keymap)) (symbol-value ,keymap) ,keymap) global-map)) (,kdescvar (cons (if (stringp ,namevar) ,namevar (key-description ,namevar)) (if (symbolp ,keymap) ,keymap (quote ,keymap))= )) (,bindingvar (lookup-key ,kmapvar ,keyvar))) (require 'bind-key) ; ensure `personal-keybindings' is in scope (let ((entry (assoc ,kdescvar personal-keybindings)) (details (list ,command (unless (numberp ,bindingvar) ,bindingvar)))) (if entry (setcdr entry details) (add-to-list 'personal-keybindings (cons ,kdescvar details)))) ,(if predicate `(define-key ,kmapvar ,keyvar '(menu-item "" nil :filter (lambda (&optional _) (when ,predicate ,command)))) `(define-key ,kmapvar ,keyvar ,command)))) --=20 John Wiegley GPG fingerprint =3D 4710 CF98 AF9B 327B B80F http://newartisans.com 60E1 46C4 BD1A 7AC1 4BA2