Hello, ** Vladimir Lomov [2013-10-10 16:15:27 +0900]: > Hello, > topic title states my problem completely, some details: > - I use emacs compiled from bzr trunk (revno 114606) on my system: > Archlinux x86_64 with gcc 4.8.1 and make 4.0; > - org-mode: 8.2.1-86-gbe3dad.
> This is excert from make log: > #+BEGIN_EXAMPLE > ... > Compiling > /home/vladimir/buildpkg/emacs-org-mode/src/org-mode/lisp/ox-publish.el... > In toplevel form: > ox-publish.el:887:1:Error: Multiple args to , are not supported: (\, (\` > (when (quote (\, force)) (org-publish-remove-all-timestamps))) (\` (let > ((org-publish-use-timestamps-flag (if (quote (\, force)) nil (\, > org-publish-use-timestamps-flag)))) (org-publish-projects (quote (\, > org-publish-project-alist)))))) > ... > #+END_EXAMPLE I have found the reason of such behaviour: commit 114570 of Emacs repository introduced this, below diff between 114569 and 114570: ---------------------- 8< ---------------------- === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2013-10-08 03:48:01 +0000 +++ lisp/ChangeLog 2013-10-08 04:30:31 +0000 @@ -1,5 +1,8 @@ 2013-10-08 Stefan Monnier <monn...@iro.umontreal.ca> + * emacs-lisp/backquote.el (backquote-process): Catch uses of , and ,@ + with more than one argument (bug#15538). + * mpc.el (mpc-songs-jump-to): Adjust to different playlist format. * vc/pcvs.el: Use lexical-binding. === modified file 'lisp/emacs-lisp/backquote.el' --- lisp/emacs-lisp/backquote.el 2013-01-01 09:11:05 +0000 +++ lisp/emacs-lisp/backquote.el 2013-10-08 04:30:31 +0000 @@ -153,11 +153,18 @@ (list 'quote s)))) ((eq (car s) backquote-unquote-symbol) (if (<= level 0) - (cons 1 (nth 1 s)) + (if (> (length s) 2) + ;; We could support it with: (cons 2 `(list . ,(cdr s))) + ;; But let's not encourage such uses. + (error "Multiple args to , are not supported: %S" s) + (cons 1 (nth 1 s))) (backquote-delay-process s (1- level)))) ((eq (car s) backquote-splice-symbol) (if (<= level 0) - (cons 2 (nth 1 s)) + (if (> (length s) 2) + ;; (cons 2 `(append . ,(cdr s))) + (error "Multiple args to ,@ are not supported: %S" s) + (cons 2 (nth 1 s))) (backquote-delay-process s (1- level)))) ((eq (car s) backquote-backquote-symbol) (backquote-delay-process s (1+ level))) ---------------------- 8< ---------------------- So, I don't know whom to blame for this behaviour. P.S. I also noted other strange thing in function 'org-publish-all': there two almost identical lines in that function: ---------------------- 8< ---------------------- (when force (org-publish-remove-all-timestamps)) ---------------------- 8< ---------------------- but first is run with backquote. Earlier I found out that commenting line with backquote solves the problem. --- WBR, Vladimir Lomov -- <taniwha> i'd solve a windows key problem with fdisk :)