emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Greg Minshall <minshall@umich.edu>
To: emacs-orgmode@gnu.org
Subject: Bug: Code block returned no value [9.1.9 (release_9.1.9-65-g5e4542 @ /usr/share/emacs/26.3/lisp/org/)]
Date: Sun, 03 May 2020 07:27:04 -0700	[thread overview]
Message-ID: <2449663.1588516024@apollo2.minshall.org> (raw)

hi.  i'm running R code from an org mode file.  i was having a problem
where a code block that *was* returning a value result was not returning
the results into the buffer.

(after long head-scratching) this appears to be because my code was
returning more lines of results than org-table-convert-region-max-lines.

but, i was *not* seeing any error message, nothing to indicate to me why
i was getting no results.  in the test program below, when trying to
return more than 1000 lines, one sees, in the echo area, "Code block
returned no value".  if you go to *Messages*, there you can see an error
message.

i think somehow org/babel should make sure the user sees what limitation
s/he is running into.

the test block below, 'FailsIfnGT999', if run with n <= 999, will return
a table of that many lines.  if run with n > 999, (for me, invoking
"emacs -Q"), you will get empty results, with the message "Code block
returned no value" (which is false, but the interactions between R code,
R, ess, babel, org, etc., are a bit mysterious to the semi-initiated) in
the echo area.

(not invoking via 'emacs -Q', i am running
----
Package: Org mode version 9.3.6 (9.3.6-43-gc77edd-elpa @
/home/minshall/.emacs.d/elpa/org-20200413/)
----
but the results are the same; i'm submitting the bug report from 9.3.6,
but edited the Subject line with the header from an attempt to submit
from 9.1.9.)

cheers, Greg

>>>>
run this first to get R enabled
#+BEGIN_SRC emacs-lisp :results none
  (org-babel-do-load-languages
   'org-babel-load-languages
      '((R . t)))
#+END_SRC

then, run =FailsIfnGT999= first with =n= set to =100=.  notice there
are results.  then, run =FailsIfnGT999= with =n= set to, e.g., 1100.
notice there are *no* results, and the message area at the bottom of
the screen says
: Code block returned no value

now, if you go to the *Messages* buffer, you *will* see the error message, i.e.,
: Error reading results: (user-error Region is longer than ‘org-table-convert-region-max-lines’ (999) lines; not converting)

#+name: FailsIfnGT999
#+begin_src R :results value table :var n=100
result <- data.frame()
for (i in 1:n) {
  result <- rbind(result, data.frame(a=i,b=i+1))
}
result
#+end_src
>>>>

Emacs  : GNU Emacs 26.3 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.10)
 of 2019-08-29
Package: Org mode version 9.1.9 (release_9.1.9-65-g5e4542 @ /usr/share/emacs/26.3/lisp/org/)


             reply	other threads:[~2020-05-03 14:27 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-03 14:27 Greg Minshall [this message]
2020-05-21  4:16 ` [PATCH] ob-core: Display warning on failure to read results Kyle Meyer
2020-05-21 21:55   ` Greg Minshall
2020-05-24 16:04   ` Kyle Meyer

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=2449663.1588516024@apollo2.minshall.org \
    --to=minshall@umich.edu \
    --cc=emacs-orgmode@gnu.org \
    --subject='Re: Bug: Code block returned no value [9.1.9 (release_9.1.9-65-g5e4542 @ /usr/share/emacs/26.3/lisp/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

Code repositories for project(s) associated with this 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 NNTP newsgroup(s).