Dror Atariah <dror...@gmail.com> writes:

> Managed to get [backtrace] output... 
>
> You can find it here: https://gist.github.com/drorata/7950857
>
> I could not find my way in this output... :(
>

If you look at the top of the backtrace it shows this:

,----
| Debugger entered--Lisp error: (wrong-type-argument sequencep :grouptags)
| mapconcat(identity ("PRIVATE" "{" "WORK" :grouptags "WORK@mittagseminar" 
"WORK@open_questions" "WORK@diss" "WORK@CV" "}" "{" "IT" :grouptags "IT@emacs" 
"IT@git" "IT@TeX" "}" "{" "PROG" :grouptags "PROG@mathematica" "PROG@cgal" "}" 
"}" "4freeTime" "bms_friday" "emacs" "interesting_questions" "mittagseminar" 
"Mittagsseminar" "NOTE" "private" "results" "work" "Yvinec" "Ziegler") " ")
| (insert "#+TAGS: " (mapconcat (quote identity) tags " ") "\n")
| ...
| org-mobile-create-index-file()
`----

The mapconcat line can be evaluated on its own - it does not depend on
anything else. If you cut and paste it into your *scratch* buffer and
modify it slightly like this:

--8<---------------cut here---------------start------------->8---
(mapconcat 'identity '("PRIVATE" "{" "WORK" :grouptags "WORK@mittagseminar" 
"WORK@open_questions" "WORK@diss" "WORK@CV" "}" "{" "IT" :grouptags "IT@emacs" 
"IT@git" "IT@TeX" "}" "{" "PROG" :grouptags "PROG@mathematica" "PROG@cgal" "}" 
"}" "4freeTime" "bms_friday" "emacs" "interesting_questions" "mittagseminar" 
"Mittagsseminar" "NOTE" "private" "results" "work" "Yvinec" "Ziegler") " ")
--8<---------------cut here---------------end--------------->8---

and evaluate it with C-j, you get the exact error. Now look in
org-mobile-create-index-file for the call


      (insert "#+TAGS: " (mapconcat 'identity tags " ") "\n")

You'll find it on line 470 (at least in the version I'm using).
Before this line there is this code:

      ...
      (setq def-tags (mapcar
                      (lambda (x)
                        (cond ((null x) nil)
                              ((stringp x) x)
                              ((eq (car x) :startgroup) "{")
                              ((eq (car x) :endgroup) "}")
                              ((eq (car x) :newline) nil)
                              ((listp x) (car x))))
                      def-tags))
      (setq def-tags (delq nil def-tags))
      (setq tags (org-delete-all def-tags tags))
      (setq tags (sort tags (lambda (a b) (string< (downcase a) (downcase b)))))
      (setq tags (append def-tags tags nil))
      (insert "#+TAGS: " (mapconcat 'identity tags " ") "\n")
      ...

You'll notice that :startgroup is replaced by { , :endgroup is
replaced by } and :newline is deleted - but there is no mention of
:grouptags which leads me to suspect that there should be an extra
line in there, perhaps

                              ((eq (car x) :grouptags) nil)

Maybe you can try it - better yet, maybe somebody who has some idea of
how org-mobile works should take a look. I note that if I delete the
:grouptags instances in the mapconcat call above, it completes without
error.

Nick


Reply via email to