* Export Dispatcher Insert Template Not Working?
@ 2014-01-31 16:50 Soapy Smith
2014-01-31 17:04 ` Bastien
` (2 more replies)
0 siblings, 3 replies; 12+ messages in thread
From: Soapy Smith @ 2014-01-31 16:50 UTC (permalink / raw)
To: emacs-orgmode
Hello, I'm having trouble with the export dispatcher not inserting a
template. I'm not sure I'm entering the commands correctly. I am
attempting to insert the template for LaTeX.
Here are the 2 different attempts which fail:
C-c C-e (successfully opens the dispatcher buffer)
l # l ret
In mini-buffer: "Wrong type argument: arrayp, nil"
or
# l ret
Same error in mini-buffer: "Wrong type argument: arrayp, nil"
Am I entering the commands incorrectly?
Regards,
Greg
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Export Dispatcher Insert Template Not Working?
2014-01-31 16:50 Export Dispatcher Insert Template Not Working? Soapy Smith
@ 2014-01-31 17:04 ` Bastien
2014-01-31 21:05 ` Soapy Smith
2014-01-31 21:24 ` Python Code Block error with header option :results output Soapy Smith
2014-01-31 21:45 ` Code block option :results raw does not replace #+RESULTS Soapy Smith
2 siblings, 1 reply; 12+ messages in thread
From: Bastien @ 2014-01-31 17:04 UTC (permalink / raw)
To: Soapy Smith; +Cc: emacs-orgmode
Hi Greg,
Soapy Smith <soapy-smith@comcast.net> writes:
> Hello, I'm having trouble with the export dispatcher not inserting a
> template. I'm not sure I'm entering the commands correctly. I am
> attempting to insert the template for LaTeX.
>
>
> Here are the 2 different attempts which fail:
>
> C-c C-e (successfully opens the dispatcher buffer)
>
> l # l ret
You need
l # l TAB RET
I push a change in master which make
l # l RET
work now.
Let me know,
--
Bastien
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Export Dispatcher Insert Template Not Working?
2014-01-31 17:04 ` Bastien
@ 2014-01-31 21:05 ` Soapy Smith
0 siblings, 0 replies; 12+ messages in thread
From: Soapy Smith @ 2014-01-31 21:05 UTC (permalink / raw)
To: Bastien; +Cc: emacs-orgmode
Thank you Bastien, the change is confirmed working!
Regards,
Greg
On Fri, 2014-01-31 at 18:04 +0100, Bastien wrote:
> Hi Greg,
>
> Soapy Smith <soapy-smith@comcast.net> writes:
>
> > Hello, I'm having trouble with the export dispatcher not inserting a
> > template. I'm not sure I'm entering the commands correctly. I am
> > attempting to insert the template for LaTeX.
> >
> >
> > Here are the 2 different attempts which fail:
> >
> > C-c C-e (successfully opens the dispatcher buffer)
> >
> > l # l ret
>
> You need
>
> l # l TAB RET
>
> I push a change in master which make
>
> l # l RET
>
> work now.
>
> Let me know,
>
^ permalink raw reply [flat|nested] 12+ messages in thread
* Python Code Block error with header option :results output
2014-01-31 16:50 Export Dispatcher Insert Template Not Working? Soapy Smith
2014-01-31 17:04 ` Bastien
@ 2014-01-31 21:24 ` Soapy Smith
2014-01-31 21:33 ` Ahmadou Dicko
2014-01-31 21:33 ` Eric Schulte
2014-01-31 21:45 ` Code block option :results raw does not replace #+RESULTS Soapy Smith
2 siblings, 2 replies; 12+ messages in thread
From: Soapy Smith @ 2014-01-31 21:24 UTC (permalink / raw)
To: emacs-orgmode
Hello-
I am not a user of Python (yet). During a comparison of code block
behavior between Clojure and Python, I discovered a possible Python
error.
Here is the code block:
#+begin_src python :results output
a = (1, 2, 3, 4)
return a
#+end_src
The evaluation of this block results in this error:
File "<stdin>", line 2
SyntaxError: 'return' outside function
Could someone please comment if this is expected Python behavior?
I am using org 8.2.4.
Regards,
Greg
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Python Code Block error with header option :results output
2014-01-31 21:24 ` Python Code Block error with header option :results output Soapy Smith
@ 2014-01-31 21:33 ` Ahmadou Dicko
2014-01-31 21:33 ` Eric Schulte
1 sibling, 0 replies; 12+ messages in thread
From: Ahmadou Dicko @ 2014-01-31 21:33 UTC (permalink / raw)
To: Soapy Smith; +Cc: emacs-orgmode
[-- Attachment #1: Type: text/plain, Size: 1401 bytes --]
I'm not a Python expert too but I don't that return statement can be used
as is on the fly.
So, yes is the expected behavior of Python
Try instead
#+begin_src python :results output
a = (1, 2, 3, 4)
print(a)
#+end_src
#+RESULTS:
: (1, 2, 3, 4)
On Fri, Jan 31, 2014 at 9:24 PM, Soapy Smith <soapy-smith@comcast.net>wrote:
> Hello-
>
> I am not a user of Python (yet). During a comparison of code block
> behavior between Clojure and Python, I discovered a possible Python
> error.
>
> Here is the code block:
>
> #+begin_src python :results output
> a = (1, 2, 3, 4)
> return a
> #+end_src
>
> The evaluation of this block results in this error:
>
> File "<stdin>", line 2
> SyntaxError: 'return' outside function
>
> Could someone please comment if this is expected Python behavior?
>
> I am using org 8.2.4.
>
> Regards,
> Greg
>
>
>
--
Ahmadou H. DICKO
statistician economist (Ingénieur Statisticien Économiste)
PhD candidate in Climate change economics
Faculty of economics and managment - Cheikh Anta Diop University
West African Science Service Center on Climate Change and Adaptated Land
Use (WASCAL)
Center for Development Research (ZEF) - University of Bonn
email : ahmadou.dicko@ucad.edu.sn
twitter : @dickoah
github : github/dickoa <https://github.com/dickoa>
tel : +221 33 827 55 16
portable: +221 77 123 81 69
[-- Attachment #2: Type: text/html, Size: 2001 bytes --]
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Python Code Block error with header option :results output
2014-01-31 21:24 ` Python Code Block error with header option :results output Soapy Smith
2014-01-31 21:33 ` Ahmadou Dicko
@ 2014-01-31 21:33 ` Eric Schulte
2014-02-01 6:56 ` Christian Moe
1 sibling, 1 reply; 12+ messages in thread
From: Eric Schulte @ 2014-01-31 21:33 UTC (permalink / raw)
To: Soapy Smith; +Cc: emacs-orgmode
Soapy Smith <soapy-smith@comcast.net> writes:
> Hello-
>
> I am not a user of Python (yet). During a comparison of code block
> behavior between Clojure and Python, I discovered a possible Python
> error.
>
> Here is the code block:
>
> #+begin_src python :results output
> a = (1, 2, 3, 4)
> return a
> #+end_src
>
> The evaluation of this block results in this error:
>
> File "<stdin>", line 2
> SyntaxError: 'return' outside function
>
> Could someone please comment if this is expected Python behavior?
>
You should only use "return" like that in a python code block when you
have ":results value".
>
> I am using org 8.2.4.
>
> Regards,
> Greg
>
>
--
Eric Schulte
https://cs.unm.edu/~eschulte
PGP: 0x614CA05D
^ permalink raw reply [flat|nested] 12+ messages in thread
* Code block option :results raw does not replace #+RESULTS
2014-01-31 16:50 Export Dispatcher Insert Template Not Working? Soapy Smith
2014-01-31 17:04 ` Bastien
2014-01-31 21:24 ` Python Code Block error with header option :results output Soapy Smith
@ 2014-01-31 21:45 ` Soapy Smith
2014-01-31 21:54 ` John Hendy
2014-01-31 23:16 ` Nick Dokos
2 siblings, 2 replies; 12+ messages in thread
From: Soapy Smith @ 2014-01-31 21:45 UTC (permalink / raw)
To: emacs-orgmode
Hello-
Here is an example Python code block:
#+begin_src python :results value raw
a = (1, 2, 3, 4)
return a
#+end_src
#+RESULTS:
(1, 2, 3, 4)
(1, 2, 3, 4)
The #+RESULT block above is after 2 evaluations.
The default behavior of "replace" is not happening. The result "stack"
will continue to grow with additional evaluations.
I also confirmed the same behavior with a Clojure code block.
Is this the expected behavior for this option?
Regards,
Greg
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Code block option :results raw does not replace #+RESULTS
2014-01-31 21:45 ` Code block option :results raw does not replace #+RESULTS Soapy Smith
@ 2014-01-31 21:54 ` John Hendy
2014-01-31 23:16 ` Nick Dokos
1 sibling, 0 replies; 12+ messages in thread
From: John Hendy @ 2014-01-31 21:54 UTC (permalink / raw)
To: Soapy Smith; +Cc: emacs-orgmode
On Fri, Jan 31, 2014 at 3:45 PM, Soapy Smith <soapy-smith@comcast.net> wrote:
> Hello-
>
> Here is an example Python code block:
>
> #+begin_src python :results value raw
> a = (1, 2, 3, 4)
> return a
> #+end_src
>
> #+RESULTS:
> (1, 2, 3, 4)
> (1, 2, 3, 4)
>
> The #+RESULT block above is after 2 evaluations.
> The default behavior of "replace" is not happening. The result "stack"
> will continue to grow with additional evaluations.
>
I was going to suggest using a #+name line above #+begin_src... but
with :results value raw, I was getting the same behavior.
With :results output, it works properly when I replace =return a= with
=print(a)=. Does =output= not work for you, requiring =value raw= (at
least thinking it could help you in the immediate future). Someone
else will need to chime in on the behavior of =value raw=
#+begin_src python :results output
a = (1, 2, 3, 4)
print(a)
#+end_src
#+RESULTS:
: (1, 2, 3, 4)
I can C-c C-c on that block repeatedly and it does not grow.
John
John
> I also confirmed the same behavior with a Clojure code block.
>
> Is this the expected behavior for this option?
>
> Regards,
> Greg
>
>
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Code block option :results raw does not replace #+RESULTS
2014-01-31 21:45 ` Code block option :results raw does not replace #+RESULTS Soapy Smith
2014-01-31 21:54 ` John Hendy
@ 2014-01-31 23:16 ` Nick Dokos
2014-02-01 12:01 ` Soapy Smith
1 sibling, 1 reply; 12+ messages in thread
From: Nick Dokos @ 2014-01-31 23:16 UTC (permalink / raw)
To: emacs-orgmode
Soapy Smith <soapy-smith@comcast.net> writes:
> Hello-
>
> Here is an example Python code block:
>
> #+begin_src python :results value raw
> a = (1, 2, 3, 4)
> return a
> #+end_src
>
> #+RESULTS:
> (1, 2, 3, 4)
> (1, 2, 3, 4)
>
> The #+RESULT block above is after 2 evaluations.
> The default behavior of "replace" is not happening. The result "stack"
> will continue to grow with additional evaluations.
>
> I also confirmed the same behavior with a Clojure code block.
>
> Is this the expected behavior for this option?
>
Yes - raw does not keep track of where the results begin and end and
cannot erase the old ones before adding the new ones. Try
calling org-babel-remove-result: you'll see that it gets rid of the
#+RESULTS: line but it doesn't touch the actual results. Once it has
inserted them, they become part of the buffer, outside the jurisdiction
of the code block/babel.
Nick
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Python Code Block error with header option :results output
2014-01-31 21:33 ` Eric Schulte
@ 2014-02-01 6:56 ` Christian Moe
2014-02-01 12:34 ` Soapy Smith
0 siblings, 1 reply; 12+ messages in thread
From: Christian Moe @ 2014-02-01 6:56 UTC (permalink / raw)
To: Eric Schulte; +Cc: Soapy Smith, emacs-orgmode
Eric Schulte writes:
> Soapy Smith <soapy-smith@comcast.net> writes:
>
>> Hello-
>>
>> I am not a user of Python (yet). During a comparison of code block
>> behavior between Clojure and Python, I discovered a possible Python
>> error.
>>
>> Here is the code block:
>>
>> #+begin_src python :results output
>> a = (1, 2, 3, 4)
>> return a
>> #+end_src
>>
>> The evaluation of this block results in this error:
>>
>> File "<stdin>", line 2
>> SyntaxError: 'return' outside function
>>
>> Could someone please comment if this is expected Python behavior?
>>
>
> You should only use "return" like that in a python code block when you
> have ":results value".
To expand briefly on that (since this can be perplexing):
The need to use `return' at all when returning the value is a special
quirk of Python code blocks, and does not apply to (any?) other languages.
As explained on Worg, with `:results value' (the default),
"Internally, the value is obtained by wrapping the code in a function
definition in the external language, and evaluating that
function. Therefore, code should be written as if it were the body of
such a function. In particular, note that Python does not automatically
return a value from a function unless a return statement is present, and
so a ‘return’ statement will usually be required in Python."
http://orgmode.org/manual/Results-of-evaluation.html
So when using `:results output', using `return' causes an error
because there is no function to return anything from.
Yours,
Christian
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Code block option :results raw does not replace #+RESULTS
2014-01-31 23:16 ` Nick Dokos
@ 2014-02-01 12:01 ` Soapy Smith
0 siblings, 0 replies; 12+ messages in thread
From: Soapy Smith @ 2014-02-01 12:01 UTC (permalink / raw)
To: Nick Dokos; +Cc: emacs-orgmode
On Fri, 2014-01-31 at 18:16 -0500, Nick Dokos wrote:
> > Is this the expected behavior for this option?
> >
>
> Yes - raw does not keep track of where the results begin and end and
> cannot erase the old ones before adding the new ones. Try
> calling org-babel-remove-result: you'll see that it gets rid of the
> #+RESULTS: line but it doesn't touch the actual results. Once it has
> inserted them, they become part of the buffer, outside the jurisdiction
> of the code block/babel.
>
> Nick
That makes sense as I don't see the #RESULTS: line repeated.
I'm adding that to my notes. Thank you for the explanation!
Regards,
Greg
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Python Code Block error with header option :results output
2014-02-01 6:56 ` Christian Moe
@ 2014-02-01 12:34 ` Soapy Smith
0 siblings, 0 replies; 12+ messages in thread
From: Soapy Smith @ 2014-02-01 12:34 UTC (permalink / raw)
To: Christian Moe; +Cc: emacs-orgmode, Eric Schulte
On Sat, 2014-02-01 at 07:56 +0100, Christian Moe wrote:
> > You should only use "return" like that in a python code block when you
> > have ":results value".
>
> To expand briefly on that (since this can be perplexing):
>
> The need to use `return' at all when returning the value is a special
> quirk of Python code blocks, and does not apply to (any?) other languages.
>
> As explained on Worg, with `:results value' (the default),
>
> "Internally, the value is obtained by wrapping the code in a function
> definition in the external language, and evaluating that
> function. Therefore, code should be written as if it were the body of
> such a function. In particular, note that Python does not automatically
> return a value from a function unless a return statement is present, and
> so a ‘return’ statement will usually be required in Python."
>
> http://orgmode.org/manual/Results-of-evaluation.html
>
> So when using `:results output', using `return' causes an error
> because there is no function to return anything from.
>
> Yours,
> Christian
Thank you Christian for the detailed explanation. It is indeed
perplexing at first!
Regards,
Greg
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2014-02-01 12:35 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-01-31 16:50 Export Dispatcher Insert Template Not Working? Soapy Smith
2014-01-31 17:04 ` Bastien
2014-01-31 21:05 ` Soapy Smith
2014-01-31 21:24 ` Python Code Block error with header option :results output Soapy Smith
2014-01-31 21:33 ` Ahmadou Dicko
2014-01-31 21:33 ` Eric Schulte
2014-02-01 6:56 ` Christian Moe
2014-02-01 12:34 ` Soapy Smith
2014-01-31 21:45 ` Code block option :results raw does not replace #+RESULTS Soapy Smith
2014-01-31 21:54 ` John Hendy
2014-01-31 23:16 ` Nick Dokos
2014-02-01 12:01 ` Soapy Smith
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).