Re: [O] Import files to babel blocks

2013-07-24 Thread Michael Bach
Hi Myles,

On 7/21/13 12:31 PM, Myles English wrote:
 
 From the documentation (C-h f insert-file-contents), it says that it
 returns list of absolute file name and number of characters but
 doesn't move the marker forwards, unlike insert does.  So, I guess you
 would have to then move the marker forwards by the number of characters.
 

Erhm, another case of readthedocs... Thanks for the shove! For
reference, I got it to work using a simple let like so:

--8---cut here---start-8---
(defun import-to-org-from-files (path pattern progmode)
(mapcar #'(lambda (filepath)
(progn
  (insert (format
   \n#+name: %s\n (file-name-nondirectory
 (file-name-sans-extension
  filepath
  (insert (format #+begin_src %s :eval no\n progmode))
  (let ((res (insert-file-contents filepath)))
(forward-char (second res)))
  (insert \n#+end_src\n))
)
(directory-files path t pattern)))
--8---cut here---end---8---

much obliged,
Michael




[O] Import files to babel blocks

2013-07-21 Thread Michael Bach
Dear org-mode Users and Developers,

I am trying to write a simple function for importing files to org-mode
babel code blocks.

My naive approach was

--8---cut here---start-8---
(defun import-to-org-from-files (path pattern progmode)
  (mapcar #'(lambda (filepath)
  (progn
(insert (format
 \n#+name: %s\n (file-name-nondirectory
   (file-name-sans-extension
filepath
(insert (format #+begin_src: %s :eval no\n progmode))
(insert-file-contents filepath)
(insert \n#+end_src\n))
  )
  (directory-files path t pattern)))
--8---cut here---end---8---

to be called e.g. like this

--8---cut here---start-8---
(import-to-org-from-files /path/to/scripts/ .*\.sh$ sh)
--8---cut here---end---8---


This leads to all babel code blocks being inserted empty and all file
content inserted afterwards, i.e. the `insert-file-contents' is somehow
delayed until all `insert's have happened.

Maybe this is just related to my misunderstanding of the involved elisp,
but I am posting it here since I am sure someone must have thought about
this import. Or is there even an org-mode builtin that can be used?

Best Regards,
Michael





Re: [O] Import files to babel blocks

2013-07-21 Thread Myles English

Hi Michael,

Michael Bach writes:

 Dear org-mode Users and Developers,

 I am trying to write a simple function for importing files to org-mode
 babel code blocks.

 My naive approach was

 --8---cut here---start-8---
 (defun import-to-org-from-files (path pattern progmode)
   (mapcar #'(lambda (filepath)
   (progn
 (insert (format
  \n#+name: %s\n (file-name-nondirectory
(file-name-sans-extension
 filepath
 (insert (format #+begin_src: %s :eval no\n progmode))
 (insert-file-contents filepath)

From the documentation (C-h f insert-file-contents), it says that it
returns list of absolute file name and number of characters but
doesn't move the marker forwards, unlike insert does.  So, I guess you
would have to then move the marker forwards by the number of characters.

 (insert \n#+end_src\n))
   )
   (directory-files path t pattern)))
 --8---cut here---end---8---

Myles