* Escaping org mode date properties
@ 2022-01-01 12:24 Eduardo Suarez
2022-01-01 15:10 ` Ihor Radchenko
0 siblings, 1 reply; 8+ messages in thread
From: Eduardo Suarez @ 2022-01-01 12:24 UTC (permalink / raw)
To: emacs-orgmode
The next code snippet makes the entry to appear in the agenda:
* sample date code
#+begin_src org
SCHEDULED: <2015-02-16 Mon .+2d>
#+end_src
I have also tried without success:
- using begin_example,
- preceding with comma,
- special edit,
- starting the line with colon.
Any hint?
On the other hand, I wonder whether it is possible to make a subtree to be
ignored by the agenda views.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Escaping org mode date properties
2022-01-01 12:24 Escaping org mode date properties Eduardo Suarez
@ 2022-01-01 15:10 ` Ihor Radchenko
2022-01-01 20:01 ` Eduardo Suarez-Santana
0 siblings, 1 reply; 8+ messages in thread
From: Ihor Radchenko @ 2022-01-01 15:10 UTC (permalink / raw)
To: Eduardo Suarez; +Cc: emacs-orgmode
Eduardo Suarez <esuarez@itccanarias.org> writes:
> The next code snippet makes the entry to appear in the agenda:
>
> * sample date code
> #+begin_src org
> SCHEDULED: <2015-02-16 Mon .+2d>
> #+end_src
I am unable to reproduce. What are your Org and Emacs versions?
> Any hint?
Update org?
> On the other hand, I wonder whether it is possible to make a subtree to be
> ignored by the agenda views.
Depending what you want, you may use org-agenda-todo-list-sublevels or
add agenda filter excluding specific tags that you can then use to mark
undesired subtrees.
Best,
Ihor
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: Escaping org mode date properties
2022-01-01 15:10 ` Ihor Radchenko
@ 2022-01-01 20:01 ` Eduardo Suarez-Santana
2022-01-02 2:51 ` [PATCH] " Ihor Radchenko
0 siblings, 1 reply; 8+ messages in thread
From: Eduardo Suarez-Santana @ 2022-01-01 20:01 UTC (permalink / raw)
To: Ihor Radchenko; +Cc: emacs-orgmode
On Sat, Jan 01, 2022 at 11:10:30PM +0800, Ihor Radchenko wrote:
> Eduardo Suarez <esuarez@itccanarias.org> writes:
>
> > The next code snippet makes the entry to appear in the agenda:
> >
> > * sample date code
> > #+begin_src org
> > SCHEDULED: <2015-02-16 Mon .+2d>
> > #+end_src
>
> I am unable to reproduce. What are your Org and Emacs versions?
I'm using Spacemacs (develop branch).
- Emacs 27.2
- Org 9.5.1
I get a weird behaviour about it. These events appear when I start emacs. If I
edit somehow these entries they disappear from the agenda view (until I start
emacs again).
> > On the other hand, I wonder whether it is possible to make a subtree to be
> > ignored by the agenda views.
>
> Depending what you want, you may use org-agenda-todo-list-sublevels or
> add agenda filter excluding specific tags that you can then use to mark
> undesired subtrees.
Could be a workaround. Thanks a lot.
Anyway it looks like a bug to me.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH] Re: Escaping org mode date properties
2022-01-01 20:01 ` Eduardo Suarez-Santana
@ 2022-01-02 2:51 ` Ihor Radchenko
2022-01-02 21:04 ` Eduardo Suarez-Santana
0 siblings, 1 reply; 8+ messages in thread
From: Ihor Radchenko @ 2022-01-02 2:51 UTC (permalink / raw)
To: Eduardo Suarez-Santana; +Cc: emacs-orgmode
[-- Attachment #1: Type: text/plain, Size: 1379 bytes --]
Eduardo Suarez-Santana <esuarez@itccanarias.org> writes:
>> I am unable to reproduce. What are your Org and Emacs versions?
>
> I'm using Spacemacs (develop branch).
>
> - Emacs 27.2
> - Org 9.5.1
>
> I get a weird behaviour about it. These events appear when I start emacs. If I
> edit somehow these entries they disappear from the agenda view (until I start
> emacs again).
Confirmed
Thanks for the hint! I was able to reproduce entries disappearing from
agenda view.
The culprit is org-in-src-block-p. It relies on fontification to
determine if we are inside a code block. However, when you strip a code
block with SCHEDULED inside from begin/end lines, the fontification
properties do not get removed.
The attached patch should fix the issue. However, I need several people
to test it first - the patch will make things slower without cache.
>> Depending what you want, you may use org-agenda-todo-list-sublevels or
>> add agenda filter excluding specific tags that you can then use to mark
>> undesired subtrees.
>
> Could be a workaround. Thanks a lot.
>
> Anyway it looks like a bug to me.
For future. You will make things much easier if you provide a clear
sequence of steps to reproduce the problem. Your original report is not
reproducible if I just copy-paste your code into a new org file. I had
to guess what you did in order to see the problem.
Best,
Ihor
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-org-in-src-block-p-Do-not-rely-on-fontification.patch --]
[-- Type: text/x-diff, Size: 2088 bytes --]
From 0f046ebe94bbe84ac2f167feda527022bfac4e6e Mon Sep 17 00:00:00 2001
Message-Id: <0f046ebe94bbe84ac2f167feda527022bfac4e6e.1641091542.git.yantar92@gmail.com>
From: Ihor Radchenko <yantar92@gmail.com>
Date: Sun, 2 Jan 2022 10:30:03 +0800
Subject: [PATCH] org-in-src-block-p: Do not rely on fontification
* lisp/org.el (org-in-src-block-p): New optional argument ELEMENT.
The code now relies on org-element API to check if we are inside
src-block.
Fixes https://list.orgmode.org/20220101200103.GB29829@itccanarias.org/T/#t
---
lisp/org.el | 20 +++++++++++---------
1 file changed, 11 insertions(+), 9 deletions(-)
diff --git a/lisp/org.el b/lisp/org.el
index 8c09a057c..7ea8d65f3 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -18731,17 +18731,19 @@ (defun org-uuidgen-p (s)
"Is S an ID created by UUIDGEN?"
(string-match "\\`[0-9a-f]\\{8\\}-[0-9a-f]\\{4\\}-[0-9a-f]\\{4\\}-[0-9a-f]\\{4\\}-[0-9a-f]\\{12\\}\\'" (downcase s)))
-(defun org-in-src-block-p (&optional inside)
+(defun org-in-src-block-p (&optional inside element)
"Whether point is in a code source block.
When INSIDE is non-nil, don't consider we are within a source
-block when point is at #+BEGIN_SRC or #+END_SRC."
- (let ((case-fold-search t))
- (or (and (eq (get-char-property (point) 'src-block) t))
- (and (not inside)
- (save-match-data
- (save-excursion
- (beginning-of-line)
- (looking-at ".*#\\+\\(begin\\|end\\)_src")))))))
+block when point is at #+BEGIN_SRC or #+END_SRC.
+When ELEMENT is provided, it is considered to be element at point."
+ (save-match-data (setq element (or element (org-element-at-point))))
+ (when (eq 'src-block (org-element-type element))
+ (or (not inside)
+ (not (or (= (line-beginning-position)
+ (org-element-property :post-affiliated element))
+ (= (1+ (line-end-position))
+ (- (org-element-property :end element)
+ (org-element-property :post-blank element))))))))
(defun org-context ()
"Return a list of contexts of the current cursor position.
--
2.34.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH] Re: Escaping org mode date properties
2022-01-02 2:51 ` [PATCH] " Ihor Radchenko
@ 2022-01-02 21:04 ` Eduardo Suarez-Santana
2022-01-03 3:39 ` Ihor Radchenko
0 siblings, 1 reply; 8+ messages in thread
From: Eduardo Suarez-Santana @ 2022-01-02 21:04 UTC (permalink / raw)
To: Ihor Radchenko; +Cc: emacs-orgmode
On Sun, Jan 02, 2022 at 10:51:54AM +0800, Ihor Radchenko wrote:
> Eduardo Suarez-Santana <esuarez@itccanarias.org> writes:
>
> >> I am unable to reproduce. What are your Org and Emacs versions?
> >
> > I'm using Spacemacs (develop branch).
> >
> > - Emacs 27.2
> > - Org 9.5.1
> >
> > I get a weird behaviour about it. These events appear when I start emacs. If I
> > edit somehow these entries they disappear from the agenda view (until I start
> > emacs again).
>
> Confirmed
>
> Thanks for the hint! I was able to reproduce entries disappearing from
> agenda view.
>
> The culprit is org-in-src-block-p. It relies on fontification to
> determine if we are inside a code block. However, when you strip a code
> block with SCHEDULED inside from begin/end lines, the fontification
> properties do not get removed.
>
> The attached patch should fix the issue. However, I need several people
> to test it first - the patch will make things slower without cache.
>
The patch works for me.
However, how about next cases?
* an example block
#+begin_example
SCHEDULED: <2015-02-16 Mon .+2d>
#+end_example
* an example with colon
: SCHEDULED: <2015-02-16 Mon .+2d>
I think they behave the same way as 'begin_src'.
> >> Depending what you want, you may use org-agenda-todo-list-sublevels or
> >> add agenda filter excluding specific tags that you can then use to mark
> >> undesired subtrees.
> >
> > Could be a workaround. Thanks a lot.
> >
> > Anyway it looks like a bug to me.
>
> For future. You will make things much easier if you provide a clear
> sequence of steps to reproduce the problem. Your original report is not
> reproducible if I just copy-paste your code into a new org file. I had
> to guess what you did in order to see the problem.
Sorry about that. I got weird results and was not sure about the expected
behaviour. I had already asked in IRC with no answer.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] Re: Escaping org mode date properties
2022-01-02 21:04 ` Eduardo Suarez-Santana
@ 2022-01-03 3:39 ` Ihor Radchenko
2022-01-03 10:39 ` Eduardo Suarez-Santana
0 siblings, 1 reply; 8+ messages in thread
From: Ihor Radchenko @ 2022-01-03 3:39 UTC (permalink / raw)
To: Eduardo Suarez-Santana; +Cc: emacs-orgmode
[-- Attachment #1: Type: text/plain, Size: 1524 bytes --]
Eduardo Suarez-Santana <esuarez@itccanarias.org> writes:
> However, how about next cases?
>
> * an example block
> #+begin_example
> SCHEDULED: <2015-02-16 Mon .+2d>
> #+end_example
I am unable to reproduce this using Org 9.5.2
Can you provide concrete steps starting from bare Emacs how to reproduce
the inconsistency you are seeing?
> * an example with colon
> : SCHEDULED: <2015-02-16 Mon .+2d>
> I think they behave the same way as 'begin_src'.
If you mean that adding example/fixed-width environment does not make
disappear, I am unable to reproduce.
However, the second case is wrongly recognised as a heading with timestamp.
Can you try the attached patch? (on top of previous)
>> For future. You will make things much easier if you provide a clear
>> sequence of steps to reproduce the problem. Your original report is not
>> reproducible if I just copy-paste your code into a new org file. I had
>> to guess what you did in order to see the problem.
>
> Sorry about that. I got weird results and was not sure about the expected
> behaviour. I had already asked in IRC with no answer.
"Weird" usually means that you expect some behaviour, but get surprised.
However, for a person far away using different environment and settings
(me), it is hard to guess about what went wrong without knowing details
of what you did, what you expected, and what went wrong.
See https://orgmode.org/worg/org-contribute.html and
https://www.chiark.greenend.org.uk/~sgtatham/bugs.html for detailed
instructions.
Best,
Ihor
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-org-agenda-get-timestamps-Ignore-non-timestamps-matc.patch --]
[-- Type: text/x-diff, Size: 1586 bytes --]
From 0d91c1bd81cb6fe19666761e50fb1368add385a8 Mon Sep 17 00:00:00 2001
Message-Id: <0d91c1bd81cb6fe19666761e50fb1368add385a8.1641180460.git.yantar92@gmail.com>
From: Ihor Radchenko <yantar92@gmail.com>
Date: Mon, 3 Jan 2022 11:26:18 +0800
Subject: [PATCH] org-agenda-get-timestamps: Ignore non-timestamps matching re
* lisp/org-agenda.el (org-agenda-get-timestamps): Explicitly confirm
that object at point is a timestamp.
Fixes https://list.orgmode.org/20220102210433.GC29829@itccanarias.org/T/#m39b80d45d7d6cfc6b713284365c283579ac94cb1
---
lisp/org-agenda.el | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/lisp/org-agenda.el b/lisp/org-agenda.el
index fed36ac9b..94aea1b0a 100644
--- a/lisp/org-agenda.el
+++ b/lisp/org-agenda.el
@@ -86,6 +86,8 @@ (declare-function org-add-archive-files "org-archive" (files))
(declare-function org-capture "org-capture" (&optional goto keys))
(declare-function org-clock-modify-effort-estimate "org-clock" (&optional value))
+(declare-function org-element-type "org-element" (&optional element))
+
(defvar calendar-mode-map)
(defvar org-clock-current-task)
(defvar org-current-tag-alist)
@@ -5729,7 +5731,8 @@ (defun org-agenda-get-timestamps (&optional deadlines)
(org-at-planning-p)
(org-before-first-heading-p)
(and org-agenda-include-inactive-timestamps
- (org-at-clock-log-p)))
+ (org-at-clock-log-p))
+ (not (eq 'timestamp (org-element-type (org-element-context)))))
(throw :skip nil))
(org-agenda-skip))
(let* ((pos (match-beginning 0))
--
2.34.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH] Re: Escaping org mode date properties
2022-01-03 3:39 ` Ihor Radchenko
@ 2022-01-03 10:39 ` Eduardo Suarez-Santana
2022-01-12 13:14 ` Ihor Radchenko
0 siblings, 1 reply; 8+ messages in thread
From: Eduardo Suarez-Santana @ 2022-01-03 10:39 UTC (permalink / raw)
To: Ihor Radchenko; +Cc: emacs-orgmode
On Mon, Jan 03, 2022 at 11:39:19AM +0800, Ihor Radchenko wrote:
> Eduardo Suarez-Santana <esuarez@itccanarias.org> writes:
>
> > However, how about next cases?
> >
> > * an example block
> > #+begin_example
> > SCHEDULED: <2015-02-16 Mon .+2d>
> > #+end_example
>
> I am unable to reproduce this using Org 9.5.2
> Can you provide concrete steps starting from bare Emacs how to reproduce
> the inconsistency you are seeing?
>
> > * an example with colon
> > : SCHEDULED: <2015-02-16 Mon .+2d>
> > I think they behave the same way as 'begin_src'.
>
> If you mean that adding example/fixed-width environment does not make
> disappear, I am unable to reproduce.
>
> However, the second case is wrongly recognised as a heading with timestamp.
>
> Can you try the attached patch? (on top of previous)
>
I hope this helps:
1. I removed my '~/.emacs.d' directory.
2. I started emacs.
3. I installed org-9.5.2 via 'list-packages' and the user interface.
4. I closed emacs.
5. I moved '~/.emacs' to '~/.emacs.d/init.el'.
6. I edited ~/.emacs.d/init.el' with the following contents.
BEGIN Contents of '~/.emacs.d/init.el'
(custom-set-variables
;; custom-set-variables was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
'(package-selected-packages '(org)))
(custom-set-faces
;; custom-set-faces was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
)
(setq org-agenda-files
'("~/sample.org"))
END Contents of '~/.emacs.d/init.el'
7. I created '~/sample.org' with the following contents.
BEGIN Contents of '~/sample.org'
* TODO begin_src scheduled entry
#+begin_src org
SCHEDULED: <2022-01-03 Mon>
#+end_src
* TODO colon scheduled entry
: SCHEDULED: <2022-01-03 Mon>
* TODO begin_example scheduled entry
#+begin_example
SCHEDULED: <2022-01-03 Mon>
#+end_example
END Contents of '~/sample.org'
8. I started emacs.
9. I run 'M-x org-agenda' and then 'a' (agenda week view), and got next result
in the agenda buffer:
BEGIN Contents of '*Org Agenda*'
Week-agenda (W01):
Monday 3 January 2022 W01
sample: TODO begin_src scheduled entry
sample: TODO colon scheduled entry
sample: TODO begin_example scheduled entry
Tuesday 4 January 2022
Wednesday 5 January 2022
Thursday 6 January 2022
Friday 7 January 2022
Saturday 8 January 2022
Sunday 9 January 2022
END Contents of '*Org Agenda*'
10. I closed emacs, applied *first patch* in this thread to
'~/.emacs.d/elpa/org-9.5.2/org.el'.
11. I removed '~/.emacs.d/elpa/org-9.5.2/org.elc'.
12. I started emacs and run 'M-x org-agenda' and then 'a' (agenda week view),
and got next result:
BEGIN Contents of '*Org Agenda*'
Week-agenda (W01):
Monday 3 January 2022 W01
sample: TODO colon scheduled entry
sample: TODO begin_example scheduled entry
Tuesday 4 January 2022
Wednesday 5 January 2022
Thursday 6 January 2022
Friday 7 January 2022
Saturday 8 January 2022
Sunday 9 January 2022
END Contents of '*Org Agenda*'
13. I closed emacs, applied *second patch* in this thread to
'~/.emacs.d/elpa/org-9.5.2/org-agenda.el'.
14. I removed '~/.emacs.d/elpa/org-9.5.2/org-agenda.elc'.
15. I started emacs and run 'M-x org-agenda' and then 'a' (agenda week view),
and got next result:
BEGIN Contents of '*Org Agenda*'
Week-agenda (W01):
Monday 3 January 2022 W01
Tuesday 4 January 2022
Wednesday 5 January 2022
Thursday 6 January 2022
Friday 7 January 2022
Saturday 8 January 2022
Sunday 9 January 2022
END Contents of '*Org Agenda*'
Emacs : GNU Emacs 27.2 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.30)
of 2021-10-20
Package: Org mode version 9.5.2 (9.5.2-gfbff08 @ /home/eduardo/.emacs.d/elpa/org-9.5.2/)
current state:
==============
(setq
org-src-mode-hook '(org-src-babel-configure-edit-buffer org-src-mode-configure-edit-buffer)
org-link-shell-confirm-function 'yes-or-no-p
org-babel-after-execute-hook '(org-display-inline-images)
org-metadown-hook '(org-babel-pop-to-session-maybe)
org-agenda-files '("~/sample.org")
org-mode-hook '(#[0 "\300\301\302\303\304$\207" [add-hook change-major-mode-hook org-show-all append local] 5]
#[0 "\300\301\302\303\304$\207"
[add-hook change-major-mode-hook org-babel-show-result-all append local] 5]
org-babel-result-hide-spec org-babel-hide-all-hashes)
org-archive-hook '(org-attach-archive-delete-maybe)
org-confirm-elisp-link-function 'yes-or-no-p
org-agenda-before-write-hook '(org-agenda-add-entry-text)
org-metaup-hook '(org-babel-load-in-session-maybe)
org-bibtex-headline-format-function #[257 "\300\236A\207" [:title] 3 "\n\n(fn ENTRY)"]
org-babel-pre-tangle-hook '(save-buffer)
org-tab-first-hook '(org-babel-hide-result-toggle-maybe org-babel-header-arg-expand)
org-babel-load-languages '((ditaa . t))
org-agenda-loop-over-headlines-in-active-region nil
org-occur-hook '(org-first-headline-recenter)
org-ditaa-jar-path "/usr/share/ditaa/ditaa.jar"
org-cycle-hook '(org-cycle-hide-archived-subtrees org-cycle-hide-drawers org-cycle-show-empty-lines
org-optimize-window-after-visibility-change)
org-speed-command-hook '(org-speed-command-activate org-babel-speed-command-activate)
org-export-before-parsing-hook '(org-attach-expand-links)
org-confirm-shell-link-function 'yes-or-no-p
org-link-parameters '(("attachment" :follow org-attach-follow :complete org-attach-complete-link)
("id" :follow org-id-open) ("eww" :follow org-eww-open :store org-eww-store-link)
("rmail" :follow org-rmail-open :store org-rmail-store-link)
("mhe" :follow org-mhe-open :store org-mhe-store-link)
("irc" :follow org-irc-visit :store org-irc-store-link :export org-irc-export)
("info" :follow org-info-open :export org-info-export :store org-info-store-link)
("gnus" :follow org-gnus-open :store org-gnus-store-link)
("docview" :follow org-docview-open :export org-docview-export :store
org-docview-store-link)
("bibtex" :follow org-bibtex-open :store org-bibtex-store-link)
("bbdb" :follow org-bbdb-open :export org-bbdb-export :complete org-bbdb-complete-link
:store org-bbdb-store-link)
("w3m" :store org-w3m-store-link)
("doi" :follow org-link-doi-open :export org-link-doi-export) ("file+sys") ("file+emacs")
("shell" :follow org-link--open-shell)
("news" :follow
#[514 "\301\300\302Q\x02\"\207" ["news" browse-url ":"] 6 "\n\n(fn URL ARG)"])
("mailto" :follow
#[514 "\301\300\302Q\x02\"\207" ["mailto" browse-url ":"] 6 "\n\n(fn URL ARG)"])
("https" :follow
#[514 "\301\300\302Q\x02\"\207" ["https" browse-url ":"] 6 "\n\n(fn URL ARG)"])
("http" :follow
#[514 "\301\300\302Q\x02\"\207" ["http" browse-url ":"] 6 "\n\n(fn URL ARG)"])
("ftp" :follow
#[514 "\301\300\302Q\x02\"\207" ["ftp" browse-url ":"] 6 "\n\n(fn URL ARG)"])
("help" :follow org-link--open-help :store org-link--store-help)
("file" :complete org-link-complete-file) ("elisp" :follow org-link--open-elisp))
org-link-elisp-confirm-function 'yes-or-no-p
org-ditaa-eps-jar-path "/home/eduardo/.emacs.d/elpa/contrib/scripts/DitaaEps.jar"
)
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] Re: Escaping org mode date properties
2022-01-03 10:39 ` Eduardo Suarez-Santana
@ 2022-01-12 13:14 ` Ihor Radchenko
0 siblings, 0 replies; 8+ messages in thread
From: Ihor Radchenko @ 2022-01-12 13:14 UTC (permalink / raw)
To: Eduardo Suarez-Santana; +Cc: emacs-orgmode
Eduardo Suarez-Santana <esuarez@itccanarias.org> writes:
> I hope this helps:
> ...
> * TODO begin_src scheduled entry
> #+begin_src org
> SCHEDULED: <2022-01-03 Mon>
> #+end_src
Thanks! It does help. I created a test case based on your steps.
I pushed the two patches and the test to bugfix. Your issue should be
fixed now.
Best,
Ihor
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2022-01-12 14:14 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-01-01 12:24 Escaping org mode date properties Eduardo Suarez
2022-01-01 15:10 ` Ihor Radchenko
2022-01-01 20:01 ` Eduardo Suarez-Santana
2022-01-02 2:51 ` [PATCH] " Ihor Radchenko
2022-01-02 21:04 ` Eduardo Suarez-Santana
2022-01-03 3:39 ` Ihor Radchenko
2022-01-03 10:39 ` Eduardo Suarez-Santana
2022-01-12 13:14 ` Ihor Radchenko
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).