|
@@ -350,7 +350,7 @@ still decide about that independently."
|
|
|
"Update publishing timestamp for file FILENAME.
|
|
|
If there is no timestamp, create one."
|
|
|
(let ((key (org-e-publish-timestamp-filename filename pub-dir pub-func))
|
|
|
- (stamp (org-e-publish-cache-ctime-of-src filename base-dir)))
|
|
|
+ (stamp (org-e-publish-cache-ctime-of-src filename)))
|
|
|
(org-e-publish-cache-set key stamp)))
|
|
|
|
|
|
(defun org-e-publish-remove-all-timestamps ()
|
|
@@ -1132,14 +1132,11 @@ the file including them will be republished as well."
|
|
|
(while (re-search-forward
|
|
|
"^#\\+INCLUDE:[ \t]+\"\\([^\t\n\r\"]*\\)\"[ \t]*.*$" nil t)
|
|
|
(let* ((included-file (expand-file-name (match-string 1))))
|
|
|
- (add-to-list
|
|
|
- 'included-files-ctime
|
|
|
- (org-e-publish-cache-ctime-of-src included-file base-dir)
|
|
|
- t))))
|
|
|
- ;; FIXME: don't kill current buffer.
|
|
|
+ (add-to-list 'included-files-ctime
|
|
|
+ (org-e-publish-cache-ctime-of-src included-file) t))))
|
|
|
(unless visiting (kill-buffer buf)))
|
|
|
(if (null pstamp) t
|
|
|
- (let ((ctime (org-e-publish-cache-ctime-of-src filename base-dir)))
|
|
|
+ (let ((ctime (org-e-publish-cache-ctime-of-src filename)))
|
|
|
(or (< pstamp ctime)
|
|
|
(when included-files-ctime
|
|
|
(not (null (delq nil (mapcar (lambda(ct) (< ctime ct))
|
|
@@ -1191,10 +1188,11 @@ Returns value on success, else nil."
|
|
|
(error "`org-e-publish-cache-set' called, but no cache present"))
|
|
|
(puthash key value org-e-publish-cache))
|
|
|
|
|
|
-(defun org-e-publish-cache-ctime-of-src (f base-dir)
|
|
|
- "Get the FILENAME ctime as an integer."
|
|
|
+(defun org-e-publish-cache-ctime-of-src (file)
|
|
|
+ "Get the ctime of FILE as an integer."
|
|
|
(let ((attr (file-attributes
|
|
|
- (expand-file-name (or (file-symlink-p f) f) base-dir))))
|
|
|
+ (expand-file-name (or (file-symlink-p file) file)
|
|
|
+ (file-name-directory file)))))
|
|
|
(+ (lsh (car (nth 5 attr)) 16)
|
|
|
(cadr (nth 5 attr)))))
|
|
|
|