From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Stephen Berman via "Bug reports for GNU Emacs, the Swiss army knife of text editors" Newsgroups: gmane.emacs.bugs Subject: bug#70938: 30.0.50; Edebug appropriates overriding-terminal-local-map Date: Tue, 14 May 2024 22:15:11 +0200 Message-ID: <8734qkgng0.fsf@gmx.net> References: <877cfwh6h1.fsf@gmx.net> <871q64magk.fsf@web.de> Reply-To: Stephen Berman Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="37521"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Cc: 70938@debbugs.gnu.org To: Michael Heerdegen Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Tue May 14 22:16:23 2024 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 1s6yZS-0009U5-Je for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 14 May 2024 22:16:22 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1s6yZA-0008At-Ey; Tue, 14 May 2024 16:16:04 -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 1s6yZ7-0008AP-F9 for bug-gnu-emacs@gnu.org; Tue, 14 May 2024 16:16:01 -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 1s6yZ7-0005Jn-10 for bug-gnu-emacs@gnu.org; Tue, 14 May 2024 16:16:01 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1s6yZ8-0007EO-3A for bug-gnu-emacs@gnu.org; Tue, 14 May 2024 16:16:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Stephen Berman Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 14 May 2024 20:16:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 70938 X-GNU-PR-Package: emacs Original-Received: via spool by 70938-submit@debbugs.gnu.org id=B70938.171571772422610 (code B ref 70938); Tue, 14 May 2024 20:16:02 +0000 Original-Received: (at 70938) by debbugs.gnu.org; 14 May 2024 20:15:24 +0000 Original-Received: from localhost ([127.0.0.1]:41308 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1s6yYW-0005ro-7E for submit@debbugs.gnu.org; Tue, 14 May 2024 16:15:24 -0400 Original-Received: from mout.gmx.net ([212.227.15.15]:60271) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1s6yYR-0005Oi-MG for 70938@debbugs.gnu.org; Tue, 14 May 2024 16:15:23 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.net; s=s31663417; t=1715717712; x=1716322512; i=stephen.berman@gmx.net; bh=qHalYQfNB/0I3GEeqdxam8UNUxVsJ44Nrj97PhTD0K8=; h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date: Message-ID:MIME-Version:Content-Type:cc:content-transfer-encoding: content-type:date:from:message-id:mime-version:reply-to:subject: to; b=EWkIt6fUNiLhdCOGURVJheh2dBl1vWarNItVFnQxdg9hFF43X0jTlJUhWExVUfiV YuEJW3i4aqjisEbdN3rcnJKqz6/VBKv1XpoAoRRBRbAOMLb67XXTrDpiovR1M3TZa hEDbvBXl019+DY18C4LFtpC77GPr4eRP5spUkWAX4mYBzGMib1Vo2hoGXHyVhp2zu pV8mPXDNLy/lgcwnxGjS8OsatLBCqPqqyt2ZhtEj0Qvsoi19UZPoimUBHBt8/VUhk iMMyKUkdwPR+BC8ejGCyu47jSls7p2FdreXBEyJFMt9dRQMlAHeUZ18+JExc2UEGn fXh7RzPG9zNrB3zTmw== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Original-Received: from strobelfs ([88.130.50.190]) by mail.gmx.net (mrgmx005 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MS3ir-1rzWYt0puF-00TXiB; Tue, 14 May 2024 22:15:12 +0200 In-Reply-To: <871q64magk.fsf@web.de> (Michael Heerdegen's message of "Tue, 14 May 2024 21:59:07 +0200") X-Provags-ID: V03:K1:Wi85bJW704wqjuao9C4woHM5m7CM5UMtEOpkH3nrLjkTosl2aw4 mLNrDT7buuBKNjN7M1J31ho58ePj2tOwxrjvNY6/DqUvL6nRVpOlxvCNTNtksXjeeUpFpWC vWg82iXSUZdBkWQyZkOkVvaebBvgf0lVAUGw/+ab6shjPYZjw2+pk5wjTSZWF6MJBDyBTb5 h6zoy4d/mQOQCKT125jBA== UI-OutboundReport: notjunk:1;M01:P0:GEBsMICC5o4=;q9yR/pQsNlPyqczewE2JN2WG2Nu ZEDjQEv+qxzVEotV1AI7Xlh6nb6AbcXv6irgAw8whE1nrS9j/ohREpc7s1ZVePJsjHoFPeX/o w8NN8pnLuVnZDuFl5q985eIT3Vus1n5qL7nj1KSdZLNli0Z4LL/4bzOc5Yub9a5HQHm9qKvWT jy2hYXWIheC+qpFzSrumpjjVf8ZO6uPaQfpbHXhflbhkSbkrdtTP977LTBS8cbRTmvOmmc1Hi a5KX2zUX1DONF5gdGNEgKshrxAQFCuM0MwMOfy9+MdT37WvuSJL0YktNciO3FD8W5ZP1ouEJK i+YiOEZXWCihYiPTsFHdY8ZadloIo82kYzzCDPKhtPVQK6KfI6y2n0e8YuCG5fiMJL9pGrlJo Qjw2n34RaI38m/oAv43QCsvaP2deIERKgsAAzsUw8CH1sdyyYmZJD2u2NBIn+O2GAetFoZ62Z hdhzVlCYJsUYb9+cy8RoHprOiAwdO+y6HL3YufeWv/MeAKPy2o/8TAJURQvdQMZrPqbeE4NEC hI7G+FraSHLqu39vJ5v90y6fLdXw7/JSh9Qf5+W0xNzDqiGoV2Dgr7rYqwQGEkGVSVeETvhqK I4L2arpUZGeXydP7rh2y9QBIq7tE/NK/1StmA5INE9xGXwPFEo2W+9J2gDcikin9el4eqzmbt WOw/pWZK3d/fy339NExG6qod8mqVYkLbLJhX9mos8PIu4Om7sSm3cVBVA2HEtP9d3UUGZzQzd Zpy3CYVDi1mUFP06b6ygXCfv28rFbTylRqI9IOmQKncgc8GHDlvOJ4HjeWyK9CQlQVebGxbV 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:285049 Archived-At: --=-=-= Content-Type: text/plain On Tue, 14 May 2024 21:59:07 +0200 Michael Heerdegen wrote: > Stephen Berman via "Bug reports for GNU Emacs, the Swiss army knife of > text editors" writes: > >> 0. emacs -Q -l test-edebug-override-map.el > > Where can one find "test-edebug-override-map.el"? Oh, no, I forgot to attach it, sorry! Now it's attached here. Steve Berman --=-=-= Content-Type: application/emacs-lisp Content-Disposition: attachment; filename=test-edebug-override-map.el Content-Transfer-Encoding: quoted-printable ;; -*- lexical-binding: t; -*- (defun srb-test () (interactive) (srb-test--next srb-test--key-groups nil)) (defvar srb-test--key-groups '(("i" "p") ("y" "k") ("c" "d" "n") "t" ("h" "= r"))) (defun srb-test--next (groups keys-so-far) (let* ((map (make-sparse-keymap)) (key-list '("i" "p" "y" "k" "c" "d" "n" "t" "h" "r")) ;; The key just typed. (this-key (lambda () (char-to-string last-command-event))) (prompt nil) ;; Remove groups of entered keys from prompt and show remaining. (add-to-prompt (lambda (key) (setq prompt (concat prompt (format (concat (if (member key '("i" "y" "c" "t" "h")) "{" " ") "%s" (when (member key '("p" "k" "n" "t" "r")) "} ")) key))))) ;; Return the key groups replacing the group containing the given = key ;; by the key itself. (get-groups (lambda (key lst) (setq lst (if (consp lst) lst (list lst))) (let ((l nil) ky) (mapc (lambda (m) (when (consp m) (catch 'found1 (dolist (k m) (when (equal key k) (throw 'found1 (setq ky k)))))) (if ky (progn (push ky l) (setq ky nil)) (push m l))) lst) (setq lst (reverse l))))) ;; Operate on a copy of the groups list so the original is not ;; consumed, thus available for the next key typed. (groups0 groups) ;; exitfn ) (while groups0 (let* ((x (car groups0)) (restgroups (cdr groups0))) (dolist (key (if (consp x) x (list x))) (funcall add-to-prompt key) (define-key map key (if (null restgroups) (lambda () (interactive) (setq keys-so-far (concat keys-so-far " " (funcall this-key))) (message "Keys:%s" keys-so-far)) (lambda () (interactive) (setq keys-so-far (concat keys-so-far " " (funcall this-key))) (srb-test--next (cdr (funcall get-groups (funcall this-key) groups)) keys-so-far))))) (setq groups0 restgroups))) (set-transient-map map) ;; (setq exitfn (set-transient-map map)) (when prompt (message "Press a key from one of these groups: %s" prompt= )) (setq groups0 groups) ;; (funcall exitfn) )) (provide 'test-edebug-override-map) --=-=-=--