From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nick Dokos Subject: Re: Bug or not a bug? dot expansion in ob-shell Date: Thu, 20 Feb 2020 15:37:42 -0500 Message-ID: <877e0h571l.fsf@alphaville.usersys.redhat.com> References: <87eeur3p1p.fsf@ucl.ac.uk> <87a75eap8k.fsf@gnu.org> <87y2sy3kkl.fsf@ucl.ac.uk> <87r1yq4xiz.fsf@gnu.org> <875zg2kcy0.fsf@ucl.ac.uk> <87h7zmiw0v.fsf@gmail.com> <871rqqag19.fsf@bzg.fr> <87wo8iitzz.fsf@ucl.ac.uk> <87ftf63d79.fsf@gnu.org> <87pnear7tl.fsf@ucl.ac.uk> <87v9o236v1.fsf@gnu.org> <8736b66z6t.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Return-path: Received: from eggs.gnu.org ([2001:470:142:3::10]:42731) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j4sa0-00089R-1B for emacs-orgmode@gnu.org; Thu, 20 Feb 2020 15:37:53 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j4sZy-0007wm-W1 for emacs-orgmode@gnu.org; Thu, 20 Feb 2020 15:37:51 -0500 Received: from ciao.gmane.io ([159.69.161.202]:49836) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1j4sZy-0007wR-Py for emacs-orgmode@gnu.org; Thu, 20 Feb 2020 15:37:50 -0500 Received: from list by ciao.gmane.io with local (Exim 4.92) (envelope-from ) id 1j4sZx-0002gp-Ba for emacs-orgmode@gnu.org; Thu, 20 Feb 2020 21:37:49 +0100 List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane-mx.org@gnu.org Sender: "Emacs-orgmode" To: emacs-orgmode@gnu.org Hi Bastien, Bastien writes: > Hi Diego, > > Diego Zamboni writes: > >> I'm late to the discussion so I apologize in advance, but this fix >> seems counterintuitive to me. In my mind, for any shell code: >> >> - Return value: exit code of the last command >> - Output: whatever the commands print > > Yes, that's what is *now* possible if you set > ob-shell-return-value-is-exit-status to t. > > Unless I miss something, it was not possible before today. > > #+begin_src shell > echo Hello! > #+end_src > > would simply return "Hello!" as a return. > > No exit code was *never* output. > >> So to me, it's intuitive that =:exports value= would return the exit >> code of the last command, and =:exports output= would produce the >> output of the commands. I don't understand why a new option is >> needed. > > ... because it was not the case before. Or maybe *I* miss something. > > Can you show me something that was working before and that is not > anymore? > > Thanks, I welcome the fix but not the option: the option situation in Org mode was pretty horrible, then ca 2010, you did a survey and some options were eliminated (not sure about the year or whether it *was* you who did the survey, but I'm pretty sure there was one): that was the right direction to go, but it wasn't enough. Org mode needs to be put into an option diet, so adding another one here (and a rather gratuitous one in my view) is not the way to go. `:results value' should *always* produce the value of the last expression, which for shell programs is the exit status of the last command. `:results output' should *always* produce all of the output of the program. An argument can be made that `:results value' is the default, but it is the less useful option for shell programs. So maybe for shell blocks, make the default to be `:results output' instead: people get what they always got before the fix without lifting a finger, the exit status is now available with `:results value', and the option can go away quietly and quickly, before it becomes another contributor to the Org mode technical debt. -- Nick "There are only two hard problems in computer science: cache invalidation, naming things, and off-by-one errors." -Martin Fowler