emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* [babel] Should babel be more error intolerant?
@ 2011-10-08 15:32 Torsten Wagner
  2011-10-08 17:23 ` Eric Schulte
  0 siblings, 1 reply; 4+ messages in thread
From: Torsten Wagner @ 2011-10-08 15:32 UTC (permalink / raw)
  To: Org Mode Mailing List

Hi,

just playing around with a new aspect of org-mode and babel, I
noticed, that many of my typos and wrong syntax using are silently
accepted resp. ignored.
Even the message buffer keeps quite.
I just wonder if babel should be more error intolerant to tell users
that they are actually doing something wrong.
E.g., I don't see any error messages for (marked the typo by *):


#+begin_src latex :file*s* fig/mypicture.pdf :packages '(("" "tikz"))
:border 1em :fit  :results output silent
or
#+begin_src latex :file fig/mypicture.pdf :packages '(("" "tikz"))
:border 1em :fit  :*result* output silent
or
#+begin_src latex :file fig/mypicture.pdf :packages '(("" "tikz"))
:border 1em :fit  :results output *quite*

obviously the above errors might happen quickly just as typos or
because one tries to use commands from memory.

Trying something new, this might drive someone quickly crazy. One is
going to tackle the problem in many different ways and finally after
several minutes (or even hours) one notice its simply "silent" and not
"quite" ;)

I would prefer a bold
Error ":results output quite" is unknown to babel
in the minibuffer, maybe including jumping to the line in question.
Others might like to keep it quite (or silent), I guess it could be
easily set by an optional flag
like #+BABEL:debug:t

As a side note of this, I wonder if babel could use the same/similar
way like the TODO field in org-mode to switch between all possible
parameters for a certain code block?
I learned, different code blocks can have quite different possible
parameters. A bit difficult to remember esp., if you don't use them on
a daily basis.
If one could place the pointer to e.g., the :results keyword and hit
C-c C-t to switch between all possibilities for the :exports keyword
for this particular source code block, it would greatly simply the
usage and reduce errors. Parameters which require additional user
input like file names could indicate this (like in the manual) by
indicating it within brackets e.g., <filename>.

Thanks for all the help and support

Torsten

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [babel] Should babel be more error intolerant?
  2011-10-08 15:32 [babel] Should babel be more error intolerant? Torsten Wagner
@ 2011-10-08 17:23 ` Eric Schulte
  2011-10-08 22:47   ` Eric Schulte
  0 siblings, 1 reply; 4+ messages in thread
From: Eric Schulte @ 2011-10-08 17:23 UTC (permalink / raw)
  To: Torsten Wagner; +Cc: Org Mode Mailing List

Torsten Wagner <torsten.wagner@gmail.com> writes:

> Hi,
>
> just playing around with a new aspect of org-mode and babel, I
> noticed, that many of my typos and wrong syntax using are silently
> accepted resp. ignored.
> Even the message buffer keeps quite.
> I just wonder if babel should be more error intolerant to tell users
> that they are actually doing something wrong.
> E.g., I don't see any error messages for (marked the typo by *):
>
>
> #+begin_src latex :file*s* fig/mypicture.pdf :packages '(("" "tikz"))
> :border 1em :fit  :results output silent
> or
> #+begin_src latex :file fig/mypicture.pdf :packages '(("" "tikz"))
> :border 1em :fit  :*result* output silent
> or
> #+begin_src latex :file fig/mypicture.pdf :packages '(("" "tikz"))
> :border 1em :fit  :results output *quite*
>
> obviously the above errors might happen quickly just as typos or
> because one tries to use commands from memory.
>
> Trying something new, this might drive someone quickly crazy. One is
> going to tackle the problem in many different ways and finally after
> several minutes (or even hours) one notice its simply "silent" and not
> "quite" ;)
>

There are no disallowed header arguments, and language is free to add
its own arbitrary new header arguments so it is not possible to raise
warnings on unknown header arguments.  There is however a helper
function which will inspect header arguments bound to C-c v c.  This may
prove useful if you get into the habit of using it as your first step in
debugging code blocks.

>
> I would prefer a bold
> Error ":results output quite" is unknown to babel
> in the minibuffer, maybe including jumping to the line in question.
> Others might like to keep it quite (or silent), I guess it could be
> easily set by an optional flag
> like #+BABEL:debug:t
>
> As a side note of this, I wonder if babel could use the same/similar
> way like the TODO field in org-mode to switch between all possible
> parameters for a certain code block?
> I learned, different code blocks can have quite different possible
> parameters. A bit difficult to remember esp., if you don't use them on
> a daily basis.
> If one could place the pointer to e.g., the :results keyword and hit
> C-c C-t to switch between all possibilities for the :exports keyword
> for this particular source code block, it would greatly simply the
> usage and reduce errors. Parameters which require additional user
> input like file names could indicate this (like in the manual) by
> indicating it within brackets e.g., <filename>.
>

This is a very good idea and shouldn't be too difficult to implement for
all of those header arguments which are common across all languages.
I'll place this on my todo list...

Best -- Eric

>
> Thanks for all the help and support
>
> Torsten
>

-- 
Eric Schulte
http://cs.unm.edu/~eschulte/

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [babel] Should babel be more error intolerant?
  2011-10-08 17:23 ` Eric Schulte
