emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* Problem pushing to org-mobile
@ 2010-01-08  3:05 Cameron Horsburgh
  2010-01-08  5:56 ` Carsten Dominik
  0 siblings, 1 reply; 2+ messages in thread
From: Cameron Horsburgh @ 2010-01-08  3:05 UTC (permalink / raw)
  To: Emacs-orgmode


[-- Attachment #1.1: Type: text/plain, Size: 19270 bytes --]

Hi folks,

For the last week I haven't been able to push to my WebDAV account. When I
run M-x org-mobile-push it seems to get stuck creating an agenda file and
fails with the message 'org-agenda-skip-if: Invalid regexp: "Unmatched [ or
[^" '

I've tried a few things to nail the problem down. I've removed (most) of my
files from the agenda list, leaving only files I know have worked recently.
I've run git-bisect against a version I know to have worked and the same
error appears every time, including the known good one. So I'm going to
assume I have a problem with my set up.

Here's my config, and I've included a backtrace at the end if anyone finds
it useful. Thanks for your help!

current state:
==============
(setq
 org-export-latex-after-initial-vars-hook '(org-beamer-after-initial-vars)
 org-agenda-custom-commands '(("X" "SUMO"
       ((agenda nil ((org-agenda-title-append "<after>KEYS=a TITLE: Agenda
</after>")))
(alltodo nil ((org-agenda-title-append "<after>KEYS=t TITLE: ALL TODO
</after>")))
(todo #("DELEGATED" 0 9 (face org-warning))
 ((org-agenda-title-append
   #("<after>KEYS=d TITLE: todo DELEGATED</after>" 26 35 (face
org-warning)))
  )
 )
(todo #("DONE|DEFERRED|CANCELLED" 0 23 (face org-warning))
 ((org-agenda-title-append
   #("<after>KEYS=c TITLE: todo DONE|DEFERRED|CANCELLED</after>" 26 49 (face
org-warning))
   )
  )
 )
(todo #("WAITING" 0 7 (face org-warning))
 ((org-agenda-title-append
   #("<after>KEYS=w TITLE: todo WAITING</after>" 26 33 (face org-warning)))
  )
 )
(agenda ""
 ((org-agenda-title-append "<after>KEYS=W TITLE: agenda </after>")
(org-agenda-ndays 21)))
(agenda ""
 ((org-agenda-title-append "<after>KEYS=A TITLE: agenda </after>")
  (org-agenda-skip-function
   (lambda nil (org-agenda-skip-entry-if (quote notregexp)
"\\=.*\\[#A\\]")))
  (org-agenda-ndays 1) (org-agenda-overriding-header "Today's Priority #A
tasks: "))
 )
(alltodo ""
 ((org-agenda-title-append "<after>KEYS=u TITLE: alltodo </after>")
  (org-agenda-skip-function
   (lambda nil
    (org-agenda-skip-entry-if (quote scheduled) (quote deadline) (quote
regexp) "<[^> >"))
   )
  (org-agenda-overriding-header "Unscheduled TODO entries: "))
 )
)
       ((org-agenda-compact-blocks nil)) ("/home/cameron/mnt/mydisk/org/
agendas.org"))
      )
 org-agenda-files '("~/gtd/diary.org" "~/gtd/Band/Band.org"
"~/gtd/rsa/RSA.org" "~/gtd/JuniorYouthGroup/YouthGroup.org"
    "~/gtd/Netball/Netball.org" "~/gtd/todo.org")
 org-blocker-hook '(org-block-todo-from-children-or-siblings-or-parent)
 org-agenda-show-inherited-tags nil
 org-after-todo-state-change-hook '(org-clock-out-if-current)
 org-agenda-remove-tags t
 org-startup-folded nil
 org-deadline-warning-days 7
 org-export-latex-format-toc-function 'org-export-latex-format-toc-default
 org-agenda-skip-scheduled-if-done t
 org-stuck-projects '("+LEVEL=2/-DONE" ("TODO" "NEXT" "NEXTACTION") ("Info")
"")
 org-export-preprocess-hook '(org-export-blocks-preprocess)
 org-mobile-inbox-for-pull "~/gtd/from-mobile.org"
 org-tab-first-hook '(org-hide-block-toggle-maybe)
 org-src-mode-hook '(org-src-mode-configure-edit-buffer)
 org-confirm-shell-link-function 'yes-or-no-p
 org-export-first-hook '(org-beamer-initialize-open-trackers)
 org-agenda-before-write-hook '(org-agenda-add-entry-text)
 org-default-notes-file "~/gtd/notes.org"
 org-agenda-skip-function '(lambda nil
    (org-agenda-skip-entry-if (quote scheduled) (quote deadline) (quote
regexp) "<[^> >"))
 org-directory "~/gtd/"
 org-export-docbook-xslt-proc-command "java org.apache.xalan.xslt.Process
-out %s -in %s -xsl
/usr/share/xml/docbook/stylesheet/docbook-xsl/xhtml-1_1/docbook.xsl"
 org-blank-before-new-entry '((heading) (plain-list-item))
 org-cycle-hook '(org-cycle-hide-archived-subtrees org-cycle-hide-drawers
org-cycle-show-empty-lines
  org-optimize-window-after-visibility-change)
 org-export-preprocess-before-normalizing-links-hook
'(org-remove-file-link-modifiers)
 org-mode-hook '((lambda nil
  (org-add-hook (quote change-major-mode-hook) (quote org-show-block-all)
(quote append) (quote local)))
 #[nil "\300\301\302\303\304$\207" [org-add-hook change-major-mode-hook
org-show-block-all append local]
   5]
 )
 org-confirm-elisp-link-function 'yes-or-no-p
 org-fast-tag-selection-single-key 'expert
 org-agenda-start-on-weekday nil
 org-enforce-todo-dependencies t
 org-agenda-skip-deadline-if-done t
 org-reverse-note-order t
 org-occur-hook '(org-first-headline-recenter)
 org-from-is-user-regexp "\\<Cameron Horsburgh\\>"
 org-mobile-directory "~/mnt/mydisk/org/"
 org-export-preprocess-before-selecting-backend-code-hook
'(org-beamer-select-beamer-code)
 org-export-docbook-xsl-fo-proc-command "fop %s %s"
 org-remember-templates '(("" 116 "* TODO %?" "~/gtd/todo.org" "Unfiled
items")
  ("" 110 "* %u %?" "~/gtd/notes.org" "Notes")
  ("My diary entry" 100 "* Diary entry: %?\n %^T" "~/gtd/diary.org" "Diary
date")
  ("" 119 "* %u %c %:region" "~/gtd/bookmarks.org" "Web links"))
 org-export-latex-final-hook '(org-beamer-amend-header org-beamer-fix-toc
org-beamer-auto-fragile-frames
       org-beamer-place-default-actions-for-lists)
 )

=============Backtrace

Debugger entered--Lisp error: (invalid-regexp "Unmatched [ or [^")
  re-search-forward("<[^> >" 641 t)
  (and (setq m (memq ... conditions)) (stringp (nth 1 m)) (re-search-forward
(nth 1 m) end t))
  (or (and (memq ... conditions) (re-search-forward
org-scheduled-time-regexp end t)) (and (memq ... conditions) (not ...)) (and
(memq ... conditions) (re-search-forward org-deadline-time-regexp end t))
(and (memq ... conditions) (not ...)) (and (memq ... conditions)
(re-search-forward org-ts-regexp end t)) (and (memq ... conditions) (not
...)) (and (setq m ...) (stringp ...) (re-search-forward ... end t)) (and
(setq m ...) (stringp ...) (not ...)))
  (and (or (and ... ...) (and ... ...) (and ... ...) (and ... ...) (and ...
...) (and ... ...) (and ... ... ...) (and ... ... ...)) end)
  (let (beg end m) (org-back-to-heading t) (setq beg (point) end (if subtree
... ...)) (goto-char beg) (and (or ... ... ... ... ... ... ... ...) end))
  org-agenda-skip-if(nil (scheduled deadline regexp "<[^> >"))
  org-agenda-skip-entry-if(scheduled deadline regexp "<[^> >")
  (lambda nil (org-agenda-skip-entry-if (quote scheduled) (quote deadline)
(quote regexp) "<[^> >"))()
  funcall((lambda nil (org-agenda-skip-entry-if (quote scheduled) (quote
deadline) (quote regexp) "<[^> >")))
  (if fp (funcall org-agenda-skip-function) (eval org-agenda-skip-function))
  (progn (if fp (funcall org-agenda-skip-function) (eval
org-agenda-skip-function)))
  (unwind-protect (progn (if fp ... ...)) (set-match-data
save-match-data-internal (quote evaporate)))
  (let ((save-match-data-internal ...)) (unwind-protect (progn ...)
(set-match-data save-match-data-internal ...)))
  (save-match-data (if fp (funcall org-agenda-skip-function) (eval
org-agenda-skip-function)))
  (save-excursion (save-match-data (if fp ... ...)))
  (setq to (save-excursion (save-match-data ...)))
  (and (or (setq fp ...) (consp org-agenda-skip-function)) (setq to
(save-excursion ...)))
  (if (and (or ... ...) (setq to ...)) (progn (goto-char to) (throw :skip
t)))
  (when (and (or ... ...) (setq to ...)) (goto-char to) (throw :skip t))
  (let ((p ...) to fp) (and org-agenda-skip-archived-trees (not
org-agenda-archives-mode) (get-text-property p :org-archived)
(org-end-of-subtree t) (throw :skip t)) (and org-agenda-skip-comment-trees
(get-text-property p :org-comment) (org-end-of-subtree t) (throw :skip t))
(if (equal ... 35) (throw :skip t)) (when (and ... ...) (goto-char to)
(throw :skip t)))
  org-agenda-skip()
  (catch :skip (save-match-data (beginning-of-line) (setq beg ... end ...)
(when ... ... ... ...)) (goto-char beg) (org-agenda-skip) (goto-char
(match-beginning 1)) (setq marker (org-agenda-new-marker ...) category
(org-get-category) txt (match-string 1) tags (org-get-tags-at ...) txt
(org-format-agenda-item "" txt category tags) priority (1+ ...) todo-state
(org-get-todo-state)) (org-add-props txt props (quote org-marker) marker
(quote org-hd-marker) marker (quote priority) priority (quote org-category)
category (quote type) "todo" (quote todo-state) todo-state) (push txt ee)
(if org-agenda-todo-list-sublevels (goto-char ...) (org-end-of-subtree
...)))
  (while (re-search-forward regexp nil t) (catch :skip (save-match-data ...
... ...) (goto-char beg) (org-agenda-skip) (goto-char ...) (setq marker ...
category ... txt ... tags ... txt ... priority ... todo-state ...)
(org-add-props txt props ... marker ... marker ... priority ... category ...
"todo" ... todo-state) (push txt ee) (if org-agenda-todo-list-sublevels ...
...)))
  (let* ((props ...) (regexp ...) marker priority category tags todo-state
ee txt beg end) (goto-char (point-min)) (while (re-search-forward regexp nil
t) (catch :skip ... ... ... ... ... ... ... ...)) (nreverse ee))
  org-agenda-get-todos()
  (setq rtn (org-agenda-get-todos))
  (cond ((and ... ...) (setq rtn ...) (setq results ...)) ((eq arg
:timestamp) (setq rtn ...) (setq results ...) (setq rtn ...) (setq results
...)) ((eq arg :sexp) (setq rtn ...) (setq results ...)) ((eq arg
:scheduled) (setq rtn ...) (setq results ...)) ((eq arg :closed) (setq rtn
...) (setq results ...)) ((eq arg :deadline) (setq rtn ...) (setq
deadline-results ...) (setq results ...)))
  (while (setq arg (pop args)) (cond (... ... ...) (... ... ... ... ...)
(... ... ...) (... ... ...) (... ... ...) (... ... ... ...)))
  (save-restriction (if org-agenda-restrict (narrow-to-region
org-agenda-restrict-begin org-agenda-restrict-end) (widen)) (while (setq arg
...) (cond ... ... ... ... ... ...)))
  (save-excursion (save-restriction (if org-agenda-restrict ... ...) (while
... ...)))
  (let ((case-fold-search nil)) (save-excursion (save-restriction ... ...)))
  (save-current-buffer (set-buffer buffer) (unless (org-mode-p) (error
"Agenda file %s is not in `org-mode'" file)) (let (...) (save-excursion
...)) results)
  (with-current-buffer buffer (unless (org-mode-p) (error "Agenda file %s is
not in `org-mode'" file)) (let (...) (save-excursion ...)) results)
  (if (not buffer) (list (format "ORG-AGENDA-ERROR: No such org-file %s"
file)) (with-current-buffer buffer (unless ... ...) (let ... ...) results))
  (let* ((org-startup-folded nil) (org-startup-align-all-tables nil) (buffer
...) arg results rtn deadline-results) (if (not buffer) (list ...)
(with-current-buffer buffer ... ... results)))
  org-agenda-get-day-entries("~/gtd/Band/Band.org" (1 8 2010) :todo)
  (setq rtn (org-agenda-get-day-entries file date :todo))
  (catch (quote nextfile) (org-check-agenda-file file) (setq rtn
(org-agenda-get-day-entries file date :todo)) (setq rtnall (append rtnall
rtn)))
  (while (setq file (pop files)) (catch (quote nextfile)
(org-check-agenda-file file) (setq rtn ...) (setq rtnall ...)))
  (let* ((today ...) (date ...) (kwds org-todo-keywords-for-agenda)
(completion-ignore-case t) (org-select-this-todo-keyword ...) rtn rtnall
files file pos) (when (equal arg ...) (setq org-select-this-todo-keyword
...)) (and (equal 0 arg) (setq org-select-this-todo-keyword nil))
(org-set-local (quote org-last-arg) arg) (setq org-agenda-redo-command
(quote ...)) (setq files (org-agenda-files nil ...) rtnall nil) (while (setq
file ...) (catch ... ... ... ...)) (if org-agenda-overriding-header (insert
... "\n") (insert "Global list of TODO items of type: ")
(add-text-properties ... ... ...) (org-agenda-mark-header-line ...) (setq
pos ...) (insert ... "\n") (add-text-properties pos ... ...) (setq pos ...)
(unless org-agenda-multi ... ... ...) (add-text-properties pos ... ...))
(org-agenda-mark-header-line (point-min)) (when rtnall (insert ... "\n"))
(goto-char (point-min)) (or org-agenda-multi (org-fit-agenda-window))
(add-text-properties (point-min) (point-max) (quote ...))
(org-finalize-agenda) (setq buffer-read-only t))
  org-todo-list(nil)
  call-interactively(org-todo-list)
  (let ((org-agenda-title-append "<after>KEYS=u TITLE: alltodo </after>")
(org-agenda-skip-function ...) (org-agenda-overriding-header "Unscheduled
TODO entries: ")) (call-interactively (quote org-todo-list)))
  (let ((org-agenda-compact-blocks nil)) (let (... ... ...)
(call-interactively ...)))
  eval((let ((org-agenda-compact-blocks nil)) (let (... ... ...)
(call-interactively ...))))
  org-let2(((org-agenda-compact-blocks nil)) ((org-agenda-title-append
"<after>KEYS=u TITLE: alltodo </after>") (org-agenda-skip-function (lambda
nil ...)) (org-agenda-overriding-header "Unscheduled TODO entries: "))
(call-interactively (quote org-todo-list)))
  (cond ((eq type ...) (org-let2 gprops lprops ...)) ((eq type ...)
(org-let2 gprops lprops ...)) ((eq type ...) (org-let2 gprops lprops ...))
((eq type ...) (org-let2 gprops lprops ...)) ((eq type ...) (org-let2 gprops
lprops ...)) ((eq type ...) (org-let2 gprops lprops ...)) ((eq type ...)
(org-let2 gprops lprops ...)) ((fboundp type) (org-let2 gprops lprops ...))
(t (error "Invalid type in command series")))
  (while (setq cmd (pop cmds)) (setq type (car cmd) match (eval ...) lprops
(nth 2 cmd)) (cond (... ...) (... ...) (... ...) (... ...) (... ...) (...
...) (... ...) (... ...) (t ...)))
  (let* ((org-agenda-multi t) (redo ...) (cmds ...) (gprops ...) match cmd
type lprops) (while (setq cmd ...) (setq type ... match ... lprops ...)
(cond ... ... ... ... ... ... ... ... ...)) (widen) (setq
org-agenda-redo-command redo) (goto-char (point-min)))
  org-run-agenda-series("SUMO" (((agenda nil ...) (alltodo nil ...) (todo
#("DELEGATED" 0 9 ...) ...) (todo #("DONE|DEFERRED|CANCELLED" 0 23 ...) ...)
(todo #("WAITING" 0 7 ...) ...) (agenda "" ...) (agenda "" ...) (alltodo ""
...)) ((org-agenda-compact-blocks nil)) ("/home/cameron/mnt/mydisk/org/
agendas.org")))
  (if (or (symbolp ...) (functionp ...)) (progn (setq type ... match ...
lprops ...) (put ... ... lprops) (cond ... ... ... ... ... ... ... ... ...
... ... ... ...)) (org-run-agenda-series (nth 1 entry) (cddr entry)))
  (cond ((setq entry ...) (if ... ... ...)) ((equal keys "C") (setq
org-agenda-custom-commands org-agenda-custom-commands-orig)
(customize-variable ...)) ((equal keys "a") (call-interactively ...))
((equal keys "s") (call-interactively ...)) ((equal keys "t")
(call-interactively ...)) ((equal keys "T") (org-call-with-arg ... ...))
((equal keys "m") (call-interactively ...)) ((equal keys "M")
(org-call-with-arg ... ...)) ((equal keys "e") (call-interactively ...))
((equal keys "?") (org-tags-view nil "+FLAGGED") (org-add-hook ... ... t t))
((equal keys "L") (unless ... ...) (unless restriction ... ...)) ((equal
keys "#") (call-interactively ...)) ((equal keys "/") (call-interactively
...)) ((equal keys "!") (customize-variable ...)) (t (error "Invalid agenda
key")))
  (let* ((prefix-descriptions nil) (org-agenda-window-setup ...)
(org-agenda-custom-commands-orig org-agenda-custom-commands)
(org-agenda-custom-commands ...) (buf ...) (bfn ...) entry key type match
lprops ans) (unless org-agenda-overriding-restriction (unless ... ...) (setq
org-agenda-restrict nil) (move-marker org-agenda-restrict-begin nil)
(move-marker org-agenda-restrict-end nil)) (put (quote
org-agenda-redo-command) (quote org-lprops) nil) (setq
org-agenda-last-dispatch-buffer (current-buffer)) (unless keys (setq ans ...
keys ... restriction ...)) (when (and ... restriction) (put ... ... ...)
(cond ... ...)) (require (quote calendar)) (cond (... ...) (... ... ...)
(... ...) (... ...) (... ...) (... ...) (... ...) (... ...) (... ...) (...
... ...) (... ... ...) (... ...) (... ...) (... ...) (t ...)))
  (catch (quote exit) (let* (... ... ... ... ... ... entry key type match
lprops ans) (unless org-agenda-overriding-restriction ... ... ... ...) (put
... ... nil) (setq org-agenda-last-dispatch-buffer ...) (unless keys ...)
(when ... ... ...) (require ...) (cond ... ... ... ... ... ... ... ... ...
... ... ... ... ... ...)))
  org-agenda(nil "X")
  (let ((org-agenda-compact-blocks nil)) (org-agenda nil "X"))
  eval((let ((org-agenda-compact-blocks nil)) (org-agenda nil "X")))
  (progn (eval (list ... ... ...)) (set-buffer org-agenda-buffer-name)
(while files (eval ...)) (and (get-buffer org-agenda-buffer-name)
(kill-buffer org-agenda-buffer-name)))
  (if files (progn (eval ...) (set-buffer org-agenda-buffer-name) (while
files ...) (and ... ...)))
  (when files (eval (list ... ... ...)) (set-buffer org-agenda-buffer-name)
(while files (eval ...)) (and (get-buffer org-agenda-buffer-name)
(kill-buffer org-agenda-buffer-name)))
  (while cmds (setq cmd (pop cmds) thiscmdkey (car cmd) cmd-or-set (nth 2
cmd) opts (nth ... cmd) files (nth ... cmd)) (if (stringp files) (setq files
...)) (when files (eval ...) (set-buffer org-agenda-buffer-name) (while
files ...) (and ... ...)))
  (save-window-excursion (while cmds (setq cmd ... thiscmdkey ... cmd-or-set
... opts ... files ...) (if ... ...) (when files ... ... ... ...)))
  (let ((cmds ...) (pop-up-frames nil) (dir default-directory) pars cmd
thiscmdkey files opts cmd-or-set) (while parameters (push ... pars)) (setq
pars (reverse pars)) (save-window-excursion (while cmds ... ... ...)))
  (lambda (&rest parameters) "Run all custom agenda commands that have a
file argument." (let (... ... ... pars cmd thiscmdkey files opts cmd-or-set)
(while parameters ...) (setq pars ...) (save-window-excursion ...)))()
  (org-batch-store-agenda-views)
  eval((org-batch-store-agenda-views))
  org-store-agenda-views()
  (progn (org-store-agenda-views))
  (if sumo (progn (org-store-agenda-views)))
  (when sumo (org-store-agenda-views))
  (let* ((file ...) (sumo ...) (org-agenda-custom-commands ...)
(org-mobile-creating-agendas t)) (unless (file-writable-p file) (error
"Cannot write to file %s" file)) (when sumo (org-store-agenda-views)))
  org-mobile-create-sumo-agenda()
  (let ((inhibit-redisplay t)) (org-mobile-create-sumo-agenda))
  (save-window-excursion (org-mobile-check-setup)
(org-mobile-prepare-file-lists) (run-hooks (quote org-mobile-pre-push-hook))
(message "Creating agendas...") (let (...) (org-mobile-create-sumo-agenda))
(message "Creating agendas...done") (org-save-all-org-buffers) (message
"Copying files...") (org-mobile-copy-agenda-files) (message "Writing index
file...") (org-mobile-create-index-file) (message "Writing checksums...")
(org-mobile-write-checksums) (run-hooks (quote org-mobile-post-push-hook)))
  (save-excursion (save-window-excursion (org-mobile-check-setup)
(org-mobile-prepare-file-lists) (run-hooks ...) (message "Creating
agendas...") (let ... ...) (message "Creating agendas...done")
(org-save-all-org-buffers) (message "Copying files...")
(org-mobile-copy-agenda-files) (message "Writing index file...")
(org-mobile-create-index-file) (message "Writing checksums...")
(org-mobile-write-checksums) (run-hooks ...)))
  (let ((org-agenda-buffer-name "*SUMO*") (org-agenda-filter
org-agenda-filter) (org-agenda-redo-command org-agenda-redo-command))
(save-excursion (save-window-excursion ... ... ... ... ... ... ... ... ...
... ... ... ... ...)))
  (let ((a-buffer ...)) (let (... ... ...) (save-excursion ...))
(redraw-display) (when (and a-buffer ...) (if ... ... ...)))
  org-mobile-push()
  call-interactively(org-mobile-push nil nil)


-- 


Cameron Horsburgh
blog: http://spiritcry.wordpress.com

[-- Attachment #1.2: Type: text/html, Size: 26311 bytes --]

[-- Attachment #2: Type: text/plain, Size: 201 bytes --]

_______________________________________________
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

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Problem pushing to org-mobile
  2010-01-08  3:05 Problem pushing to org-mobile Cameron Horsburgh
@ 2010-01-08  5:56 ` Carsten Dominik
  0 siblings, 0 replies; 2+ messages in thread
From: Carsten Dominik @ 2010-01-08  5:56 UTC (permalink / raw)
  To: Cameron Horsburgh; +Cc: Emacs-orgmode

Hi Cameron,

one of your own custom agenda commands seems to not work properly.
Please try all the commands listed when calling `org-agenda' (`C-c a')
one by one to identify the trouble maker.  Then fix the regular
expression you are using in the skip function.

HTH

- Carsten

On Jan 8, 2010, at 4:05 AM, Cameron Horsburgh wrote:

>
> Hi folks,
>
> For the last week I haven't been able to push to my WebDAV account.  
> When I run M-x org-mobile-push it seems to get stuck creating an  
> agenda file and fails with the message 'org-agenda-skip-if: Invalid  
> regexp: "Unmatched [ or [^" '
>
> I've tried a few things to nail the problem down. I've removed  
> (most) of my files from the agenda list, leaving only files I know  
> have worked recently. I've run git-bisect against a version I know  
> to have worked and the same error appears every time, including the  
> known good one. So I'm going to assume I have a problem with my set  
> up.
>
> Here's my config, and I've included a backtrace at the end if anyone  
> finds it useful. Thanks for your help!
>
> current state:
> ==============
> (setq
>  org-export-latex-after-initial-vars-hook '(org-beamer-after-initial- 
> vars)
>  org-agenda-custom-commands '(("X" "SUMO"
> 			       ((agenda nil ((org-agenda-title-append "<after>KEYS=a  
> TITLE: Agenda </after>")))
> 				(alltodo nil ((org-agenda-title-append "<after>KEYS=t TITLE: ALL  
> TODO </after>")))
> 				(todo #("DELEGATED" 0 9 (face org-warning))
> 				 ((org-agenda-title-append
> 				   #("<after>KEYS=d TITLE: todo DELEGATED</after>" 26 35 (face  
> org-warning)))
> 				  )
> 				 )
> 				(todo #("DONE|DEFERRED|CANCELLED" 0 23 (face org-warning))
> 				 ((org-agenda-title-append
> 				   #("<after>KEYS=c TITLE: todo DONE|DEFERRED|CANCELLED</after>"  
> 26 49 (face org-warning))
> 				   )
> 				  )
> 				 )
> 				(todo #("WAITING" 0 7 (face org-warning))
> 				 ((org-agenda-title-append
> 				   #("<after>KEYS=w TITLE: todo WAITING</after>" 26 33 (face org- 
> warning)))
> 				  )
> 				 )
> 				(agenda ""
> 				 ((org-agenda-title-append "<after>KEYS=W TITLE: agenda </ 
> after>") (org-agenda-ndays 21)))
> 				(agenda ""
> 				 ((org-agenda-title-append "<after>KEYS=A TITLE: agenda </after>")
> 				  (org-agenda-skip-function
> 				   (lambda nil (org-agenda-skip-entry-if (quote notregexp) "\\=.* 
> \\[#A\\]")))
> 				  (org-agenda-ndays 1) (org-agenda-overriding-header "Today's  
> Priority #A tasks: "))
> 				 )
> 				(alltodo ""
> 				 ((org-agenda-title-append "<after>KEYS=u TITLE: alltodo </ 
> after>")
> 				  (org-agenda-skip-function
> 				   (lambda nil
> 				    (org-agenda-skip-entry-if (quote scheduled) (quote deadline)  
> (quote regexp) "<[^> >"))
> 				   )
> 				  (org-agenda-overriding-header "Unscheduled TODO entries: "))
> 				 )
> 				)
> 			       ((org-agenda-compact-blocks nil)) ("/home/cameron/mnt/ 
> mydisk/org/agendas.org"))
> 			      )
>  org-agenda-files '("~/gtd/diary.org" "~/gtd/Band/Band.org" "~/gtd/ 
> rsa/RSA.org" "~/gtd/JuniorYouthGroup/YouthGroup.org"
> 		    "~/gtd/Netball/Netball.org" "~/gtd/todo.org")
>  org-blocker-hook '(org-block-todo-from-children-or-siblings-or- 
> parent)
>  org-agenda-show-inherited-tags nil
>  org-after-todo-state-change-hook '(org-clock-out-if-current)
>  org-agenda-remove-tags t
>  org-startup-folded nil
>  org-deadline-warning-days 7
>  org-export-latex-format-toc-function 'org-export-latex-format-toc- 
> default
>  org-agenda-skip-scheduled-if-done t
>  org-stuck-projects '("+LEVEL=2/-DONE" ("TODO" "NEXT" "NEXTACTION")  
> ("Info") "")
>  org-export-preprocess-hook '(org-export-blocks-preprocess)
>  org-mobile-inbox-for-pull "~/gtd/from-mobile.org"
>  org-tab-first-hook '(org-hide-block-toggle-maybe)
>  org-src-mode-hook '(org-src-mode-configure-edit-buffer)
>  org-confirm-shell-link-function 'yes-or-no-p
>  org-export-first-hook '(org-beamer-initialize-open-trackers)
>  org-agenda-before-write-hook '(org-agenda-add-entry-text)
>  org-default-notes-file "~/gtd/notes.org"
>  org-agenda-skip-function '(lambda nil
> 			    (org-agenda-skip-entry-if (quote scheduled) (quote deadline)  
> (quote regexp) "<[^> >"))
>  org-directory "~/gtd/"
>  org-export-docbook-xslt-proc-command "java  
> org.apache.xalan.xslt.Process -out %s -in %s -xsl /usr/share/xml/ 
> docbook/stylesheet/docbook-xsl/xhtml-1_1/docbook.xsl"
>  org-blank-before-new-entry '((heading) (plain-list-item))
>  org-cycle-hook '(org-cycle-hide-archived-subtrees org-cycle-hide- 
> drawers org-cycle-show-empty-lines
> 		  org-optimize-window-after-visibility-change)
>  org-export-preprocess-before-normalizing-links-hook '(org-remove- 
> file-link-modifiers)
>  org-mode-hook '((lambda nil
> 		  (org-add-hook (quote change-major-mode-hook) (quote org-show- 
> block-all) (quote append) (quote local)))
> 		 #[nil "\300\301\302\303\304$\207" [org-add-hook change-major-mode- 
> hook org-show-block-all append local]
> 		   5]
> 		 )
>  org-confirm-elisp-link-function 'yes-or-no-p
>  org-fast-tag-selection-single-key 'expert
>  org-agenda-start-on-weekday nil
>  org-enforce-todo-dependencies t
>  org-agenda-skip-deadline-if-done t
>  org-reverse-note-order t
>  org-occur-hook '(org-first-headline-recenter)
>  org-from-is-user-regexp "\\<Cameron Horsburgh\\>"
>  org-mobile-directory "~/mnt/mydisk/org/"
>  org-export-preprocess-before-selecting-backend-code-hook '(org- 
> beamer-select-beamer-code)
>  org-export-docbook-xsl-fo-proc-command "fop %s %s"
>  org-remember-templates '(("" 116 "* TODO %?" "~/gtd/todo.org"  
> "Unfiled items")
> 			  ("" 110 "* %u %?" "~/gtd/notes.org" "Notes")
> 			  ("My diary entry" 100 "* Diary entry: %?\n %^T" "~/gtd/ 
> diary.org" "Diary date")
> 			  ("" 119 "* %u %c %:region" "~/gtd/bookmarks.org" "Web links"))
>  org-export-latex-final-hook '(org-beamer-amend-header org-beamer- 
> fix-toc org-beamer-auto-fragile-frames
> 			       org-beamer-place-default-actions-for-lists)
>  )
>
> =============Backtrace
>
> Debugger entered--Lisp error: (invalid-regexp "Unmatched [ or [^")
>   re-search-forward("<[^> >" 641 t)
>   (and (setq m (memq ... conditions)) (stringp (nth 1 m)) (re-search- 
> forward (nth 1 m) end t))
>   (or (and (memq ... conditions) (re-search-forward org-scheduled- 
> time-regexp end t)) (and (memq ... conditions) (not ...)) (and  
> (memq ... conditions) (re-search-forward org-deadline-time-regexp  
> end t)) (and (memq ... conditions) (not ...)) (and (memq ...  
> conditions) (re-search-forward org-ts-regexp end t)) (and (memq ...  
> conditions) (not ...)) (and (setq m ...) (stringp ...) (re-search- 
> forward ... end t)) (and (setq m ...) (stringp ...) (not ...)))
>   (and (or (and ... ...) (and ... ...) (and ... ...) (and ... ...)  
> (and ... ...) (and ... ...) (and ... ... ...) (and ... ... ...)) end)
>   (let (beg end m) (org-back-to-heading t) (setq beg (point) end (if  
> subtree ... ...)) (goto-char beg) (and  
> (or ... ... ... ... ... ... ... ...) end))
>   org-agenda-skip-if(nil (scheduled deadline regexp "<[^> >"))
>   org-agenda-skip-entry-if(scheduled deadline regexp "<[^> >")
>   (lambda nil (org-agenda-skip-entry-if (quote scheduled) (quote  
> deadline) (quote regexp) "<[^> >"))()
>   funcall((lambda nil (org-agenda-skip-entry-if (quote scheduled)  
> (quote deadline) (quote regexp) "<[^> >")))
>   (if fp (funcall org-agenda-skip-function) (eval org-agenda-skip- 
> function))
>   (progn (if fp (funcall org-agenda-skip-function) (eval org-agenda- 
> skip-function)))
>   (unwind-protect (progn (if fp ... ...)) (set-match-data save-match- 
> data-internal (quote evaporate)))
>   (let ((save-match-data-internal ...)) (unwind-protect (progn ...)  
> (set-match-data save-match-data-internal ...)))
>   (save-match-data (if fp (funcall org-agenda-skip-function) (eval  
> org-agenda-skip-function)))
>   (save-excursion (save-match-data (if fp ... ...)))
>   (setq to (save-excursion (save-match-data ...)))
>   (and (or (setq fp ...) (consp org-agenda-skip-function)) (setq to  
> (save-excursion ...)))
>   (if (and (or ... ...) (setq to ...)) (progn (goto-char to)  
> (throw :skip t)))
>   (when (and (or ... ...) (setq to ...)) (goto-char to) (throw :skip  
> t))
>   (let ((p ...) to fp) (and org-agenda-skip-archived-trees (not org- 
> agenda-archives-mode) (get-text-property p :org-archived) (org-end- 
> of-subtree t) (throw :skip t)) (and org-agenda-skip-comment-trees  
> (get-text-property p :org-comment) (org-end-of-subtree t)  
> (throw :skip t)) (if (equal ... 35) (throw :skip t)) (when  
> (and ... ...) (goto-char to) (throw :skip t)))
>   org-agenda-skip()
>   (catch :skip (save-match-data (beginning-of-line) (setq beg ...  
> end ...) (when ... ... ... ...)) (goto-char beg) (org-agenda-skip)  
> (goto-char (match-beginning 1)) (setq marker (org-agenda-new- 
> marker ...) category (org-get-category) txt (match-string 1) tags  
> (org-get-tags-at ...) txt (org-format-agenda-item "" txt category  
> tags) priority (1+ ...) todo-state (org-get-todo-state)) (org-add- 
> props txt props (quote org-marker) marker (quote org-hd-marker)  
> marker (quote priority) priority (quote org-category) category  
> (quote type) "todo" (quote todo-state) todo-state) (push txt ee) (if  
> org-agenda-todo-list-sublevels (goto-char ...) (org-end-of- 
> subtree ...)))
>   (while (re-search-forward regexp nil t) (catch :skip (save-match- 
> data ... ... ...) (goto-char beg) (org-agenda-skip) (goto-char ...)  
> (setq marker ... category ... txt ... tags ... txt ... priority ...  
> todo-state ...) (org-add-props txt props ... marker ... marker ...  
> priority ... category ... "todo" ... todo-state) (push txt ee) (if  
> org-agenda-todo-list-sublevels ... ...)))
>   (let* ((props ...) (regexp ...) marker priority category tags todo- 
> state ee txt beg end) (goto-char (point-min)) (while (re-search- 
> forward regexp nil t) (catch :skip ... ... ... ... ... ... ... ...))  
> (nreverse ee))
>   org-agenda-get-todos()
>   (setq rtn (org-agenda-get-todos))
>   (cond ((and ... ...) (setq rtn ...) (setq results ...)) ((eq  
> arg :timestamp) (setq rtn ...) (setq results ...) (setq rtn ...)  
> (setq results ...)) ((eq arg :sexp) (setq rtn ...) (setq  
> results ...)) ((eq arg :scheduled) (setq rtn ...) (setq  
> results ...)) ((eq arg :closed) (setq rtn ...) (setq results ...))  
> ((eq arg :deadline) (setq rtn ...) (setq deadline-results ...) (setq  
> results ...)))
>   (while (setq arg (pop args)) (cond (... ... ...)  
> (... ... ... ... ...) (... ... ...) (... ... ...) (... ... ...)  
> (... ... ... ...)))
>   (save-restriction (if org-agenda-restrict (narrow-to-region org- 
> agenda-restrict-begin org-agenda-restrict-end) (widen)) (while (setq  
> arg ...) (cond ... ... ... ... ... ...)))
>   (save-excursion (save-restriction (if org-agenda-restrict ... ...)  
> (while ... ...)))
>   (let ((case-fold-search nil)) (save-excursion (save- 
> restriction ... ...)))
>   (save-current-buffer (set-buffer buffer) (unless (org-mode-p)  
> (error "Agenda file %s is not in `org-mode'" file)) (let (...) (save- 
> excursion ...)) results)
>   (with-current-buffer buffer (unless (org-mode-p) (error "Agenda  
> file %s is not in `org-mode'" file)) (let (...) (save- 
> excursion ...)) results)
>   (if (not buffer) (list (format "ORG-AGENDA-ERROR: No such org-file  
> %s" file)) (with-current-buffer buffer (unless ... ...)  
> (let ... ...) results))
>   (let* ((org-startup-folded nil) (org-startup-align-all-tables nil)  
> (buffer ...) arg results rtn deadline-results) (if (not buffer)  
> (list ...) (with-current-buffer buffer ... ... results)))
>   org-agenda-get-day-entries("~/gtd/Band/Band.org" (1 8 2010) :todo)
>   (setq rtn (org-agenda-get-day-entries file date :todo))
>   (catch (quote nextfile) (org-check-agenda-file file) (setq rtn  
> (org-agenda-get-day-entries file date :todo)) (setq rtnall (append  
> rtnall rtn)))
>   (while (setq file (pop files)) (catch (quote nextfile) (org-check- 
> agenda-file file) (setq rtn ...) (setq rtnall ...)))
>   (let* ((today ...) (date ...) (kwds org-todo-keywords-for-agenda)  
> (completion-ignore-case t) (org-select-this-todo-keyword ...) rtn  
> rtnall files file pos) (when (equal arg ...) (setq org-select-this- 
> todo-keyword ...)) (and (equal 0 arg) (setq org-select-this-todo- 
> keyword nil)) (org-set-local (quote org-last-arg) arg) (setq org- 
> agenda-redo-command (quote ...)) (setq files (org-agenda-files  
> nil ...) rtnall nil) (while (setq file ...) (catch ... ... ... ...))  
> (if org-agenda-overriding-header (insert ... "\n") (insert "Global  
> list of TODO items of type: ") (add-text-properties ... ... ...)  
> (org-agenda-mark-header-line ...) (setq pos ...) (insert ... "\n")  
> (add-text-properties pos ... ...) (setq pos ...) (unless org-agenda- 
> multi ... ... ...) (add-text-properties pos ... ...)) (org-agenda- 
> mark-header-line (point-min)) (when rtnall (insert ... "\n")) (goto- 
> char (point-min)) (or org-agenda-multi (org-fit-agenda-window)) (add- 
> text-properties (point-min) (point-max) (quote ...)) (org-finalize- 
> agenda) (setq buffer-read-only t))
>   org-todo-list(nil)
>   call-interactively(org-todo-list)
>   (let ((org-agenda-title-append "<after>KEYS=u TITLE: alltodo </ 
> after>") (org-agenda-skip-function ...) (org-agenda-overriding- 
> header "Unscheduled TODO entries: ")) (call-interactively (quote org- 
> todo-list)))
>   (let ((org-agenda-compact-blocks nil)) (let (... ... ...) (call- 
> interactively ...)))
>   eval((let ((org-agenda-compact-blocks nil)) (let (... ... ...)  
> (call-interactively ...))))
>   org-let2(((org-agenda-compact-blocks nil)) ((org-agenda-title- 
> append "<after>KEYS=u TITLE: alltodo </after>") (org-agenda-skip- 
> function (lambda nil ...)) (org-agenda-overriding-header  
> "Unscheduled TODO entries: ")) (call-interactively (quote org-todo- 
> list)))
>   (cond ((eq type ...) (org-let2 gprops lprops ...)) ((eq type ...)  
> (org-let2 gprops lprops ...)) ((eq type ...) (org-let2 gprops  
> lprops ...)) ((eq type ...) (org-let2 gprops lprops ...)) ((eq  
> type ...) (org-let2 gprops lprops ...)) ((eq type ...) (org-let2  
> gprops lprops ...)) ((eq type ...) (org-let2 gprops lprops ...))  
> ((fboundp type) (org-let2 gprops lprops ...)) (t (error "Invalid  
> type in command series")))
>   (while (setq cmd (pop cmds)) (setq type (car cmd) match (eval ...)  
> lprops (nth 2 cmd)) (cond (... ...) (... ...) (... ...) (... ...)  
> (... ...) (... ...) (... ...) (... ...) (t ...)))
>   (let* ((org-agenda-multi t) (redo ...) (cmds ...) (gprops ...)  
> match cmd type lprops) (while (setq cmd ...) (setq type ...  
> match ... lprops ...) (cond ... ... ... ... ... ... ... ... ...))  
> (widen) (setq org-agenda-redo-command redo) (goto-char (point-min)))
>   org-run-agenda-series("SUMO" (((agenda nil ...) (alltodo nil ...)  
> (todo #("DELEGATED" 0 9 ...) ...) (todo #("DONE|DEFERRED|CANCELLED"  
> 0 23 ...) ...) (todo #("WAITING" 0 7 ...) ...) (agenda "" ...)  
> (agenda "" ...) (alltodo "" ...)) ((org-agenda-compact-blocks nil))  
> ("/home/cameron/mnt/mydisk/org/agendas.org")))
>   (if (or (symbolp ...) (functionp ...)) (progn (setq type ...  
> match ... lprops ...) (put ... ... lprops)  
> (cond ... ... ... ... ... ... ... ... ... ... ... ... ...)) (org-run- 
> agenda-series (nth 1 entry) (cddr entry)))
>   (cond ((setq entry ...) (if ... ... ...)) ((equal keys "C") (setq  
> org-agenda-custom-commands org-agenda-custom-commands-orig)  
> (customize-variable ...)) ((equal keys "a") (call- 
> interactively ...)) ((equal keys "s") (call-interactively ...))  
> ((equal keys "t") (call-interactively ...)) ((equal keys "T") (org- 
> call-with-arg ... ...)) ((equal keys "m") (call-interactively ...))  
> ((equal keys "M") (org-call-with-arg ... ...)) ((equal keys "e")  
> (call-interactively ...)) ((equal keys "?") (org-tags-view nil  
> "+FLAGGED") (org-add-hook ... ... t t)) ((equal keys "L")  
> (unless ... ...) (unless restriction ... ...)) ((equal keys "#")  
> (call-interactively ...)) ((equal keys "/") (call- 
> interactively ...)) ((equal keys "!") (customize-variable ...)) (t  
> (error "Invalid agenda key")))
>   (let* ((prefix-descriptions nil) (org-agenda-window-setup ...)  
> (org-agenda-custom-commands-orig org-agenda-custom-commands) (org- 
> agenda-custom-commands ...) (buf ...) (bfn ...) entry key type match  
> lprops ans) (unless org-agenda-overriding-restriction  
> (unless ... ...) (setq org-agenda-restrict nil) (move-marker org- 
> agenda-restrict-begin nil) (move-marker org-agenda-restrict-end  
> nil)) (put (quote org-agenda-redo-command) (quote org-lprops) nil)  
> (setq org-agenda-last-dispatch-buffer (current-buffer)) (unless keys  
> (setq ans ... keys ... restriction ...)) (when (and ... restriction)  
> (put ... ... ...) (cond ... ...)) (require (quote calendar)) (cond  
> (... ...) (... ... ...) (... ...) (... ...) (... ...) (... ...)  
> (... ...) (... ...) (... ...) (... ... ...) (... ... ...) (... ...)  
> (... ...) (... ...) (t ...)))
>   (catch (quote exit) (let* (... ... ... ... ... ... entry key type  
> match lprops ans) (unless org-agenda-overriding- 
> restriction ... ... ... ...) (put ... ... nil) (setq org-agenda-last- 
> dispatch-buffer ...) (unless keys ...) (when ... ... ...)  
> (require ...)  
> (cond ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...)))
>   org-agenda(nil "X")
>   (let ((org-agenda-compact-blocks nil)) (org-agenda nil "X"))
>   eval((let ((org-agenda-compact-blocks nil)) (org-agenda nil "X")))
>   (progn (eval (list ... ... ...)) (set-buffer org-agenda-buffer- 
> name) (while files (eval ...)) (and (get-buffer org-agenda-buffer- 
> name) (kill-buffer org-agenda-buffer-name)))
>   (if files (progn (eval ...) (set-buffer org-agenda-buffer-name)  
> (while files ...) (and ... ...)))
>   (when files (eval (list ... ... ...)) (set-buffer org-agenda- 
> buffer-name) (while files (eval ...)) (and (get-buffer org-agenda- 
> buffer-name) (kill-buffer org-agenda-buffer-name)))
>   (while cmds (setq cmd (pop cmds) thiscmdkey (car cmd) cmd-or-set  
> (nth 2 cmd) opts (nth ... cmd) files (nth ... cmd)) (if (stringp  
> files) (setq files ...)) (when files (eval ...) (set-buffer org- 
> agenda-buffer-name) (while files ...) (and ... ...)))
>   (save-window-excursion (while cmds (setq cmd ... thiscmdkey ...  
> cmd-or-set ... opts ... files ...) (if ... ...) (when  
> files ... ... ... ...)))
>   (let ((cmds ...) (pop-up-frames nil) (dir default-directory) pars  
> cmd thiscmdkey files opts cmd-or-set) (while parameters (push ...  
> pars)) (setq pars (reverse pars)) (save-window-excursion (while  
> cmds ... ... ...)))
>   (lambda (&rest parameters) "Run all custom agenda commands that  
> have a file argument." (let (... ... ... pars cmd thiscmdkey files  
> opts cmd-or-set) (while parameters ...) (setq pars ...) (save-window- 
> excursion ...)))()
>   (org-batch-store-agenda-views)
>   eval((org-batch-store-agenda-views))
>   org-store-agenda-views()
>   (progn (org-store-agenda-views))
>   (if sumo (progn (org-store-agenda-views)))
>   (when sumo (org-store-agenda-views))
>   (let* ((file ...) (sumo ...) (org-agenda-custom-commands ...) (org- 
> mobile-creating-agendas t)) (unless (file-writable-p file) (error  
> "Cannot write to file %s" file)) (when sumo (org-store-agenda-views)))
>   org-mobile-create-sumo-agenda()
>   (let ((inhibit-redisplay t)) (org-mobile-create-sumo-agenda))
>   (save-window-excursion (org-mobile-check-setup) (org-mobile- 
> prepare-file-lists) (run-hooks (quote org-mobile-pre-push-hook))  
> (message "Creating agendas...") (let (...) (org-mobile-create-sumo- 
> agenda)) (message "Creating agendas...done") (org-save-all-org- 
> buffers) (message "Copying files...") (org-mobile-copy-agenda-files)  
> (message "Writing index file...") (org-mobile-create-index-file)  
> (message "Writing checksums...") (org-mobile-write-checksums) (run- 
> hooks (quote org-mobile-post-push-hook)))
>   (save-excursion (save-window-excursion (org-mobile-check-setup)  
> (org-mobile-prepare-file-lists) (run-hooks ...) (message "Creating  
> agendas...") (let ... ...) (message "Creating agendas...done") (org- 
> save-all-org-buffers) (message "Copying files...") (org-mobile-copy- 
> agenda-files) (message "Writing index file...") (org-mobile-create- 
> index-file) (message "Writing checksums...") (org-mobile-write- 
> checksums) (run-hooks ...)))
>   (let ((org-agenda-buffer-name "*SUMO*") (org-agenda-filter org- 
> agenda-filter) (org-agenda-redo-command org-agenda-redo-command))  
> (save-excursion (save-window- 
> excursion ... ... ... ... ... ... ... ... ... ... ... ... ... ...)))
>   (let ((a-buffer ...)) (let (... ... ...) (save-excursion ...))  
> (redraw-display) (when (and a-buffer ...) (if ... ... ...)))
>   org-mobile-push()
>   call-interactively(org-mobile-push nil nil)
>
>
> -- 
>
>
> Cameron Horsburgh
> blog: http://spiritcry.wordpress.com
> _______________________________________________
> 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

- Carsten

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2010-01-08  5:56 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-01-08  3:05 Problem pushing to org-mobile Cameron Horsburgh
2010-01-08  5:56 ` Carsten Dominik

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).