emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Heiko Schmidt <Heiko.Schmidt@webbedtables.de>
To: emacs-orgmode@gnu.org
Subject: ob-calc duplicate stack-element issue
Date: Sun, 15 Mar 2020 11:46:29 +0100	[thread overview]
Message-ID: <9eed12f5-face-eb4f-4006-e8ee7890e0a9@webbedtables.de> (raw)

Hi there,

the following org snippet is describing my issue.

Thanks in advance,
Heiko

* TODO post problem report about ob-calc duplicate stack-element issue
     :LOGBOOK:
     - State "TODO"       from              [2020-03-15 Sun 09:19]
     :END:

- I want to use ob-calc to do some "literate calculation" with the
   purpose to document what I thought at the time I wrote it.

- problem: When evaluating the calc snippets the top of stack element
   is dropped. Because every "begin/end_src calc" block drops the top
   of stack, one can't reuse the result in following blocks.

- although without expecting any effect here is some version
   information:

     - emacs version: GNU Emacs 24.4.1 (x86_64-pc-linux-gnu, GTK+ Version
     3.14.5) of 2017-09-12 on hullmann, modified by Debian

     - org-version:   9.2

** what I'd like to be able

Number of cars (PKW) in germany:

#+begin_src calc :exports both
45e6
#+end_src

#+RESULTS:
: 45000000.

Yearly mileage in [km/y]

#+begin_src calc :exports both
15000
#+end_src

#+RESULTS:
: 15000

Calculate amount of complete km per year

#+begin_src calc :exports both
'*
#+end_src

#+RESULTS:
: 675000000000.

** the problem I'm facing and the nearly working work-around

- problem: babel removes the resulting top stack element from the
   stack

- tried solution: duplicate the last stack-element on evaluation with
   "' " (emulate <space> press to duplicate the top element of the
   stack in calc)

- side effect: I normally delete trailing whitespace in my files - so
   entering "' " is a dangerous workaround

- I tried to local-set-key the § key to calc-enter which I thought
   should enable a command "'§" to duplicate the top of stack. On
   evaluation this resulted in an error "byte-code: Wrong type
   argument: number-or-marker-p, nil"


Number of cars (PKW) in germany:

#+begin_src calc :exports both
45e6
'<space>
#+end_src

#+RESULTS:
: 45000000.

Yearly mileage in [km/y]

#+begin_src calc :exports both
15000
'<space>
#+end_src

#+RESULTS:
: 15000

Calculate amount of complete km per year

#+begin_src calc :exports both
'*
'<space>
#+end_src

#+RESULTS:
: 675000000000.

** hope for a solution or work around from the community

- preferred: Is there a way to leave the top of stack from one snippet
   to the next (which I don't know)?
- alternative: Is there a way to duplicate the top of stack element
   between begin/end_src calc blocks?
- any advice is appreciated.

             reply	other threads:[~2020-03-15 10:46 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-15 10:46 Heiko Schmidt [this message]
2020-03-15 12:06 ` ob-calc duplicate stack-element issue Eric S Fraga
2020-03-15 15:08   ` Heiko Schmidt
2020-03-18 14:47 ` Marco Wahl
2020-03-18 15:50   ` Eric S Fraga
2020-03-18 16:23     ` Marco Wahl
2020-03-18 16:41       ` Eric S Fraga
2020-04-06  4:39     ` Heiko Schmidt
2020-04-06  4:16   ` Heiko Schmidt

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=9eed12f5-face-eb4f-4006-e8ee7890e0a9@webbedtables.de \
    --to=heiko.schmidt@webbedtables.de \
    --cc=emacs-orgmode@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).