Skip to content

Instantly share code, notes, and snippets.

@cxa
Last active October 3, 2023 12:23
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save cxa/2dbde60f608feac3e28bf69340528b04 to your computer and use it in GitHub Desktop.
Save cxa/2dbde60f608feac3e28bf69340528b04 to your computer and use it in GitHub Desktop.
Support `:stdin` for `ob-C` for org-mode
(advice-add 'org-babel-C-execute
:filter-args
(defun sloth/org-babel-C-execute/filter-args (args)
(when-let* ((params (cadr args))
(stdin (cdr (assoc :stdin params)))
(res (org-babel-ref-resolve stdin))
(stdin (org-babel-temp-file "c-stdin-")))
(with-temp-file stdin (insert res))
(let* ((cmdline (assoc :cmdline params))
(cmdline-val (or (cdr cmdline) "")))
(when cmdline (setq params (delq cmdline params)))
(setq params
(cons (cons :cmdline (concat cmdline-val " <" stdin))
params))
(setf (cadr args) params)))
args))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment