emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* (org-element-parse-buffer) and (org-with-wide-buffer)
@ 2023-01-11  9:47 Michael Dauer
  2023-01-11 10:03 ` Ihor Radchenko
  0 siblings, 1 reply; 6+ messages in thread
From: Michael Dauer @ 2023-01-11  9:47 UTC (permalink / raw)
  To: emacs-orgmode

[-- Attachment #1: Type: text/plain, Size: 1033 bytes --]

I see a potential bug here: (org-element-parse-buffer) with VISIBLE-ONLY
does not include regions made visible with (org-with-wide-buffer).

Test (Have h2.2.1 collapsed before running it.):
>>>
* h1
** h2
*** h2.1
*** h2.2
#+begin_src elisp
(org-with-wide-buffer
 (org-narrow-to-subtree)
 (goto-char (point-min))
 (list
  (--map (cadr it)
         (s-match-strings-all "^\\*+ \\(.*\\)$"
                              (buffer-substring-no-properties
                               (point-min) (point-max))))
  (org-element-map (caddr (org-element-parse-buffer 'object t)) 'headline
    (lambda (it) (org-element-property :raw-value it))))
)
#+end_src

#+RESULTS:
| h2.2 | h2.2.1 | h2.2.1.1 |
| h2.2 | h2.2.1 |          |

**** h2.2.1
***** h2.2.1.1
aaaaa
*** h2.3
* h3
<<<

I would expect both output rows to be identical. But it seems
that (org-with-wide-buffer) has no effect on (org-element-parse-buffer)
with VISIBLE-ONLY argument.

While I believe this is a bug, I would also appreciate hearing about
possible work-arounds.

thx

[-- Attachment #2: Type: text/html, Size: 1351 bytes --]

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

* Re: (org-element-parse-buffer) and (org-with-wide-buffer)
  2023-01-11  9:47 (org-element-parse-buffer) and (org-with-wide-buffer) Michael Dauer
@ 2023-01-11 10:03 ` Ihor Radchenko
  2023-01-11 11:19   ` Michael Dauer
  0 siblings, 1 reply; 6+ messages in thread
From: Ihor Radchenko @ 2023-01-11 10:03 UTC (permalink / raw)
  To: Michael Dauer; +Cc: emacs-orgmode

Michael Dauer <mick.dauer@gmail.com> writes:

> I would expect both output rows to be identical. But it seems
> that (org-with-wide-buffer) has no effect on (org-element-parse-buffer)
> with VISIBLE-ONLY argument.

> While I believe this is a bug, I would also appreciate hearing about
> possible work-arounds.

This behaviour is documented in the docstring of
`org-element-parse-buffer':

    If narrowing is in effect, only parse the visible part of the
    buffer.

-- 
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>


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

* Re: (org-element-parse-buffer) and (org-with-wide-buffer)
  2023-01-11 10:03 ` Ihor Radchenko
@ 2023-01-11 11:19   ` Michael Dauer
  2023-01-11 11:23     ` Ihor Radchenko
  0 siblings, 1 reply; 6+ messages in thread
From: Michael Dauer @ 2023-01-11 11:19 UTC (permalink / raw)
  To: Ihor Radchenko; +Cc: emacs-orgmode

[-- Attachment #1: Type: text/plain, Size: 910 bytes --]

But within (org-with-wide-buffer) the collapsed branches should be visible.

Ihor Radchenko <yantar92@posteo.net> schrieb am Mi., 11. Jän. 2023, 11:02:

> Michael Dauer <mick.dauer@gmail.com> writes:
>
> > I would expect both output rows to be identical. But it seems
> > that (org-with-wide-buffer) has no effect on (org-element-parse-buffer)
> > with VISIBLE-ONLY argument.
>
> > While I believe this is a bug, I would also appreciate hearing about
> > possible work-arounds.
>
> This behaviour is documented in the docstring of
> `org-element-parse-buffer':
>
>     If narrowing is in effect, only parse the visible part of the
>     buffer.
>
> --
> Ihor Radchenko // yantar92,
> Org mode contributor,
> Learn more about Org mode at <https://orgmode.org/>.
> Support Org development at <https://liberapay.com/org-mode>,
> or support my work at <https://liberapay.com/yantar92>
>

[-- Attachment #2: Type: text/html, Size: 1593 bytes --]

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

* Re: (org-element-parse-buffer) and (org-with-wide-buffer)
  2023-01-11 11:19   ` Michael Dauer
@ 2023-01-11 11:23     ` Ihor Radchenko
  2023-01-11 11:56       ` Michael Dauer
  0 siblings, 1 reply; 6+ messages in thread
From: Ihor Radchenko @ 2023-01-11 11:23 UTC (permalink / raw)
  To: Michael Dauer; +Cc: emacs-orgmode

Michael Dauer <mick.dauer@gmail.com> writes:

> But within (org-with-wide-buffer) the collapsed branches should be visible.

You have `org-narrow-to-subtree' inside `org-with-wide-buffer':
1. `org-with-wide-buffer' widens the buffer
2. `org-narrow-to-subtree' narrows it to subtree
3. `org-element-parse-buffer' gets executed on the narrowed buffer

-- 
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>


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

* Re: (org-element-parse-buffer) and (org-with-wide-buffer)
  2023-01-11 11:23     ` Ihor Radchenko
@ 2023-01-11 11:56       ` Michael Dauer
  2023-01-11 12:02         ` Ihor Radchenko
  0 siblings, 1 reply; 6+ messages in thread
From: Michael Dauer @ 2023-01-11 11:56 UTC (permalink / raw)
  To: Ihor Radchenko; +Cc: emacs-orgmode

[-- Attachment #1: Type: text/plain, Size: 750 bytes --]

Yes, but the missing headings are within the narrowed subtree.

Am Mi., 11. Jan. 2023 um 12:22 Uhr schrieb Ihor Radchenko <
yantar92@posteo.net>:

> Michael Dauer <mick.dauer@gmail.com> writes:
>
> > But within (org-with-wide-buffer) the collapsed branches should be
> visible.
>
> You have `org-narrow-to-subtree' inside `org-with-wide-buffer':
> 1. `org-with-wide-buffer' widens the buffer
> 2. `org-narrow-to-subtree' narrows it to subtree
> 3. `org-element-parse-buffer' gets executed on the narrowed buffer
>
> --
> Ihor Radchenko // yantar92,
> Org mode contributor,
> Learn more about Org mode at <https://orgmode.org/>.
> Support Org development at <https://liberapay.com/org-mode>,
> or support my work at <https://liberapay.com/yantar92>
>

[-- Attachment #2: Type: text/html, Size: 1403 bytes --]

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

* Re: (org-element-parse-buffer) and (org-with-wide-buffer)
  2023-01-11 11:56       ` Michael Dauer
@ 2023-01-11 12:02         ` Ihor Radchenko
  0 siblings, 0 replies; 6+ messages in thread
From: Ihor Radchenko @ 2023-01-11 12:02 UTC (permalink / raw)
  To: Michael Dauer; +Cc: emacs-orgmode

Michael Dauer <mick.dauer@gmail.com> writes:

> Yes, but the missing headings are within the narrowed subtree.

You are right.
What is happening here is `org-element-parse-buffer' skipping over the
folded heading:

    When VISIBLE-ONLY is non-nil, don't parse contents of hidden
    elements.

-- 
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>


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

end of thread, other threads:[~2023-01-11 12:02 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-01-11  9:47 (org-element-parse-buffer) and (org-with-wide-buffer) Michael Dauer
2023-01-11 10:03 ` Ihor Radchenko
2023-01-11 11:19   ` Michael Dauer
2023-01-11 11:23     ` Ihor Radchenko
2023-01-11 11:56       ` Michael Dauer
2023-01-11 12:02         ` 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).