|
@@ -49,7 +49,7 @@ file using `load-file'."
|
|
|
(sixth (file-attributes file))))))
|
|
|
(let* ((base-name (file-name-sans-extension file))
|
|
|
(exported-file (concat base-name ".el")))
|
|
|
- (message "building %s" exported-file) ;; debugging
|
|
|
+ ;; (message "building %s" exported-file) ;; debugging
|
|
|
;; tangle if the org-mode file is newer than the elisp file
|
|
|
(unless (and (file-exists-p exported-file) (> (age file) (age exported-file)))
|
|
|
(org-babel-tangle-file file base-name "emacs-lisp"))
|
|
@@ -72,8 +72,7 @@ source blocks. Optional argument LANG can be used to limit the
|
|
|
exported source code blocks by language."
|
|
|
(interactive)
|
|
|
(save-excursion
|
|
|
- (let ((base-name (file-name-sans-extension (buffer-file-name)))
|
|
|
- (block-counter 0)
|
|
|
+ (let ((block-counter 0)
|
|
|
path-collector)
|
|
|
(mapc ;; for every language create a file
|
|
|
(lambda (by-lang)
|
|
@@ -85,14 +84,18 @@ exported source code blocks by language."
|
|
|
(she-bang (second lang-specs)))
|
|
|
(mapc
|
|
|
(lambda (spec)
|
|
|
- (let* ((tangle (cdr (assoc :tangle params)))
|
|
|
- (base-name (or (when (not (or (string= tangle "yes")
|
|
|
- (string= tangle "no")))
|
|
|
- (when (> (length tangle) 0) tangle))
|
|
|
+ (let* ((tangle (cdr (assoc :tangle (third spec))))
|
|
|
+ (base-name (or (cond
|
|
|
+ ((string= "yes" tangle)
|
|
|
+ (file-name-sans-extension (buffer-file-name)))
|
|
|
+ ((string= "no" tangle) nil)
|
|
|
+ ((> (length tangle) 0) tangle))
|
|
|
target-file))
|
|
|
(file-name (when base-name
|
|
|
(concat base-name "." ext))))
|
|
|
- (message "tangle=%S base-name=%S file-name=%S" tangle base-name file-name)
|
|
|
+ ;; ;; debugging
|
|
|
+ ;; (message "tangle=%S base-name=%S file-name=%S"
|
|
|
+ ;; tangle base-name file-name)
|
|
|
(when file-name
|
|
|
;; delete any old versions of file
|
|
|
(when (and (file-exists-p file-name)
|
|
@@ -106,10 +109,13 @@ exported source code blocks by language."
|
|
|
(point) (progn (insert "generated by org-babel-tangle") (point)))
|
|
|
(org-babel-spec-to-string spec)
|
|
|
(append-to-file nil nil file-name))
|
|
|
+ ;; update counter
|
|
|
+ (setq block-counter (+ 1 block-counter))
|
|
|
(add-to-list 'path-collector file-name))))
|
|
|
specs)))
|
|
|
(org-babel-tangle-collect-blocks lang))
|
|
|
- (message "tangled %d source-code blocks" block-counter)
|
|
|
+ (message "tangled %d source-code block%s" block-counter
|
|
|
+ (if (> block-counter 1) "s" ""))
|
|
|
path-collector)))
|
|
|
|
|
|
(defun org-babel-tangle-collect-blocks (&optional lang)
|