From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp10.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id eNPtG+RZt2O6fQEAbAwnHQ (envelope-from ) for ; Fri, 06 Jan 2023 00:14:44 +0100 Received: from aspmx1.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp10.migadu.com with LMTPS id oBkDG+RZt2PhcwEAG6o9tA (envelope-from ) for ; Fri, 06 Jan 2023 00:14:44 +0100 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id E2ABB1C523 for ; Fri, 6 Jan 2023 00:14:42 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pDZQr-0002xs-W7; Thu, 05 Jan 2023 18:13:58 -0500 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 1pDZQn-0002xC-Th for emacs-orgmode@gnu.org; Thu, 05 Jan 2023 18:13:54 -0500 Received: from smtpout02-ext4.partage.renater.fr ([194.254.241.31]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pDZQl-0005fl-Gr for emacs-orgmode@gnu.org; Thu, 05 Jan 2023 18:13:53 -0500 Received: from zmtaauth04.partage.renater.fr (zmtaauth04.partage.renater.fr [194.254.241.26]) by smtpout20.partage.renater.fr (Postfix) with ESMTP id 3E8BBBFD53 for ; Fri, 6 Jan 2023 00:13:46 +0100 (CET) Received: from zmtaauth04.partage.renater.fr (localhost [127.0.0.1]) by zmtaauth04.partage.renater.fr (Postfix) with ESMTPS id 2FF561C000E for ; Fri, 6 Jan 2023 00:13:46 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by zmtaauth04.partage.renater.fr (Postfix) with ESMTP id 1F6A21C007A for ; Fri, 6 Jan 2023 00:13:46 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.10.3 zmtaauth04.partage.renater.fr 1F6A21C007A DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=unistra.fr; s=CF279DD4-6F58-4C59-BB33-73FDC6DFC1E3; t=1672960426; bh=XOMLNcKAvD6gHgjPfA+8KGjzijs6cQG/U82ow2N+ckc=; h=MIME-Version:Message-ID:Date:From:To; b=LROuFexeyLGB9i0F4Qo6AHFhJA3hp5RHe/818QIEh9pQhhQVkqSdDNbrz5kP95nbf ckNdXd4ybA7zhNf+tKojs0h6K1QqYNKTTOGHpB+Ske/WKd1Gs2nRq4wo16pjRexX8O Dxt5Lx4d/IiUJwd06gChivUPis1SG7g23Z6oc1/r+MGbSKddy1+AxTtiPjM6t/Lq3E xAMoTTKIarKcuCsBsPMRZbivwUh/Cd6LMLmr5TIfsY2Qc50LBIlxaBsCNHVd/j248d jHz0nocJuLYilJS5Ba+vs8OmvlUkYIhGdTUBTtspeXmgxDDINavbLTghXpbkRiILVb sARCr7KXP4uWg== Received: from zmtaauth04.partage.renater.fr ([127.0.0.1]) by localhost (zmtaauth04.partage.renater.fr [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id vPrpu1ejft0D for ; Fri, 6 Jan 2023 00:13:46 +0100 (CET) Received: from 90.56.7.123 (unknown [194.254.241.251]) by zmtaauth04.partage.renater.fr (Postfix) with ESMTPA id AE3D71C000E for ; Fri, 6 Jan 2023 00:13:45 +0100 (CET) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Message-ID: <25527.22953.318527.300303@gargle.gargle.HOWL> Date: Fri, 6 Jan 2023 00:13:45 +0100 From: Alain.Cochard@unistra.fr To: emacs-orgmode@gnu.org Subject: When is a function an interactive function? [was Re: Is function 'org-insert-property-drawer' usable?] In-Reply-To: References: <25520.25134.831330.318368@gargle.gargle.HOWL> <87v8lq75id.fsf@localhost> X-Mailer: VM 8.2.0b under 27.2 (x86_64-redhat-linux-gnu) X-Virus-Scanned: clamav-milter 0.103.6 at clamav02 X-Virus-Status: Clean X-Renater-Ptge-SpamState: clean X-Renater-Ptge-SpamScore: 0 X-Renater-Ptge-SpamCause: gggruggvucftvghtrhhoucdtuddrgedvhedrjeelgddtjecutefuodetggdotefrodftvfcurfhrohhfihhlvgemucftgffptefvgfftnecuuegrihhlohhuthemuceftddtnecunecujfgurhepgggtgffkfffhvffujghfofhrsehtqhertdertdejnecuhfhrohhmpeetlhgrihhnrdevohgthhgrrhgusehunhhishhtrhgrrdhfrhenucggtffrrghtthgvrhhnpedtgfeutdevheehffdvgfelledtieejiedtfeeuheffudevtdejtedujedtudekleenucfkphepudelgedrvdehgedrvdeguddrvdehudenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepihhnvghtpeduleegrddvheegrddvgedurddvhedupdhhvghlohepledtrdehiedrjedruddvfedpmhgrihhlfhhrohhmpeetlhgrihhnrdevohgthhgrrhgusehunhhishhtrhgrrdhfrhdpnhgspghrtghpthhtohepuddprhgtphhtthhopegvmhgrtghsqdhorhhgmhhouggvsehgnhhurdhorhhg Received-SPF: pass client-ip=194.254.241.31; envelope-from=Alain.Cochard@unistra.fr; helo=smtpout02-ext4.partage.renater.fr X-Spam_score_int: -3 X-Spam_score: -0.4 X-Spam_bar: / X-Spam_report: (-0.4 / 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, RCVD_HELO_IP_MISMATCH=2.368, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-orgmode@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: alain.cochard@unistra.fr Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org Sender: emacs-orgmode-bounces+larch=yhetil.org@gnu.org X-Migadu-Country: US X-Migadu-Flow: FLOW_IN ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1672960483; h=from:from:sender:sender:reply-to:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post:dkim-signature; bh=XOMLNcKAvD6gHgjPfA+8KGjzijs6cQG/U82ow2N+ckc=; b=bIV22DJoDqyxUOD/g2wGCAoLHQFIovPSSZxf7RheG4hkLr/qTjLDPTTKjgYvfzBzcimjkD oTEWDCl07VwOWywQ754IFcEBKTpksk5R/Od9g6xD/ej8Q5YinqQGkwslLGWCz5EFikm0Zu Tg7iW9uHfXJX4pckONFX/74JbgUEErfts1TL+rDWw2PuEF7g2hCXSEPdL4EQ1/CLdKMs6F AmmZ2iBAGAYZYwLUi0qnk10RLe9lvfY+lGWV53NlnxAvE+K5mWGGDIdXV6eZY+pc4M9Vxy Naz5fJ+splxUy4khRrcdExOngoR0AOLLGvRHzz+ovpCoM7Zo3kE6oN46BRzhdQ== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=unistra.fr header.s=CF279DD4-6F58-4C59-BB33-73FDC6DFC1E3 header.b=LROuFexe; spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org"; dmarc=none ARC-Seal: i=1; s=key1; d=yhetil.org; t=1672960483; a=rsa-sha256; cv=none; b=H7ohSBEL6MzsZC/Jb6Ct9oU4WAwLXYp8kAcVG05qsSbJpwqvmtKHWDYthbj2R0YCLHDHwy HCcJaT6fUXiftfanHL3g7ZugZ6S/ix7raJczTLRUnaOsZopWng9GZqirvz0XbvdRASyaI7 Cbn46hEug/eSFWkau0+8iu2lDoQQc4xjwnNCu5GsVuKm5wBMgH0jX5Hup16k6e3aA/QT5k CIAbovaDwFpO4ouNXXQIgRKocsBXUSC00GjEW/jQwY2HYNkgBk3crDPPgtiJpqZ2JfAaRY KOIfAc9cpOna/ihASbHt+fbPRrAVvt58gYUa80SNexjtEHZ5TiFQRE9alqhgCg== X-Spam-Score: -6.44 X-Migadu-Queue-Id: E2ABB1C523 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=unistra.fr header.s=CF279DD4-6F58-4C59-BB33-73FDC6DFC1E3 header.b=LROuFexe; spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org"; dmarc=none X-Migadu-Scanner: scn1.migadu.com X-Migadu-Spam-Score: -6.44 X-TUID: r6pwqegoOLH/ Max Nikulin writes on Wed 4 Jan 2023 18:53: > I suppose, the idea is to invoke it like >=20 > C-u M-x org-insert-drawer Yes, I got it. =20 Let me enlarge the scope (hence the new title). The manual says, in 1.5 Typesetting Conventions Used in this Manual (Key bindings and commands): In the manual we will, wherever possible, give the function that is internally called by the generic command. so I was trying to understand if there is a way to deduce whether or not a particular function is a command. Based on several examples such as =E2=80=98M-=E2=80=99 (=E2=80=98org-do-demote=E2=80=99) I conjectured that, when an interactive function does correspond to a command, it is just mentioned between parentheses, right after its corresponding key combination. I tried to check this in an as much systematic way as I could and investigated 330 such instances (based on the manual of version 9.5). I concluded that, out of the 330, at most 9 of them are counter examples (and I think even less; see list below). 9 is a very small proportion, which leads me to say that, in my opinion, it would be nice: - that this conjecture be transformed into a theorem (i.e., that exceptions be removed), - that this convention be mentioned in the aforementioned section 1.5, - that even if a function is =5Fnot=5F mentioned in that conventional form, it be explicitly stated in the manual that it is non-interactive (just as was recently proposed for 'org-insert-property-drawer' by Ihor+Bastien). (And if that convention is not to be adopted, then all the more reason to duly mention exceptions to the quasi-rule.) Regards PS: as an aside note: during my quest, I met the following unsettling (to me) cases, of functions that are not interactive "right away", but appear (to me) to become interactive after "something" has been loaded (please forgive the informal wording: I don't know the proper terminology). They are the 'org-capture-*' and the 'org-attach-*' functions. For example, with the cursor on 'org-capture-finalize' in the manual, 'C-h f ' gives nothing right away; 'C-h f org-capture' does not offer 'org-capture-finalize' as a completion; 'C-h f org-capture-fin' does complete and says that 'org-capture-finalize' is interactive; and then it becomes possible to use it with 'M-x'. Similarly, as far I as can see, 'M-x org-attach-attach' fails right away, but works after having been used once with the standard (menu) way. I can understand why it is like that, but still find it disconcerting. If it is to stay this way, perhaps things could be made more explicit in the manual. --- List (of non interactive functions that might be thought interactive to the ignorant): - =E2=80=98C-u C-u =E2=80=99 (=E2=80=98org-set-startup-visibility=E2= =80=99) - =E2=80=98S-=E2=80=99 (=E2=80=98org-clocktable-try-shift=E2=80=99= ) - =E2=80=98C-0 C-c C-w=E2=80=99 or =E2=80=98C-u C-u C-u C-c C-w=E2=80=99= (=E2=80=98org-refile-cache-clear=E2=80=99) - =E2=80=98M-=E2=80=99 (=E2=80=98org-table-fedit-scroll-up=E2=80=99= )=20 It feels strange to me that 'org-table-fedit-scroll-down' be an interactive function but not the 'scroll-up' version; in fact: 'C-h f org-table-fedit-scroll-up' -> (No matches) - =E2=80=98S-=E2=80=99 (=E2=80=98org-property-next-allowed-value= s=E2=80=99)=20 Shouldn't it be 'org-property-next-allowed-value'=3F - =E2=80=98U=E2=80=99 (=E2=80=98org-agenda-bulk-remove-all-marks=E2=80=99= )=20 Shouldn't it be 'org-agenda-bulk-unmark-all'=3F - =E2=80=98C-c C-e=E2=80=99 (=E2=80=98org-export=E2=80=99)=20 Shouldn't this one be 'org-export-dispatch'=3F - =E2=80=98C-c '=E2=80=99 (=E2=80=98org-edit~special=E2=80=99)=20 This must be a typo, right=3F - =E2=80=98C-c C-e o o=E2=80=99 (=E2=80=98org-export-to-odt=E2=80=99)=20= Shouldn't it be 'org-odt-export-to-odt'=3F --=20 EOST (=C3=89cole et Observatoire des Sciences de la Terre)=20 ITE (Institut Terre & Environnement) | alain.cochard@unistra.fr 5 rue Ren=C3=A9 Descartes [bureau 110] | Phone: +33 (0)3 68 85 50 44= =20 F-67084 Strasbourg Cedex, France | [ slot available for rent ]