0
0
Fork 1
mirror of https://git.savannah.gnu.org/git/emacs/org-mode.git synced 2024-09-29 20:37:51 +00:00

org-publish.el (org-publish-cache-ctime-of-src): Fix reference to relative symlinks

* org-publish.el (org-publish-cache-ctime-of-src): Delete
the base-dir argument and use (file-name-directory file) to
get the file's directory.
(org-publish-update-timestamp)
(org-publish-cache-file-needs-publishing): Call
`org-publish-cache-ctime-of-src' with only one argument.

Thanks to T.F. Torrey who suggested a fix for this.
This commit is contained in:
Bastien Guerry 2012-09-28 17:07:22 +02:00
parent 807137acdd
commit f71db4e509

View file

@ -338,7 +338,7 @@ function can still decide about that independently."
"Update publishing timestamp for file FILENAME.
If there is no timestamp, create one."
(let ((key (org-publish-timestamp-filename filename pub-dir pub-func))
(stamp (org-publish-cache-ctime-of-src filename base-dir)))
(stamp (org-publish-cache-ctime-of-src filename)))
(org-publish-cache-set key stamp)))
(defun org-publish-remove-all-timestamps ()
@ -1122,12 +1122,12 @@ so that 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-publish-cache-ctime-of-src included-file base-dir) t))))
(org-publish-cache-ctime-of-src included-file) t))))
;; FIXME don't kill current buffer
(unless visiting (kill-buffer buf)))
(if (null pstamp)
t
(let ((ctime (org-publish-cache-ctime-of-src filename base-dir)))
(let ((ctime (org-publish-cache-ctime-of-src filename)))
(or (< pstamp ctime)
(when included-files-ctime
(not (null (delq nil (mapcar (lambda(ct) (< ctime ct))
@ -1182,10 +1182,11 @@ Returns value on success, else nil."
(error "`org-publish-cache-set' called, but no cache present"))
(puthash key value org-publish-cache))
(defun org-publish-cache-ctime-of-src (f base-dir)
"Get the FILENAME ctime as an integer."
(defun org-publish-cache-ctime-of-src (file)
"Get the ctime of filename F 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)))))