#!/usr/bin/env sh # See: https://gist.github.com/sindresorhus/7996717 job="$(git diff-tree -r --name-only --no-commit-id HEAD^ HEAD -- README.org)" if [ -n "$job" ]; then emacs -Q --batch --eval " (progn (require 'org) (defun my-org-eval-blocks-named (name) (when (eq major-mode 'org-mode) (let ((blocks (org-element-map (org-element-parse-buffer 'greater-element nil) 'src-block (lambda (block) (when (string= name (org-element-property :name block)) block))))) (dolist (block blocks) (goto-char (org-element-property :begin block)) (org-babel-execute-src-block))))) (add-to-list 'safe-local-eval-forms '(apply 'my-org-eval-blocks-named '(\"emacs-lisp-setup\"))) (setq org-confirm-babel-evaluate nil) (setq python-indent-guess-indent-offset nil) (org-babel-tangle-file \"$job\")) " fi # Local Variables: # mode: shell-script # sh-indentation: 2 # sh-basic-offset: 2 # End: