From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Jean Louis Newsgroups: gmane.emacs.bugs Subject: bug#38427: 26.2; skeleton-insert does not set str consistently Date: Sun, 1 Nov 2020 23:23:29 +0300 Message-ID: References: <87r21qzn9u.fsf@passepartout.tim-landscheidt.de> <87mu019lvl.fsf@gnus.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="4555"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mutt/+ (1036f0e) (2020-10-18) Cc: 38427@debbugs.gnu.org, Tim Landscheidt To: Lars Ingebrigtsen Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sun Nov 01 21:24:51 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 1kZJuC-00013u-80 for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 01 Nov 2020 21:24:48 +0100 Original-Received: from localhost ([::1]:43840 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kZJuB-0007iG-9e for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 01 Nov 2020 15:24:47 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:53602) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kZJtS-0007L8-NA for bug-gnu-emacs@gnu.org; Sun, 01 Nov 2020 15:24:03 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]:55385) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kZJtS-0000w4-DG for bug-gnu-emacs@gnu.org; Sun, 01 Nov 2020 15:24:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1kZJtS-00036m-6m for bug-gnu-emacs@gnu.org; Sun, 01 Nov 2020 15:24:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Jean Louis Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 01 Nov 2020 20:24:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 38427 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: moreinfo Original-Received: via spool by 38427-submit@debbugs.gnu.org id=B38427.160426221611903 (code B ref 38427); Sun, 01 Nov 2020 20:24:02 +0000 Original-Received: (at 38427) by debbugs.gnu.org; 1 Nov 2020 20:23:36 +0000 Original-Received: from localhost ([127.0.0.1]:38698 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kZJt2-00035v-1P for submit@debbugs.gnu.org; Sun, 01 Nov 2020 15:23:36 -0500 Original-Received: from static.rcdrun.com ([95.85.24.50]:51747) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kZJt0-00035n-KI for 38427@debbugs.gnu.org; Sun, 01 Nov 2020 15:23:35 -0500 Original-Received: from localhost ([::ffff:197.157.0.60]) (AUTH: PLAIN admin, TLS: TLS1.2,256bits,ECDHE_RSA_AES_256_GCM_SHA384) by static.rcdrun.com with ESMTPSA id 00000000002A0B41.000000005F9F1943.00001DCB; Sun, 01 Nov 2020 20:23:31 +0000 Content-Disposition: inline In-Reply-To: <87mu019lvl.fsf@gnus.org> 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:192465 Archived-At: * Lars Ingebrigtsen [2020-11-01 17:48]: > Tim Landscheidt writes: > > > Given (A): > > > > | (let > > | ((somevalues '(("a" . "123") ("b" . "456")))) > > | (skeleton-insert > > | '("Prompt: " > > | (cdr (assoc str somevalues)) | str ?\n))) > > > > Emacs asks for input with "Prompt: " and with "a" given, it > > outputs "a" instead of the expected "123". > > Evaluating that form gives me: > > Debugger entered--Lisp error: (void-variable somevalues) > (assoc str somevalues) > (cdr (assoc str somevalues)) > eval((cdr (assoc str somevalues))) > skeleton-internal-1((cdr (assoc str somevalues)) nil nil) > > I'm not at all familiar with how skeleton works, but a test case that > works would help when trying to debug. :-) I am using skeletong often. And I was of opinion it was made to create M-x interactive functions as skeletons to quickly insert such snippets or interactive templates: (define-skeleton dear-friend "Start a letter" nil "Dear " (setq name (skeleton-read "Name: ")) ", Thank you for your feedback. " _ " Greetings, Joe ") This gives me M-x dear-friend If there is region marked the _ will replace it with region. It is very handy. Tim, I suggest that you define skeleton that works by `define-skeleton' and then try using it in a function. On the other hand using skeletons in function somehow beats their purpose. (let ((somevalues '(("a" . "123") ("b" . "456")))) (skeleton-insert '(nil (setq str (skeleton-read "Var: ")) (cdr (assoc str somevalues)) | str ?\n))) Does that work? I have no idea what | means here.