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 :)

Reply via email to