Hi Tom, Could you try the attached patch and let me know if it fixes the problem?
If so I'll apply it to the main repo. Thanks -- Eric
diff --git a/contrib/babel/lisp/org-babel-tangle.el b/contrib/babel/lisp/org-babel-tangle.el index cad8cec..dd76195 100644 --- a/contrib/babel/lisp/org-babel-tangle.el +++ b/contrib/babel/lisp/org-babel-tangle.el @@ -48,8 +48,8 @@ file using `load-file'." (flet ((age (file) (time-to-seconds (time-subtract (current-time) - (sixth (file-attributes - (file-truename file))))))) + (sixth (or (file-attributes (file-truename file)) + (file-attributes file))))))) (let* ((base-name (file-name-sans-extension file)) (exported-file (concat base-name ".el"))) ;; tangle if the org-mode file is newer than the elisp file
"Thomas S. Dye" <t...@tsdye.com> writes: > Aloha all, > > I pulled the latest org-mode this morning and got an error starting emacs > afterwards that appears to > be tied to org-babel-load-file. > > I ran git bisect and ended up here: > > 131441dbd2d16e92f863864ed536f37fcd4a85fc is first bad commit > commit 131441dbd2d16e92f863864ed536f37fcd4a85fc > Author: Eric Schulte <schulte.e...@gmail.com> > Date: Thu Feb 4 09:43:11 2010 -0700 > > babel: load-file works for symlinks -- Thanks to Martin Kühl > > :040000 040000 b4e1b1d95a9c1bfd182ad3a834830c4494566679 > 7ae93fe06479799b0d7dc233caa00ddfd6daec3a M > contrib > > The backtrace from starting emacs with --debug-init follows: > > Debugger entered--Lisp error: (wrong-type-argument number-or-marker-p nil) > time-subtract((19311 14612 450479) nil) > (time-to-seconds (time-subtract (current-time) (sixth ...))) > (catch (quote --cl-block-age--) (time-to-seconds (time-subtract ... > ...))) > (cl-block-wrapper (catch (quote --cl-block-age--) (time-to-seconds > ...))) > (block age (time-to-seconds (time-subtract ... ...))) > age("td.org") > (> (age file) (age exported-file)) > (and (file-exists-p exported-file) (> (age file) (age exported-file))) > (if (and (file-exists-p exported-file) (> ... ...)) nil > (org-babel-tangle-file file base-name > "emacs-lisp")) > (unless (and (file-exists-p exported-file) (> ... ...)) > (org-babel-tangle-file file base-name > "emacs-lisp")) > (let* ((base-name ...) (exported-file ...)) (unless (and ... ...) > (org-babel-tangle-file file > base-name "emacs-lisp")) (load-file exported-file) (message "loaded %s" > exported-file)) > (progn (fset (quote age) (function* ...)) (let* (... ...) (unless ... > ...) (load-file > exported-file) (message "loaded %s" exported-file))) > (unwind-protect (progn (fset ... ...) (let* ... ... ... ...)) (if > --cl-letf-bound-- (fset ... > --cl-letf-save--) (fmakunbound ...))) > (let* ((--cl-letf-bound-- ...) (--cl-letf-save-- ...)) (unwind-protect > (progn ... ...) (if > --cl-letf-bound-- ... ...))) > (letf ((... ...)) (let* (... ...) (unless ... ...) (load-file > exported-file) (message "loaded > %s" exported-file))) > (letf* ((... ...)) (let* (... ...) (unless ... ...) (load-file > exported-file) (message "loaded > %s" exported-file))) > (flet ((age ... ...)) (let* (... ...) (unless ... ...) (load-file > exported-file) (message > "loaded %s" exported-file))) > org-babel-load-file("td.org") > mapc(org-babel-load-file ("td.org")) > (let ((default-directory user-specific-dir)) (mapc (function load) > (directory-files > user-specific-dir nil ".*el$")) (mapc (function org-babel-load-file) > (directory-files > user-specific-dir nil ".*org$"))) > (progn (let (...) (mapc ... ...) (mapc ... ...))) > (if (file-exists-p user-specific-dir) (progn (let ... ... ...))) > (when (file-exists-p user-specific-dir) (let (...) (mapc ... ...) (mapc > ... ...))) > eval-buffer(#<buffer *load*<2>> nil > "/Users/dk/.emacs.d/starter-kit.el" nil t) ; Reading at > buffer position 6504 > load-with-code-conversion("/Users/dk/.emacs.d/starter-kit.el" > "/Users/dk/.emacs.d/ > starter-kit.el" nil nil) > load("/Users/dk/.emacs.d/starter-kit.el" nil nil t) > load-file("/Users/dk/.emacs.d/starter-kit.el") > (let* ((base-name ...) (exported-file ...)) (unless (and ... ...) > (org-babel-tangle-file file > base-name "emacs-lisp")) (load-file exported-file) (message "loaded %s" > exported-file)) > (progn (fset (quote age) (function* ...)) (let* (... ...) (unless ... > ...) (load-file > exported-file) (message "loaded %s" exported-file))) > (unwind-protect (progn (fset ... ...) (let* ... ... ... ...)) (if > --cl-letf-bound-- (fset ... > --cl-letf-save--) (fmakunbound ...))) > (let* ((--cl-letf-bound-- ...) (--cl-letf-save-- ...)) (unwind-protect > (progn ... ...) (if > --cl-letf-bound-- ... ...))) > (letf ((... ...)) (let* (... ...) (unless ... ...) (load-file > exported-file) (message "loaded > %s" exported-file))) > (letf* ((... ...)) (let* (... ...) (unless ... ...) (load-file > exported-file) (message "loaded > %s" exported-file))) > (flet ((age ... ...)) (let* (... ...) (unless ... ...) (load-file > exported-file) (message > "loaded %s" exported-file))) > org-babel-load-file("/Users/dk/.emacs.d/starter-kit.org") > eval-buffer(#<buffer *load*> nil "/Users/dk/.emacs.d/init.el" nil t) > ; Reading at buffer > position 884 > load-with-code-conversion("/Users/dk/.emacs.d/init.el" > "/Users/dk/.emacs.d/init.el" t t) > load("/Users/dk/.emacs.d/init" t t) > #[nil "\205\264 \306=\203. \307\310Q\2027 \311=\2033 > \312\307\313\314#\203# \315\2027 \312\ > 307\313\316#\203/ \317\2027 \315\2027 \307\320Q.\321.\322\n\321\211#\210 > \321=\203_ \323\324\ > 325\307\326Q!\".\322\f\321\211#\210 \321=\203^ \n.) \203\244 \327 > !\330\232\203\244 \331 !\211. > \332P.\"\333.\"!\203\200 .\"\202\213 \333 > !\203\212 > \202\213 \313\211.\203\243 \334 > \"\203\241 \335\336 > #\210\337\340!\210 > .*.#?\205\263 \313.$\322\341\321\211#))\207" [init-file-user system-type > user-init-file-1 > user-init-file otherfile source ms-dos "~" "/_emacs" windows-nt > directory-files nil "^\\.emacs\\ > (\\.elc?\\)?$" "~/.emacs" "^_emacs\\(\\.elc?\\)?$" "~/_emacs" "/.emacs" t > load expand-file-name > "init" file-name-as-directory "/.emacs.d" file-name-extension "elc" > file-name-sans-extension > ".el" file-exists-p file-newer-than-file-p message "Warning: %s is newer > than %s" sit-for 1 > "default" alt inhibit-default-init inhibit-startup-screen] 7]() > command-line() > normal-top-level() > > hth, > Tom > > _______________________________________________ > Emacs-orgmode mailing list > Please use `Reply All' to send replies to the list. > Emacs-orgmode@gnu.org > http://lists.gnu.org/mailman/listinfo/emacs-orgmode
_______________________________________________ Emacs-orgmode mailing list Please use `Reply All' to send replies to the list. Emacs-orgmode@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-orgmode