From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Ihor Radchenko Newsgroups: gmane.emacs.devel Subject: Re: Fwd: A TAB operation reform question. Date: Wed, 12 Oct 2022 14:57:11 +0800 Message-ID: <87a661sf5k.fsf@localhost> References: <87tu4blmf0.fsf@laptop.lockywolf.net> <87mta3krsg.fsf@laptop.lockywolf.net> <878rlmsdrp.fsf@laptop.lockywolf.net> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="2760"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Vladimir Nikishkin , emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Wed Oct 12 09:02:19 2022 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 1oiVkx-0000W1-CY for ged-emacs-devel@m.gmane-mx.org; Wed, 12 Oct 2022 09:02:19 +0200 Original-Received: from localhost ([::1]:47040 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oiVkv-00044V-P2 for ged-emacs-devel@m.gmane-mx.org; Wed, 12 Oct 2022 03:02:17 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:38492) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oiVfL-0000mB-W0 for emacs-devel@gnu.org; Wed, 12 Oct 2022 02:56:32 -0400 Original-Received: from mail-pf1-x42f.google.com ([2607:f8b0:4864:20::42f]:35801) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oiVfI-0006f2-St for emacs-devel@gnu.org; Wed, 12 Oct 2022 02:56:31 -0400 Original-Received: by mail-pf1-x42f.google.com with SMTP id y191so274513pfb.2 for ; Tue, 11 Oct 2022 23:56:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:message-id:date:references:in-reply-to:subject:cc:to :from:from:to:cc:subject:date:message-id:reply-to; bh=zyOLsSLr4nNdzH2x/fbJRS0UO91TyHxHxM+DE1rqrgE=; b=WYlkbIP4vFAU/GxRypRkZGvHcoNRFBuLdIcoSYV5K2ix3GW1gaUEqAPPv6/skZzqC6 1W14givDXXtEleQWSIltY5xnM+NazcCQm2zPtm9blwp4q9ujcg6AN6JHJv2IFc2IH0eC L+hP5QE13R9jh1gbAu4trAc2e/d4mcQM8LcVX1Q6e4sQ2KqbZmpKc+7QVbS7EuDu3+4G XtBm+mPHzySmCG9eZQq/n+j0uoENubJpAFdclFc2wJs5roX03Q5QxO0WsQhfGGy3F39J reiQUtNrzQ02IsuY8AZd8MUYbIGwFTEOD49nQLZ5CQo2ws/NgYr60BOo7F79GiB0bBn/ R2dQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=mime-version:message-id:date:references:in-reply-to:subject:cc:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=zyOLsSLr4nNdzH2x/fbJRS0UO91TyHxHxM+DE1rqrgE=; b=qOTsNGjnHzWYH2ctugWbUSWANUJIsB7Dnc65koHaxgbpY0wahzFHuqB0QkJtnfalPc UBT1JD6xcQgbQQi0RdQmAzXfbEJf9/etaU/K+ryrIFnvI3eI1nFdMXNkoloXhYuRAwid EozxMXn1LoqrM/cjO2VATnal8NCYSkFRpdXkeNnpeYUGZYXCJD7E1LpKUn6Pm91JcwaL i92G7hpdYW2KpXaeOCJaFu3Su4XTPYyi7KJtCxIGKmii3IeibnfNFTIWByd2zFIfuPiV WoR5n8BwAy0+jy67j6YiRnoXlhysqE39SF8sW6d9+HCkfyrWR8t6qO+ACitKq+mJUCA/ XTyw== X-Gm-Message-State: ACrzQf1bFAGbpe2R+/fFq/mUzDuPTpkTOHuJIAjtK7s34k3FFy5RYfqA YsZMxZQKsjVTdfMmmhIRuok= X-Google-Smtp-Source: AMsMyM4rkkAY/fy4MqFh4BQnmWArZk+nEZPH6RqxOBBbJYSAMgfc3tRKID3CCNRyDScxccmWtQTAWA== X-Received: by 2002:a05:6a02:20d:b0:430:3886:59e8 with SMTP id bh13-20020a056a02020d00b00430388659e8mr24339936pgb.516.1665557783183; Tue, 11 Oct 2022 23:56:23 -0700 (PDT) Original-Received: from localhost ([2409:8970:af2:32f:6c23:3ad5:f37d:541b]) by smtp.gmail.com with ESMTPSA id 141-20020a630193000000b0041ae78c3493sm8765030pgb.52.2022.10.11.23.56.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 11 Oct 2022 23:56:22 -0700 (PDT) In-Reply-To: Received-SPF: pass client-ip=2607:f8b0:4864:20::42f; envelope-from=yantar92@gmail.com; helo=mail-pf1-x42f.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 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, SPF_HELO_NONE=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.29 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:297575 Archived-At: Stefan Monnier writes: > A `tab-dwim-function` var is a bit more delicate to configure than > a `tab-dwim-functions` var, but I think neither of them would be usable > via Custom anyway (because it's often overridden buffer-locally by > major/minor modes). > > This said, a `tab-dwim-functions` would be a great improvement over > what have, in any case. What about going further and allowing customization for dwim commands? I imagine something like (defun-dwim ...), which can later be extended to act differently depending on major mode or any other condition. For example, special modes will then need not rely upon the key binding conventions, say for next/previous line (C-n/C-p). If the user can simply re-bind next-line-dwim/previous-line-dwim and get all the major modes obey the new binding without a need to do major-mode-specific customizations. -- Ihor Radchenko // yantar92, Org mode contributor, Learn more about Org mode at . Support Org development at , or support my work at