I'm experimenting with starterkit on a new machine and have run into a bug in org-mode elpa version 20121231.
With the stock distribution org-mode (7.8.11) in emacs 24.2 there is no problem. With the elpa version 20121231 I get an error, see the attached output from emacs --debug-init. It's not clear to me why the condition is failing in org-babel-strip-protective-commas. This works properly in 7.8.11. It shouldn't be taking the path that leads to org-strip-protective-commas. The environment is the unmodified git repository for the emacs24-starter-kit, and this error is from the first #+begin_src emacs-lisp in the personalized startup file. This work is on a new machine. It doesn't have the org-mode git repository readily available. If there is an easy way to get intermediate versions from elpa I can try those relatively easily to isolate the change that triggers this error better. For now the workaround is to revert the org-mode package, get the startups the way I want them, and then re-activate the org-mode package. R Horn rjh...@alum.mit.edu
Debugger entered--Lisp error: (void-function org-strip-protective-commas) org-strip-protective-commas(1 77) org-babel-strip-protective-commas(" (add-hook 'text-mode-hook\n '(lambda () (visual-line-mode)))" "emacs-lisp") org-babel-parse-src-block-match() org-babel-get-src-block-info(light) org-babel-tangle-collect-blocks("emacs-lisp") org-babel-tangle(nil "/home/hornrj/.emacs.d/hornrj.el" "emacs-lisp") org-babel-tangle-file("/home/hornrj/.emacs.d/hornrj.org" "/home/hornrj/.emacs.d/hornrj.el" "emacs-lisp") org-babel-load-file("/home/hornrj/.emacs.d/hornrj.org") (cond ((file-exists-p encrypted-org) (org-babel-load-file encrypted-org)) ((file-exists-p encrypted-el) (load encrypted-el)) ((file-exists-p literate) (org-babel-load-file literate)) ((file-exists-p plain) (load plain))) (let* ((path (expand-file-name base starter-kit-dir)) (literate (concat path ".org")) (encrypted-org (concat path ".org.gpg")) (plain (concat path ".el")) (encrypted-el (concat path ".el.gpg"))) (cond ((file-exists-p encrypted-org) (org-babel-load-file encrypted-org)) ((file-exists-p encrypted-el) (load encrypted-el)) ((file-exists-p literate) (org-babel-load-file literate)) ((file-exists-p plain) (load plain)))) (catch (quote --cl-block-sk-load--) (let* ((path (expand-file-name base starter-kit-dir)) (literate (concat path ".org")) (encrypted-org (concat path ".org.gpg")) (plain (concat path ".el")) (encrypted-el (concat path ".el.gpg"))) (cond ((file-exists-p encrypted-org) (org-babel-load-file encrypted-org)) ((file-exists-p encrypted-el) (load encrypted-el)) ((file-exists-p literate) (org-babel-load-file literate)) ((file-exists-p plain) (load plain))))) (cl-block-wrapper (catch (quote --cl-block-sk-load--) (let* ((path (expand-file-name base starter-kit-dir)) (literate (concat path ".org")) (encrypted-org (concat path ".org.gpg")) (plain (concat path ".el")) (encrypted-el (concat path ".el.gpg"))) (cond ((file-exists-p encrypted-org) (org-babel-load-file encrypted-org)) ((file-exists-p encrypted-el) (load encrypted-el)) ((file-exists-p literate) (org-babel-load-file literate)) ((file-exists-p plain) (load plain)))))) (block sk-load (let* ((path (expand-file-name base starter-kit-dir)) (literate (concat path ".org")) (encrypted-org (concat path ".org.gpg")) (plain (concat path ".el")) (encrypted-el (concat path ".el.gpg"))) (cond ((file-exists-p encrypted-org) (org-babel-load-file encrypted-org)) ((file-exists-p encrypted-el) (load encrypted-el)) ((file-exists-p literate) (org-babel-load-file literate)) ((file-exists-p plain) (load plain))))) sk-load("hornrj") (let ((elisp-dir (expand-file-name "src" starter-kit-dir)) (user-dir (expand-file-name user-login-name starter-kit-dir))) (add-to-list (quote load-path) elisp-dir) (when (file-exists-p elisp-dir) (let ((default-directory elisp-dir)) (normal-top-level-add-subdirs-to-load-path))) (sk-load system-name) (sk-load user-login-name) (when (file-exists-p user-dir) (add-to-list (quote load-path) user-dir) (mapc (function sk-load) (remove-duplicates (mapcar (function remove-extension) (directory-files user-dir t ".*.\\(org\\|el\\)\\(\\.gpg\\)?$")) :test (function string=))))) (progn (fset (quote remove-extension) (function* (lambda (name) (block remove-extension (string-match "\\(.*?\\).\\(org\\(\\.el\\)?\\|el\\)\\(\\.gpg\\)?$" name) (match-string 1 name))))) (let ((elisp-dir (expand-file-name "src" starter-kit-dir)) (user-dir (expand-file-name user-login-name starter-kit-dir))) (add-to-list (quote load-path) elisp-dir) (when (file-exists-p elisp-dir) (let ((default-directory elisp-dir)) (normal-top-level-add-subdirs-to-load-path))) (sk-load system-name) (sk-load user-login-name) (when (file-exists-p user-dir) (add-to-list (quote load-path) user-dir) (mapc (function sk-load) (remove-duplicates (mapcar (function remove-extension) (directory-files user-dir t ".*.\\(org\\|el\\)\\(\\.gpg\\)?$")) :test (function string=)))))) (unwind-protect (progn (fset (quote remove-extension) (function* (lambda (name) (block remove-extension (string-match "\\(.*?\\).\\(org\\(\\.el\\)?\\|el\\)\\(\\.gpg\\)?$" name) (match-string 1 name))))) (let ((elisp-dir (expand-file-name "src" starter-kit-dir)) (user-dir (expand-file-name user-login-name starter-kit-dir))) (add-to-list (quote load-path) elisp-dir) (when (file-exists-p elisp-dir) (let ((default-directory elisp-dir)) (normal-top-level-add-subdirs-to-load-path))) (sk-load system-name) (sk-load user-login-name) (when (file-exists-p user-dir) (add-to-list (quote load-path) user-dir) (mapc (function sk-load) (remove-duplicates (mapcar (function remove-extension) (directory-files user-dir t ".*.\\(org\\|el\\)\\(\\.gpg\\)?$")) :test (function string=)))))) (if --cl-letf-bound-- (fset (quote remove-extension) --cl-letf-save--) (fmakunbound (quote remove-extension)))) (let* ((--cl-letf-bound-- (fboundp (quote remove-extension))) (--cl-letf-save-- (and --cl-letf-bound-- (symbol-function (quote remove-extension))))) (unwind-protect (progn (fset (quote remove-extension) (function* (lambda (name) (block remove-extension (string-match "\\(.*?\\).\\(org\\(\\.el\\)?\\|el\\)\\(\\.gpg\\)?$" name) (match-string 1 name))))) (let ((elisp-dir (expand-file-name "src" starter-kit-dir)) (user-dir (expand-file-name user-login-name starter-kit-dir))) (add-to-list (quote load-path) elisp-dir) (when (file-exists-p elisp-dir) (let ((default-directory elisp-dir)) (normal-top-level-add-subdirs-to-load-path))) (sk-load system-name) (sk-load user-login-name) (when (file-exists-p user-dir) (add-to-list (quote load-path) user-dir) (mapc (function sk-load) (remove-duplicates (mapcar ... ...) :test (function string=)))))) (if --cl-letf-bound-- (fset (quote remove-extension) --cl-letf-save--) (fmakunbound (quote remove-extension))))) (letf (((symbol-function (quote remove-extension)) (function* (lambda (name) (block remove-extension (string-match "\\(.*?\\).\\(org\\(\\.el\\)?\\|el\\)\\(\\.gpg\\)?$" name) (match-string 1 name)))))) (let ((elisp-dir (expand-file-name "src" starter-kit-dir)) (user-dir (expand-file-name user-login-name starter-kit-dir))) (add-to-list (quote load-path) elisp-dir) (when (file-exists-p elisp-dir) (let ((default-directory elisp-dir)) (normal-top-level-add-subdirs-to-load-path))) (sk-load system-name) (sk-load user-login-name) (when (file-exists-p user-dir) (add-to-list (quote load-path) user-dir) (mapc (function sk-load) (remove-duplicates (mapcar (function remove-extension) (directory-files user-dir t ".*.\\(org\\|el\\)\\(\\.gpg\\)?$")) :test (function string=)))))) (progn (fset (quote sk-load) (function* (lambda (base) (block sk-load (let* ((path ...) (literate ...) (encrypted-org ...) (plain ...) (encrypted-el ...)) (cond (... ...) (... ...) (... ...) (... ...))))))) (letf (((symbol-function (quote remove-extension)) (function* (lambda (name) (block remove-extension (string-match "\\(.*?\\).\\(org\\(\\.el\\)?\\|el\\)\\(\\.gpg\\)?$" name) (match-string 1 name)))))) (let ((elisp-dir (expand-file-name "src" starter-kit-dir)) (user-dir (expand-file-name user-login-name starter-kit-dir))) (add-to-list (quote load-path) elisp-dir) (when (file-exists-p elisp-dir) (let ((default-directory elisp-dir)) (normal-top-level-add-subdirs-to-load-path))) (sk-load system-name) (sk-load user-login-name) (when (file-exists-p user-dir) (add-to-list (quote load-path) user-dir) (mapc (function sk-load) (remove-duplicates (mapcar (function remove-extension) (directory-files user-dir t ".*.\\(org\\|el\\)\\(\\.gpg\\)?$")) :test (function string=))))))) (unwind-protect (progn (fset (quote sk-load) (function* (lambda (base) (block sk-load (let* (... ... ... ... ...) (cond ... ... ... ...)))))) (letf (((symbol-function (quote remove-extension)) (function* (lambda (name) (block remove-extension ... ...))))) (let ((elisp-dir (expand-file-name "src" starter-kit-dir)) (user-dir (expand-file-name user-login-name starter-kit-dir))) (add-to-list (quote load-path) elisp-dir) (when (file-exists-p elisp-dir) (let ((default-directory elisp-dir)) (normal-top-level-add-subdirs-to-load-path))) (sk-load system-name) (sk-load user-login-name) (when (file-exists-p user-dir) (add-to-list (quote load-path) user-dir) (mapc (function sk-load) (remove-duplicates (mapcar ... ...) :test (function string=))))))) (if --cl-letf-bound-- (fset (quote sk-load) --cl-letf-save--) (fmakunbound (quote sk-load)))) (let* ((--cl-letf-bound-- (fboundp (quote sk-load))) (--cl-letf-save-- (and --cl-letf-bound-- (symbol-function (quote sk-load))))) (unwind-protect (progn (fset (quote sk-load) (function* (lambda (base) (block sk-load (let* ... ...))))) (letf (((symbol-function (quote remove-extension)) (function* (lambda ... ...)))) (let ((elisp-dir (expand-file-name "src" starter-kit-dir)) (user-dir (expand-file-name user-login-name starter-kit-dir))) (add-to-list (quote load-path) elisp-dir) (when (file-exists-p elisp-dir) (let (...) (normal-top-level-add-subdirs-to-load-path))) (sk-load system-name) (sk-load user-login-name) (when (file-exists-p user-dir) (add-to-list (quote load-path) user-dir) (mapc (function sk-load) (remove-duplicates ... :test ...)))))) (if --cl-letf-bound-- (fset (quote sk-load) --cl-letf-save--) (fmakunbound (quote sk-load))))) (letf (((symbol-function (quote sk-load)) (function* (lambda (base) (block sk-load (let* (... ... ... ... ...) (cond ... ... ... ...))))))) (letf (((symbol-function (quote remove-extension)) (function* (lambda (name) (block remove-extension (string-match "\\(.*?\\).\\(org\\(\\.el\\)?\\|el\\)\\(\\.gpg\\)?$" name) (match-string 1 name)))))) (let ((elisp-dir (expand-file-name "src" starter-kit-dir)) (user-dir (expand-file-name user-login-name starter-kit-dir))) (add-to-list (quote load-path) elisp-dir) (when (file-exists-p elisp-dir) (let ((default-directory elisp-dir)) (normal-top-level-add-subdirs-to-load-path))) (sk-load system-name) (sk-load user-login-name) (when (file-exists-p user-dir) (add-to-list (quote load-path) user-dir) (mapc (function sk-load) (remove-duplicates (mapcar (function remove-extension) (directory-files user-dir t ".*.\\(org\\|el\\)\\(\\.gpg\\)?$")) :test (function string=))))))) (letf* (((symbol-function (quote sk-load)) (function* (lambda (base) (block sk-load (let* (... ... ... ... ...) (cond ... ... ... ...)))))) ((symbol-function (quote remove-extension)) (function* (lambda (name) (block remove-extension (string-match "\\(.*?\\).\\(org\\(\\.el\\)?\\|el\\)\\(\\.gpg\\)?$" name) (match-string 1 name)))))) (let ((elisp-dir (expand-file-name "src" starter-kit-dir)) (user-dir (expand-file-name user-login-name starter-kit-dir))) (add-to-list (quote load-path) elisp-dir) (when (file-exists-p elisp-dir) (let ((default-directory elisp-dir)) (normal-top-level-add-subdirs-to-load-path))) (sk-load system-name) (sk-load user-login-name) (when (file-exists-p user-dir) (add-to-list (quote load-path) user-dir) (mapc (function sk-load) (remove-duplicates (mapcar (function remove-extension) (directory-files user-dir t ".*.\\(org\\|el\\)\\(\\.gpg\\)?$")) :test (function string=)))))) (flet ((sk-load (base) (let* ((path (expand-file-name base starter-kit-dir)) (literate (concat path ".org")) (encrypted-org (concat path ".org.gpg")) (plain (concat path ".el")) (encrypted-el (concat path ".el.gpg"))) (cond ((file-exists-p encrypted-org) (org-babel-load-file encrypted-org)) ((file-exists-p encrypted-el) (load encrypted-el)) ((file-exists-p literate) (org-babel-load-file literate)) ((file-exists-p plain) (load plain))))) (remove-extension (name) (string-match "\\(.*?\\).\\(org\\(\\.el\\)?\\|el\\)\\(\\.gpg\\)?$" name) (match-string 1 name))) (let ((elisp-dir (expand-file-name "src" starter-kit-dir)) (user-dir (expand-file-name user-login-name starter-kit-dir))) (add-to-list (quote load-path) elisp-dir) (when (file-exists-p elisp-dir) (let ((default-directory elisp-dir)) (normal-top-level-add-subdirs-to-load-path))) (sk-load system-name) (sk-load user-login-name) (when (file-exists-p user-dir) (add-to-list (quote load-path) user-dir) (mapc (function sk-load) (remove-duplicates (mapcar (function remove-extension) (directory-files user-dir t ".*.\\(org\\|el\\)\\(\\.gpg\\)?$")) :test (function string=)))))) eval-buffer(#<buffer *load*<2>> nil "/home/hornrj/.emacs.d/starter-kit.el" nil t) ; Reading at buffer position 5662 load-with-code-conversion("/home/hornrj/.emacs.d/starter-kit.el" "/home/hornrj/.emacs.d/starter-kit.el" nil nil) load("/home/hornrj/.emacs.d/starter-kit.el" nil nil t) load-file("/home/hornrj/.emacs.d/starter-kit.el") org-babel-load-file("/home/hornrj/.emacs.d/starter-kit.org") eval-buffer(#<buffer *load*> nil "/home/hornrj/.emacs.d/init.el" nil t) ; Reading at buffer position 348 load-with-code-conversion("/home/hornrj/.emacs.d/init.el" "/home/hornrj/.emacs.d/init.el" t t) load("/home/hornrj/.emacs.d/init" t t) #[0 "\205\262 \306=\203 \307\310Q\202; \311=\204 \307\312Q\202; \313\307\314\315#\203* \316\202; \313\307\314\317#\203: \320\nB\321\202; \316\322\323\322\211#\210\322=\203a \324\325\326\307\327Q!\"\323\322\211#\210\322=\203` \210\203\243 \330!\331\232\203\243 \332!\211\333P\334!\203} \211\202\210 \334!\203\207 \202\210 \314\262\203\241 \335\"\203\237 \336\337#\210\340\341!\210\266\f?\205\260 \314\323\342\322\211#)\262\207" [init-file-user system-type delayed-warnings-list user-init-file inhibit-default-init inhibit-startup-screen ms-dos "~" "/_emacs" windows-nt "/.emacs" directory-files nil "^\\.emacs\\(\\.elc?\\)?$" "~/.emacs" "^_emacs\\(\\.elc?\\)?$" (initialization "`_emacs' init file is deprecated, please use `.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"] 7 "\n\n(fn)"]() command-line() normal-top-level()