From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Gabriel do Nascimento Ribeiro Newsgroups: gmane.emacs.devel Subject: Minibuffer Execute + Repeat Date: Sat, 16 Jan 2021 19:33:41 -0300 Message-ID: Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="34867"; mail-complaints-to="usenet@ciao.gmane.io" To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sat Jan 16 23:35:08 2021 Return-path: Envelope-to: ged-emacs-devel@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 1l0uA0-0008yy-Dd for ged-emacs-devel@m.gmane-mx.org; Sat, 16 Jan 2021 23:35:08 +0100 Original-Received: from localhost ([::1]:53418 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1l0u9z-0001FW-Ew for ged-emacs-devel@m.gmane-mx.org; Sat, 16 Jan 2021 17:35:07 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:57780) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l0u8m-0000Dc-7y for emacs-devel@gnu.org; Sat, 16 Jan 2021 17:33:53 -0500 Original-Received: from mail-bn7nam10olkn2021.outbound.protection.outlook.com ([40.92.40.21]:40928 helo=NAM10-BN7-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1l0u8j-0005wr-1G for emacs-devel@gnu.org; Sat, 16 Jan 2021 17:33:51 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Cvy5MTZ7RaF4yq9XSd3662fQLfPMZiuiZMIwPRcx3idKbE7tqoB3IH4szWrTRj7eRQdz5zG1LkzSH820pDQOVhmh6bkmR30cfsGf86LUBJjTZJB0b6oG6NfkiHlOrqoU2ftQciMpFEYdnZwE+Bs1x5kpzd2LCNywn917TccsV1DKDuGkgCComausKJGd3wmt4hTyIRR/VsW+VNaAomK+aa0HcrSiP65Q1lBeHWBpCA/Dw4/71vXuN0FJ5pDX0ZiWBZcIvbYI5JSeVeZPQhvc4wUzQiI/GfZTNgSVyA42XcYjdG5r4YBrIj1lDSXu9jTHpg7j0zfip9fLqUN5/oeO8g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=xsKp+UjfH8gKHLizH8LBG86laJr3KVltywRCGlAGYrE=; b=Cs4zid6ePSfv078bV0vVuspY4sbS/b13UayVwgoI3QUTOBKL0yTfQ//fB7ePDm7j9lFfLrtrMTbKq3oqQiI9uk1rt8m6OhuPlA/LBI3Lr3hC8K6jmBuy4lgtNMNeZkqEP1bPq5xq//auozEAMR4ZT5OkBqDyvSfaMJZ8Q0qnWxWyTLauNdYQ79NKjuWXdc4I8lWwI7ZPea7GDc6TKET2/3WpLo/nQr0K/UIs6NiDc+veEtBTePIdKany3L9ZkskYIIKjxRAOY64WMyYrbUO/xtPli4JbT8KM0iQBgtEKyIgyGikBK0W4WT0MVsBtW5NgM683gXEYwCXQe6s/uyQ7fg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hotmail.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=xsKp+UjfH8gKHLizH8LBG86laJr3KVltywRCGlAGYrE=; b=bTrehoXtlDdnk3zv6VJm86nCr2GeiElsGFCS4d8WGdYsLPhptcDlUPclPzH2caQvqgO1FhuryPVvbgEIo8pysIg9hY79k3PbUSdHFQ+uvTlnHqF6sb6Q4muQ2SnWF9oemyvDzGERvj7rL9ABo39jN2M9iNhhjE54f+LFVJRrMMZq/vmMO7aqmcIggkXOfyu4ufDi0ofO6cnkAx50HscTdOfpmaN1HyCxluW+USsc20TQNBrSHft1XgPp8LiD6fAxeb6KEssTLXIeV+iHTD4Nte0rrVqg1iFa4bOqAGe3At47C55qTjHTevzDJN6ncbktcysRooZJQNIH3aaLRe0bww== Original-Received: from DM6NAM10FT046.eop-nam10.prod.protection.outlook.com (2a01:111:e400:7e86::4c) by DM6NAM10HT218.eop-nam10.prod.protection.outlook.com (2a01:111:e400:7e86::316) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3763.11; Sat, 16 Jan 2021 22:33:47 +0000 Original-Received: from CH2PR01MB5879.prod.exchangelabs.com (2a01:111:e400:7e86::43) by DM6NAM10FT046.mail.protection.outlook.com (2a01:111:e400:7e86::300) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3763.12 via Frontend Transport; Sat, 16 Jan 2021 22:33:47 +0000 X-IncomingTopHeaderMarker: OriginalChecksum:3846F3D2257C7C8557EF33DAE7791587431DBF3513D8CA290F52980D0636E741; UpperCasedChecksum:986E6D81BE7206AB58807628A1A1B9391D46D3C67BD3A7909E923938738FE992; SizeAsReceived:7216; Count:42 Original-Received: from CH2PR01MB5879.prod.exchangelabs.com ([fe80::d51d:8cbe:370a:39ac]) by CH2PR01MB5879.prod.exchangelabs.com ([fe80::d51d:8cbe:370a:39ac%7]) with mapi id 15.20.3763.012; Sat, 16 Jan 2021 22:33:46 +0000 X-TMN: [OtSHKWPPYOktmSVtoY9Vpzw5mnZI/aNOwzCVBTRgty7q9Xss139F7Ba6/LKmxDNa] X-ClientProxiedBy: CP0PR80CA0019.lamprd80.prod.outlook.com (2603:10d6:103:14::31) To CH2PR01MB5879.prod.exchangelabs.com (2603:10b6:610:3c::12) X-Microsoft-Original-Message-ID: <87im7wjyuy.fsf@hotmail.com> X-MS-Exchange-MessageSentRepresentingType: 1 Original-Received: from precision5540 (2804:431:c7f3:af8f:41c0:c93c:f169:58f1) by CP0PR80CA0019.lamprd80.prod.outlook.com (2603:10d6:103:14::31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3763.9 via Frontend Transport; Sat, 16 Jan 2021 22:33:45 +0000 X-MS-PublicTrafficType: Email X-IncomingHeaderCount: 42 X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-Correlation-Id: 06986cfe-a080-4b92-03d5-08d8ba6ec976 X-MS-TrafficTypeDiagnostic: DM6NAM10HT218: X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 5FfrtAc0EYqg/J5gjHw9JAEpAJNRecgTOVmfZ3TggxgGqsf42RvvOFAJkIoxUyKR/8oPUfNYBXy/KTeVGzvCeBmQLf7JCb/KQRQkjHUha1DKB2f99jxycF3pPAUz8TWpBAsC5Zp46iVgTHuUgwFdks4pWWBd+V0HM5qZ+g9imqNJOq5U7RmoeOapN+MxmMdbp5bkGwcbUb6lahLHhqdRZiD+8AKFKP4lW+FisPYFewc8Ee9BzFxnb5SSr9XaN24C X-MS-Exchange-AntiSpam-MessageData: q1DRmOQqMzjqic4m+4OGQOoqJ5CrqfWwbQwO5cvzqWzi2FSxCOQ2Lw4eyckygwtOdRSIuYS/E/E+D0pHOUg5o1OEOmanDviUhNEOdtgWxGDXRW3CKmuCZ1C8HyjWEW9eb79TpK2GI42cFB+k/zEKw9esTJfoRXjUCvc8sJ7M5EDIqYwncET2BDZ55ehVRXMLrb2U79UOORwAXJN1BayGcg== X-OriginatorOrg: hotmail.com X-MS-Exchange-CrossTenant-Network-Message-Id: 06986cfe-a080-4b92-03d5-08d8ba6ec976 X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jan 2021 22:33:46.8654 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-AuthSource: DM6NAM10FT046.eop-nam10.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: Internet X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6NAM10HT218 Received-SPF: pass client-ip=40.92.40.21; envelope-from=gabriel376@hotmail.com; helo=NAM10-BN7-obe.outbound.protection.outlook.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action 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-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:263110 Archived-At: In Emacs, some commands asks for user input by using a minibuffer prompt. If you want to run that command again with the same or similar input, you should run the command again (using the original keybinding or 'C-x z') and type 'M-p' to get the last history element or type the whole input again if history variable is absent. There are many use cases where executing the command without leaving the minibuffer prompt could be useful. A similar behavior exists today with 'M-e' on isearch-mode, which is much more convenient that quitting the current search and repeating the search command to modify the last input. I know some packages exists that implements that feature, but doesn't make sense to install a big package that will modify everything related to minibuffer and completions. AFAIK, currently Emacs doesn't offer this feature OOB and I failed to implement on my own using ELisp without too much dirty hacks. The way 'exit-minibuffer' works and how commands and args are stored ('last-command', 'real-last-command', 'current-minibuffer-command' and so on) makes it difficult to implement, at least for me. So I would like to know if there is any easy way to get this behavior without installing big packages that re-implements the whole minibuffer. Is this feature a thing we want to ship in Emacs, or at least provide more functions/variables to make it feasible to be implemented by users without too much hacking ? Any guidance is appreciated, thanks! Gabriel