emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] [PATCH] ob-core: check argument to goto-char


From: Charles C. Berry
Subject: Re: [O] [PATCH] ob-core: check argument to goto-char
Date: Sat, 30 Apr 2016 14:15:43 -0700
User-agent: Alpine 2.20 (OSX 67 2015-01-07)

On Sat, 30 Apr 2016, Eike wrote:



Charles C. Berry <address@hidden> writes:

On Sat, 30 Apr 2016, Eike wrote:


Hi,


[much deleted]


What I want to do: I want to insert an org table somewhere in an org
buffer. The data is not from an src block but retrieved from somewhere
else. So I have a list like `(("id" "num") hline ("a" "1") ("b" "2"))'
and I'd like to put it in a buffer as an org table (the buffer is in
org-mode).


The easiest way to borrow babel tools is to use babel to execute src blocks directly. Here is a start. Run this src block to define a function
`insert-quoted-list-as-result':

#+BEGIN_SRC emacs-lisp
  (defun insert-quoted-list-as-result (my-list)
  (save-excursion
    (insert
     (format
      "#+BEGIN_SRC emacs-lisp\n '%S\n#+END_SRC\n\n" my-list))
    (let ((org-confirm-babel-evaluate nil))
      (org-babel-execute-src-block)))
    (delete-region (point)
                   (org-babel-where-is-src-block-result)))
#+END_SRC


Then put the next line in an *.org buffer and try it out by typing C-x C-e just below the line:

: (insert-quoted-list-as-result '(("id" "num") hline ("a" "1") ("b" "2")))

Note that it only works if point is on its own line. So you want to add some checks to prevent execution otherwise or to insert newlines as needed before invoking the function.

Also note: if there is a #+RESULTS: block immediately following, it will be replaced, which you may not want. And you may want to remove the #+RESULTS: line, too.


HTH,

Chuck



reply via email to

[Prev in Thread] Current Thread [Next in Thread]