emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Dan Davison <dandavison7@gmail.com>
To: Chris Maier <christopher.maier@gmail.com>
Cc: emacs-orgmode <emacs-orgmode@gnu.org>
Subject: Re: [BABEL] Editing dot blocks with org-exp-blocks
Date: Wed, 09 Feb 2011 16:14:41 +0000	[thread overview]
Message-ID: <m1ipwtuqvi.fsf@gmail.com> (raw)
In-Reply-To: <AANLkTi=06TBLxu=AXvEL_FSmLvCjdFOXH+cWRhnb5S6H@mail.gmail.com> (Chris Maier's message of "Wed, 9 Feb 2011 10:39:01 -0500")

Chris Maier <christopher.maier@gmail.com> writes:

> I fixed my problem... had to dig around in the source of ob-dot.el,
> though, since it doesn't appear to be on the website [1].  There are
> some additional undocumented header parameters that ob-dot adds to the
> standard Babel params.
>
> With org-exp-blocks you do this:
>
> #+begin_dot foo.png -Tpng
> ... dot code ...
> #+end_dot
>
> With plain old Babel, you do this:
>
> #+begin_src dot :file foo.png :cmdline -Tpng
> ... dot code ...
> #+end_src
>
> Knowing this now, I'd argue for deprecating org-exp-blocks, too.
>
> Now my question changes slightly.  With the src block configured as
> above, I can export and execute the code fine, but when I type C-c '
> to edit the Dot code in a separate buffer, it goes into fundamental
> mode, even though I have graphviz-dot-mode [2] installed and working
> fine.  I suspect it might be because it's called "graphviz-dot-mode"
> instead of just "dot-mode" (that's just speculation on my part,
> though).
>
> Is there a way to explicitly associate an major mode with a particular
> kind of language block?

Hi Chris,

Yes, see the variable org-src-lang-modes. Use customize, or something
like this:

#+begin_src emacs-lisp
(aput 'org-src-lang-modes "dot" 'graphviz-dot)
#+end_src

(Elisp question: I can't remember why we don't use aput in org-mode?
What's the idiomatic org way of doing that?

This

#+begin_src emacs-lisp
(setq org-src-lang-modes
      (append '(("dot" . graphviz-dot))
              (delq (assoc "dot" org-src-lang-modes)
                    org-src-lang-modes)))
#+end_src

doesn't work if there's already more than one entry for "dot")

Dan

>
> Thanks,
> Chris
>
> [1] http://orgmode.org/worg/org-contrib/babel/languages.html
> [2] http://users.skynet.be/ppareit/projects/graphviz-dot-mode/graphviz-dot-mode.html
>
> On Wed, Feb 9, 2011 at 10:14 AM, Dan Davison <dandavison7@gmail.com> wrote:
>> Eric S Fraga <e.fraga@ucl.ac.uk> writes:
>>
>>> Chris Maier <christopher.maier@gmail.com> writes:
>>>
>>>> The begin_dot is part of org-exp-blocks, as I understand it, and
>>>> appears required to make it evaluate the Dot code, create the image
>>>> file, and then incorporate that into the exported document (LaTeX,
>>>> HTML, etc.)
>>>>
>>>> Thanks,
>>>> Chris
>>>>
>>>> On Wed, Feb 9, 2011 at 3:56 AM, Eric S Fraga <e.fraga@ucl.ac.uk> wrote:
>>>>> Chris Maier <christopher.maier@gmail.com> writes:
>>>>>
>>>>>> In "normal" Org code blocks (e.g. #+begin_src clojure .... #+end_src)
>>>>>> it's possible to hit C-c ' and edit the block code in a separate
>>>>>> buffer with the appropriate mode.  This doesn't appear to work when
>>>>>> using org-exp-blocks to edit a "begin_dot" block.
>>>>>>
>>>>>> Is there a command to do this?
>>>>>
>>>>> No idea but what about using #+begin_src dot ... #+end_src?
>>>>> --
>>>>> : Eric S Fraga (GnuPG: 0xC89193D8FFFCF67D) in Emacs 24.0.50.1
>>>>> : using Org-mode version 7.4 (release_7.4.324.gca7a)
>>>>>
>>>
>>> Yes, I know; I used to use begin_dot and begin_ditaa quite a bit.  My
>>> understanding is that babel knows about dot and therefore provides the
>>> same functionality, albeit in a different way,
>>
>> I vote for removing / deprecating the dot and ditaa functionality of
>> org-exp-blocks.
>>
>>
>>> possibly more confusing
>>> but definitely more customisable and hence more powerful.  babel gives
>>> you access to features such as fontification, mode specific editing,
>>> caching.
>>>
>>> I am not sure what the intended long term development for these special
>>> export blocks might be?  org's long term growth (development of
>>> features) is organic and responsive, not planned per se (and I mean this
>>> in a positive way as planned software projects seldom achieve their
>>> goals...)  so it may be that nobody can answer this question!
>>>
>>> In any case, I didn't mean to imply that you cannot continue using these
>>> specific export blocks or that they don't do the job they were intended
>>> for.  Simply that maybe babel is the route to go if you want to be able
>>> to use mode specific editing.
>>
>
> _______________________________________________
> Emacs-orgmode mailing list
> Please use `Reply All' to send replies to the list.
> Emacs-orgmode@gnu.org
> http://lists.gnu.org/mailman/listinfo/emacs-orgmode

  reply	other threads:[~2011-02-09 16:14 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-02-09  3:50 [BABEL] Editing dot blocks with org-exp-blocks Chris Maier
2011-02-09  8:56 ` Eric S Fraga
2011-02-09 13:31   ` Chris Maier
2011-02-09 14:10     ` Eric S Fraga
2011-02-09 15:14       ` Dan Davison
2011-02-09 15:39         ` Chris Maier
2011-02-09 16:14           ` Dan Davison [this message]
2011-02-10  2:05             ` Chris Maier
2011-02-10  1:05         ` Eric Schulte
2011-02-10 10:05           ` Eric S Fraga
2011-02-10 17:02             ` Eric Schulte
2011-02-09  8:58 ` Sébastien Vauban

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=m1ipwtuqvi.fsf@gmail.com \
    --to=dandavison7@gmail.com \
    --cc=christopher.maier@gmail.com \
    --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).