From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Juri Linkov Newsgroups: gmane.emacs.devel Subject: Re: Strange use of (run-with-timer 0 nil #'foo args) in do-after-load-evaluation Date: Mon, 28 Oct 2019 00:29:56 +0200 Organization: LINKOV.NET Message-ID: <878sp53jq3.fsf@mail.linkov.net> References: <20191026101407.GA17424@ACM> <87o8y3d4ur.fsf@gnus.org> <87mudl3l83.fsf@mail.linkov.net> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="39533"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (x86_64-pc-linux-gnu) Cc: Alan Mackenzie , Stefan Monnier , emacs-devel@gnu.org To: Lars Ingebrigtsen Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Oct 27 23:31:37 2019 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1iOr4T-000A8X-7d for ged-emacs-devel@m.gmane.org; Sun, 27 Oct 2019 23:31:37 +0100 Original-Received: from localhost ([::1]:49760 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iOr4Q-0002oH-V7 for ged-emacs-devel@m.gmane.org; Sun, 27 Oct 2019 18:31:34 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:33860) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iOr3r-0002fv-8Z for emacs-devel@gnu.org; Sun, 27 Oct 2019 18:31:00 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iOr3p-00051c-RZ for emacs-devel@gnu.org; Sun, 27 Oct 2019 18:30:58 -0400 Original-Received: from crocodile.birch.relay.mailchannels.net ([23.83.209.45]:56802) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1iOr3p-000514-J6 for emacs-devel@gnu.org; Sun, 27 Oct 2019 18:30:57 -0400 X-Sender-Id: dreamhost|x-authsender|jurta@jurta.org Original-Received: from relay.mailchannels.net (localhost [127.0.0.1]) by relay.mailchannels.net (Postfix) with ESMTP id D10B91A114F; Sun, 27 Oct 2019 22:30:55 +0000 (UTC) Original-Received: from pdx1-sub0-mail-a38.g.dreamhost.com (100-96-14-244.trex.outbound.svc.cluster.local [100.96.14.244]) (Authenticated sender: dreamhost) by relay.mailchannels.net (Postfix) with ESMTPA id 4B43B1A11CF; Sun, 27 Oct 2019 22:30:55 +0000 (UTC) X-Sender-Id: dreamhost|x-authsender|jurta@jurta.org Original-Received: from pdx1-sub0-mail-a38.g.dreamhost.com ([TEMPUNAVAIL]. [64.90.62.162]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384) by 0.0.0.0:2500 (trex/5.18.5); Sun, 27 Oct 2019 22:30:55 +0000 X-MC-Relay: Neutral X-MailChannels-SenderId: dreamhost|x-authsender|jurta@jurta.org X-MailChannels-Auth-Id: dreamhost X-Daffy-Broad: 7d0cb2755cd49f5e_1572215455612_756967473 X-MC-Loop-Signature: 1572215455612:1796813430 X-MC-Ingress-Time: 1572215455612 Original-Received: from pdx1-sub0-mail-a38.g.dreamhost.com (localhost [127.0.0.1]) by pdx1-sub0-mail-a38.g.dreamhost.com (Postfix) with ESMTP id DAA8A8A6A3; Sun, 27 Oct 2019 15:30:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=linkov.net; h=from:to:cc :subject:references:date:in-reply-to:message-id:mime-version :content-type; s=linkov.net; bh=0dTB2MeEnrrsSUyDEIScKNG5PX0=; b= a6seNOyTx+Iv+GT0B/RejppkWC8JnJRAI2y5Oxw4c4BuH3WzcWgw3RYRhp42Cayq LpHOqEMfHyxlXrZn5Fn0H5UmgZ5oZu0KDZuLPyQV8OFg8lP4dzV3o/VrgT9iWivh E3CuPLiuuxynFXuA6nzM7bOhm+79dHMGKlA5vSV2xPk= Original-Received: from mail.jurta.org (m91-129-98-153.cust.tele2.ee [91.129.98.153]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: jurta@jurta.org) by pdx1-sub0-mail-a38.g.dreamhost.com (Postfix) with ESMTPSA id 2EFD28BCD6; Sun, 27 Oct 2019 15:30:45 -0700 (PDT) X-DH-BACKEND: pdx1-sub0-mail-a38 In-Reply-To: <87mudl3l83.fsf@mail.linkov.net> (Juri Linkov's message of "Sun, 27 Oct 2019 23:57:32 +0200") X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 23.83.209.45 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:241532 Archived-At: > Why y-or-n-p doesn't use normal minibuffer functions? > > It can finely use read-from-minibuffer with a keymap where > 'y' and 'n' keys are bound to minibuffer-exiting commands. > > Then history commands will be available for free, so you don't need > to re-implement minibuffer history commands with `read-char-with-history'. I meant something like (defvar y-n-p-map (let ((map (make-sparse-keymap))) (set-keymap-parent map minibuffer-local-map) (define-key map "y" (lambda () (interactive) (delete-minibuffer-contents) (insert "y") (exit-minibuffer))) (define-key map "n" (lambda () (interactive) (delete-minibuffer-contents) (insert "n") (exit-minibuffer))) map)) (defun y-n-p (prompt) (read-from-minibuffer prompt nil y-n-p-map nil 'y-n-p-history)) (y-n-p "Please type y or n: ") Then all history commands are available, e.g. 'M-p' or the up arrow.