@ 2011-10-08 22:47   ` Eric Schulte
  2011-10-10  9:02     ` Rainer M Krug
  0 siblings, 1 reply; 4+ messages in thread
From: Eric Schulte @ 2011-10-08 22:47 UTC (permalink / raw)
  To: Torsten Wagner; +Cc: Org Mode Mailing List

>>
>> As a side note of this, I wonder if babel could use the same/similar
>>way like the TODO field in org-mode to switch between all possible
>>parameters for a certain code block?  I learned, different code blocks
>>can have quite different possible parameters. A bit difficult to
>>remember esp., if you don't use them on a daily basis.  If one could
>>place the pointer to e.g., the :results keyword and hit C-c C-t to
>>switch between all possibilities for the :exports keyword for this
>>particular source code block, it would greatly simply the usage and
>>reduce errors. Parameters which require additional user input like
>>file names could indicate this (like in the manual) by indicating it
>>within brackets e.g., <filename>.
>>
>
> This is a very good idea and shouldn't be too difficult to implement for
> all of those header arguments which are common across all languages.
> I'll place this on my todo list...
>

I've just pushed up a simple implementation of the above.  The new
function `org-babel-insert-header-arg' bound to C-c C-v j will insert a
header argument and its value using completing read in the minibuffer.

I'm sure the current functionality has room for improvement but it seems
to work well in my initial tests.

Let me know what you think.

Best -- Eric

-- 
Eric Schulte
http://cs.unm.edu/~eschulte/

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [babel] Should babel be more error intolerant?
  2011-10-08 22:47   ` Eric Schulte
@ 2011-10-10  9:02     ` Rainer M Krug
  0 siblings, 0 replies; 4+ messages in thread
From: Rainer M Krug @ 2011-10-10  9:02 UTC (permalink / raw)
  To: Eric Schulte; +Cc: Org Mode Mailing List

[-- Attachment #1: Type: text/plain, Size: 1986 bytes --]

On Sun, Oct 9, 2011 at 12:47 AM, Eric Schulte <schulte.eric@gmail.com>wrote:

> >>
> >> As a side note of this, I wonder if babel could use the same/similar
> >>way like the TODO field in org-mode to switch between all possible
> >>parameters for a certain code block?  I learned, different code blocks
> >>can have quite different possible parameters. A bit difficult to
> >>remember esp., if you don't use them on a daily basis.  If one could
> >>place the pointer to e.g., the :results keyword and hit C-c C-t to
> >>switch between all possibilities for the :exports keyword for this
> >>particular source code block, it would greatly simply the usage and
> >>reduce errors. Parameters which require additional user input like
> >>file names could indicate this (like in the manual) by indicating it
> >>within brackets e.g., <filename>.
> >>
> >
> > This is a very good idea and shouldn't be too difficult to implement for
> > all of those header arguments which are common across all languages.
> > I'll place this on my todo list...
> >
>
> I've just pushed up a simple implementation of the above.  The new
> function `org-babel-insert-header-arg' bound to C-c C-v j will insert a
> header argument and its value using completing read in the minibuffer.
>

Just looked into it briefly, and it looks brilliant. Will let you know if I
encounter problems.

Thanks,

Rainer



>
> I'm sure the current functionality has room for improvement but it seems
> to work well in my initial tests.
>
> Let me know what you think.
>
> Best -- Eric
>
> --
> Eric Schulte
> http://cs.unm.edu/~eschulte/
>
>


-- 
Rainer M. Krug, PhD (Conservation Ecology, SUN), MSc (Conservation Biology,
UCT), Dipl. Phys. (Germany)

Centre of Excellence for Invasion Biology
Stellenbosch University
South Africa

Tel :       +33 - (0)9 53 10 27 44
Cell:       +33 - (0)6 85 62 59 98
Fax (F):       +33 - (0)9 58 10 27 44

Fax (D):    +49 - (0)3 21 21 25 22 44

email:      Rainer@krugs.de

Skype:      RMkrug

[-- Attachment #2: Type: text/html, Size: 2885 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2011-10-10  9:02 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-10-08 15:32 [babel] Should babel be more error intolerant? Torsten Wagner
2011-10-08 17:23 ` Eric Schulte
2011-10-08 22:47   ` Eric Schulte
2011-10-10  9:02     ` Rainer M Krug

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 read-only IMAP folder(s) and NNTP newsgroup(s).