* still seeing semi-regular lockups
@ 2014-05-14 8:39 Eric Abrahamsen
2014-05-15 9:21 ` Bastien
0 siblings, 1 reply; 70+ messages in thread
From: Eric Abrahamsen @ 2014-05-14 8:39 UTC (permalink / raw)
To: emacs-orgmode
Hey there,
After Nicolas made the last round of improvements to the caching
mechanism I got far fewer hangs with Org, but they are still happening.
Maybe once a day or so, on average, editing something in an Org buffer
causes emacs to hang, and my fans to spin up, and there we are until I
kill emacs.
It happens often enough that I guess it's worth running emacs under some
kind of debugger -- at least, I assume that's the best way of catching
the bug. I'm not really sure how to go hunting, though, so if anyone had
any advice in this direction, that would be great.
In the meantime, is there any way of interrupting emacs so it quits
whatever its doing, without having to kill it? I've played around with
sending different signals using "kill", just for fun, but everything
I've tried either does nothing, or kills emacs altogether.
Cheers,
Eric
^ permalink raw reply [flat|nested] 70+ messages in thread
* Re: still seeing semi-regular lockups
@ 2014-05-14 11:06 dieter
2014-05-15 2:29 ` Eric Abrahamsen
0 siblings, 1 reply; 70+ messages in thread
From: dieter @ 2014-05-14 11:06 UTC (permalink / raw)
To: emacs-orgmode
hi,
on my machine wanderlust hangs from time to time when i am inside the company net and
the proxy has hiccups.
then C-g (sometimes several) usually help.
in the link below i found an interesting variable, debug-on-quit.
when it is set, emacs enters the debugger when you hit C-g.
sendings signal to emacs from external usually only kills it.
the only signal which i am aware of that can be caught is SIGUSR1.
i used to use it to notify emacs about network changes.
hope this helps,
dieter
[1] http://www.gnu.org/software/emacs/manual/html_node/elisp/Infinite-Loops.html#Infinite-Loops
>---- Original Message ----
>From: Eric Abrahamsen <eric@ericabrahamsen.net>
>To: emacs-orgmode@gnu.org
>Sent: Wed, May 14, 2014, 10:36 AM
>Subject: [O] still seeing semi-regular lockups
>
>Hey there,
>
>After Nicolas made the last round of improvements to the caching
>mechanism I got far fewer hangs with Org, but they are still happening.
>Maybe once a day or so, on average, editing something in an Org buffer
>causes emacs to hang, and my fans to spin up, and there we are until I
>kill emacs.
>
>It happens often enough that I guess it's worth running emacs under some
>kind of debugger -- at least, I assume that's the best way of catching
>the bug. I'm not really sure how to go hunting, though, so if anyone had
>any advice in this direction, that would be great.
>
>In the meantime, is there any way of interrupting emacs so it quits
>whatever its doing, without having to kill it? I've played around with
>sending different signals using "kill", just for fun, but everything
>I've tried either does nothing, or kills emacs altogether.
>
>Cheers,
>Eric
^ permalink raw reply [flat|nested] 70+ messages in thread
* Re: still seeing semi-regular lockups
2014-05-14 11:06 dieter
@ 2014-05-15 2:29 ` Eric Abrahamsen
0 siblings, 0 replies; 70+ messages in thread
From: Eric Abrahamsen @ 2014-05-15 2:29 UTC (permalink / raw)
To: emacs-orgmode
dieter@schoen.or.at writes:
> hi,
>
> on my machine wanderlust hangs from time to time when i am inside the company net and
> the proxy has hiccups.
> then C-g (sometimes several) usually help.
>
> in the link below i found an interesting variable, debug-on-quit.
> when it is set, emacs enters the debugger when you hit C-g.
Whatever's going on here isn't network-related, it's pretty clearly
triggered by making editing changes to an org buffer. It's also
unsalvageable with C-g, or this whole thing would be much simpler!
There's an ongoing thread between Daimrod and Stephen that might
actually be the same issue, I'll check that out.
> sendings signal to emacs from external usually only kills it.
> the only signal which i am aware of that can be caught is SIGUSR1.
> i used to use it to notify emacs about network changes.
Good to know, thanks!
> hope this helps,
> dieter
>
> [1] http://www.gnu.org/software/emacs/manual/html_node/elisp/Infinite-Loops.html#Infinite-Loops
>
>
>
>>---- Original Message ----
>>From: Eric Abrahamsen <eric@ericabrahamsen.net>
>>To: emacs-orgmode@gnu.org
>>Sent: Wed, May 14, 2014, 10:36 AM
>>Subject: [O] still seeing semi-regular lockups
>>
>>Hey there,
>>
>>After Nicolas made the last round of improvements to the caching
>>mechanism I got far fewer hangs with Org, but they are still happening.
>>Maybe once a day or so, on average, editing something in an Org buffer
>>causes emacs to hang, and my fans to spin up, and there we are until I
>>kill emacs.
>>
>>It happens often enough that I guess it's worth running emacs under some
>>kind of debugger -- at least, I assume that's the best way of catching
>>the bug. I'm not really sure how to go hunting, though, so if anyone had
>>any advice in this direction, that would be great.
>>
>>In the meantime, is there any way of interrupting emacs so it quits
>>whatever its doing, without having to kill it? I've played around with
>>sending different signals using "kill", just for fun, but everything
>>I've tried either does nothing, or kills emacs altogether.
>>
>>Cheers,
>>Eric
^ permalink raw reply [flat|nested] 70+ messages in thread
* Re: still seeing semi-regular lockups
2014-05-14 8:39 still seeing semi-regular lockups Eric Abrahamsen
@ 2014-05-15 9:21 ` Bastien
2014-05-15 9:30 ` Daimrod
0 siblings, 1 reply; 70+ messages in thread
From: Bastien @ 2014-05-15 9:21 UTC (permalink / raw)
To: Eric Abrahamsen; +Cc: emacs-orgmode
Hi Eric,
Eric Abrahamsen <eric@ericabrahamsen.net> writes:
> After Nicolas made the last round of improvements to the caching
> mechanism I got far fewer hangs with Org, but they are still happening.
> Maybe once a day or so, on average, editing something in an Org buffer
> causes emacs to hang, and my fans to spin up, and there we are until I
> kill emacs.
I've seen hiccups here and there, but generally, what happens is an
error, not an infinite hanging.
> It happens often enough that I guess it's worth running emacs under some
> kind of debugger -- at least, I assume that's the best way of catching
> the bug. I'm not really sure how to go hunting, though, so if anyone had
> any advice in this direction, that would be great.
I'd hunt for some infloop in parsing -- but cannot detail more than
that, problably Nicolas could.
> In the meantime, is there any way of interrupting emacs so it quits
> whatever its doing, without having to kill it? I've played around with
> sending different signals using "kill", just for fun, but everything
> I've tried either does nothing, or kills emacs altogether.
I have no suggestion here either, sorry :/
--
Bastien
^ permalink raw reply [flat|nested] 70+ messages in thread
* Re: still seeing semi-regular lockups
2014-05-15 9:21 ` Bastien
@ 2014-05-15 9:30 ` Daimrod
2014-05-15 9:46 ` Bastien
` (3 more replies)
0 siblings, 4 replies; 70+ messages in thread
From: Daimrod @ 2014-05-15 9:30 UTC (permalink / raw)
To: Bastien; +Cc: Eric Abrahamsen, emacs-orgmode
[-- Attachment #1: Type: text/plain, Size: 2813 bytes --]
Bastien <bzg@gnu.org> writes:
> Hi Eric,
>
> Eric Abrahamsen <eric@ericabrahamsen.net> writes:
>
>> After Nicolas made the last round of improvements to the caching
>> mechanism I got far fewer hangs with Org, but they are still happening.
>> Maybe once a day or so, on average, editing something in an Org buffer
>> causes emacs to hang, and my fans to spin up, and there we are until I
>> kill emacs.
>
> I've seen hiccups here and there, but generally, what happens is an
> error, not an infinite hanging.
>
>> It happens often enough that I guess it's worth running emacs under some
>> kind of debugger -- at least, I assume that's the best way of catching
>> the bug. I'm not really sure how to go hunting, though, so if anyone had
>> any advice in this direction, that would be great.
>
> I'd hunt for some infloop in parsing -- but cannot detail more than
> that, problably Nicolas could.
>
>> In the meantime, is there any way of interrupting emacs so it quits
>> whatever its doing, without having to kill it? I've played around with
>> sending different signals using "kill", just for fun, but everything
>> I've tried either does nothing, or kills emacs altogether.
>
> I have no suggestion here either, sorry :/
I have also semi-regular lockup with org-mode. I have opened a bug on
debbugs and here is what Stefan told me to try to debug this:
> You can try `debug-on-event'.
>
> There's jit-lock-debug-mode but it doesn't disable inhibit-quit.
> So you'll need to additionally use
>
> (advice-add 'jit-lock--debug-fontify :around
> (lambda (fun &rest args)
> (with-local-quit (apply fun args))))
>
> Of course sometimes this doesn't work because jit-lock-debug-mode
> changes the way things are executed and the bug may not manifest itself
> any more, but it's worth a try.
>
> Another source of info is to
>
> M-x trace-function RET org-adaptive-fill-function RET
> M-x trace-function RET org-element-at-point RET
> M-x trace-function RET org-element--cache-sync RET
> M-x trace-function RET org-element--cache-process-request RET
>
> Then reproduce the hang, then break the hang somehow (maybe with the
> jit-lock-debug hack above, or maybe with debug-on-event, or with C-g C-g
> C-g, ...), then look at the *trace..* buffer.
I'll try to see what I can find this week end and report back.
By the way, if you want to see in which part the infloop occurs, you can
attach a gdb debugger to the running emacs, source the
<path-to-emacs-source>/src/.gdbinit file and use the `xbacktrace' command.
$ gdb <path-to-emacs-executable> <emacs-pid>
gdb) source <path-to-emacs-source>/src/.gdbinit
...
gdb) xbacktrace
You can also use the `bt' command but it contains much more noise.
--
Daimrod/Greg
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 835 bytes --]
^ permalink raw reply [flat|nested] 70+ messages in thread
* Re: still seeing semi-regular lockups
2014-05-15 9:30 ` Daimrod
@ 2014-05-15 9:46 ` Bastien
2014-05-15 10:31 ` Eric Abrahamsen
` (2 subsequent siblings)
3 siblings, 0 replies; 70+ messages in thread
From: Bastien @ 2014-05-15 9:46 UTC (permalink / raw)
To: Daimrod; +Cc: Eric Abrahamsen, emacs-orgmode
Daimrod <daimrod@gmail.com> writes:
> I'll try to see what I can find this week end and report back.
Great -- thanks for the guidance!
--
Bastien
^ permalink raw reply [flat|nested] 70+ messages in thread
* Re: still seeing semi-regular lockups
2014-05-15 9:30 ` Daimrod
2014-05-15 9:46 ` Bastien
@ 2014-05-15 10:31 ` Eric Abrahamsen
2014-05-15 10:37 ` Daimrod
2014-05-19 14:21 ` Daimrod
2014-06-04 4:47 ` Eric Abrahamsen
3 siblings, 1 reply; 70+ messages in thread
From: Eric Abrahamsen @ 2014-05-15 10:31 UTC (permalink / raw)
To: emacs-orgmode
Daimrod <daimrod@gmail.com> writes:
> Bastien <bzg@gnu.org> writes:
>
>> Hi Eric,
>>
>> Eric Abrahamsen <eric@ericabrahamsen.net> writes:
>>
>>> After Nicolas made the last round of improvements to the caching
>>> mechanism I got far fewer hangs with Org, but they are still happening.
>>> Maybe once a day or so, on average, editing something in an Org buffer
>>> causes emacs to hang, and my fans to spin up, and there we are until I
>>> kill emacs.
[...]
> I have also semi-regular lockup with org-mode. I have opened a bug on
> debbugs and here is what Stefan told me to try to debug this:
>
>> You can try `debug-on-event'.
>>
>> There's jit-lock-debug-mode but it doesn't disable inhibit-quit.
>> So you'll need to additionally use
>>
>> (advice-add 'jit-lock--debug-fontify :around
>> (lambda (fun &rest args)
>> (with-local-quit (apply fun args))))
>>
>> Of course sometimes this doesn't work because jit-lock-debug-mode
>> changes the way things are executed and the bug may not manifest itself
>> any more, but it's worth a try.
>>
>> Another source of info is to
>>
>> M-x trace-function RET org-adaptive-fill-function RET
>> M-x trace-function RET org-element-at-point RET
>> M-x trace-function RET org-element--cache-sync RET
>> M-x trace-function RET org-element--cache-process-request RET
>>
>> Then reproduce the hang, then break the hang somehow (maybe with the
>> jit-lock-debug hack above, or maybe with debug-on-event, or with C-g C-g
>> C-g, ...), then look at the *trace..* buffer.
>
> I'll try to see what I can find this week end and report back.
>
> By the way, if you want to see in which part the infloop occurs, you can
> attach a gdb debugger to the running emacs, source the
> <path-to-emacs-source>/src/.gdbinit file and use the `xbacktrace' command.
>
> $ gdb <path-to-emacs-executable> <emacs-pid>
> gdb) source <path-to-emacs-source>/src/.gdbinit
> ...
> gdb) xbacktrace
>
> You can also use the `bt' command but it contains much more noise.
Thanks! This is the sort of thing I assumed I'd have to do, and it's
good to have an actual recipe. If you're on it, I might take the lazy
option and spectate for now... :)
^ permalink raw reply [flat|nested] 70+ messages in thread
* Re: still seeing semi-regular lockups
2014-05-15 10:31 ` Eric Abrahamsen
@ 2014-05-15 10:37 ` Daimrod
2014-05-15 10:43 ` Eric Abrahamsen
0 siblings, 1 reply; 70+ messages in thread
From: Daimrod @ 2014-05-15 10:37 UTC (permalink / raw)
To: Eric Abrahamsen; +Cc: emacs-orgmode
Eric Abrahamsen <eric@ericabrahamsen.net> writes:
> Daimrod <daimrod@gmail.com> writes:
>
>> Bastien <bzg@gnu.org> writes:
>>
>>> Hi Eric,
>>>
>>> Eric Abrahamsen <eric@ericabrahamsen.net> writes:
>>>
>>>> After Nicolas made the last round of improvements to the caching
>>>> mechanism I got far fewer hangs with Org, but they are still happening.
>>>> Maybe once a day or so, on average, editing something in an Org buffer
>>>> causes emacs to hang, and my fans to spin up, and there we are until I
>>>> kill emacs.
>
> [...]
>
>> I have also semi-regular lockup with org-mode. I have opened a bug on
>> debbugs and here is what Stefan told me to try to debug this:
>>
>>> You can try `debug-on-event'.
>>>
>>> There's jit-lock-debug-mode but it doesn't disable inhibit-quit.
>>> So you'll need to additionally use
>>>
>>> (advice-add 'jit-lock--debug-fontify :around
>>> (lambda (fun &rest args)
>>> (with-local-quit (apply fun args))))
>>>
>>> Of course sometimes this doesn't work because jit-lock-debug-mode
>>> changes the way things are executed and the bug may not manifest itself
>>> any more, but it's worth a try.
>>>
>>> Another source of info is to
>>>
>>> M-x trace-function RET org-adaptive-fill-function RET
>>> M-x trace-function RET org-element-at-point RET
>>> M-x trace-function RET org-element--cache-sync RET
>>> M-x trace-function RET org-element--cache-process-request RET
>>>
>>> Then reproduce the hang, then break the hang somehow (maybe with the
>>> jit-lock-debug hack above, or maybe with debug-on-event, or with C-g C-g
>>> C-g, ...), then look at the *trace..* buffer.
>>
>> I'll try to see what I can find this week end and report back.
>>
>> By the way, if you want to see in which part the infloop occurs, you can
>> attach a gdb debugger to the running emacs, source the
>> <path-to-emacs-source>/src/.gdbinit file and use the `xbacktrace' command.
>>
>> $ gdb <path-to-emacs-executable> <emacs-pid>
>> gdb) source <path-to-emacs-source>/src/.gdbinit
>> ...
>> gdb) xbacktrace
>>
>> You can also use the `bt' command but it contains much more noise.
>
> Thanks! This is the sort of thing I assumed I'd have to do, and it's
> good to have an actual recipe. If you're on it, I might take the lazy
> option and spectate for now... :)
No problem, but could you attach gdb during a lockup, source .gdbitinit
and use the `xbacktrace' command to see if the lockup happens at the
same place?
--
Daimrod/Greg
^ permalink raw reply [flat|nested] 70+ messages in thread
* Re: still seeing semi-regular lockups
2014-05-15 10:37 ` Daimrod
@ 2014-05-15 10:43 ` Eric Abrahamsen
0 siblings, 0 replies; 70+ messages in thread
From: Eric Abrahamsen @ 2014-05-15 10:43 UTC (permalink / raw)
To: emacs-orgmode
Daimrod <daimrod@gmail.com> writes:
> Eric Abrahamsen <eric@ericabrahamsen.net> writes:
>
>> Daimrod <daimrod@gmail.com> writes:
>>
>>> Bastien <bzg@gnu.org> writes:
>>>
>>>> Hi Eric,
>>>>
>>>> Eric Abrahamsen <eric@ericabrahamsen.net> writes:
>>>>
>>>>> After Nicolas made the last round of improvements to the caching
>>>>> mechanism I got far fewer hangs with Org, but they are still happening.
>>>>> Maybe once a day or so, on average, editing something in an Org buffer
>>>>> causes emacs to hang, and my fans to spin up, and there we are until I
>>>>> kill emacs.
>>
>> [...]
>>
>>> I have also semi-regular lockup with org-mode. I have opened a bug on
>>> debbugs and here is what Stefan told me to try to debug this:
>>>
>>>> You can try `debug-on-event'.
>>>>
>>>> There's jit-lock-debug-mode but it doesn't disable inhibit-quit.
>>>> So you'll need to additionally use
>>>>
>>>> (advice-add 'jit-lock--debug-fontify :around
>>>> (lambda (fun &rest args)
>>>> (with-local-quit (apply fun args))))
>>>>
>>>> Of course sometimes this doesn't work because jit-lock-debug-mode
>>>> changes the way things are executed and the bug may not manifest itself
>>>> any more, but it's worth a try.
>>>>
>>>> Another source of info is to
>>>>
>>>> M-x trace-function RET org-adaptive-fill-function RET
>>>> M-x trace-function RET org-element-at-point RET
>>>> M-x trace-function RET org-element--cache-sync RET
>>>> M-x trace-function RET org-element--cache-process-request RET
>>>>
>>>> Then reproduce the hang, then break the hang somehow (maybe with the
>>>> jit-lock-debug hack above, or maybe with debug-on-event, or with C-g C-g
>>>> C-g, ...), then look at the *trace..* buffer.
>>>
>>> I'll try to see what I can find this week end and report back.
>>>
>>> By the way, if you want to see in which part the infloop occurs, you can
>>> attach a gdb debugger to the running emacs, source the
>>> <path-to-emacs-source>/src/.gdbinit file and use the `xbacktrace' command.
>>>
>>> $ gdb <path-to-emacs-executable> <emacs-pid>
>>> gdb) source <path-to-emacs-source>/src/.gdbinit
>>> ...
>>> gdb) xbacktrace
>>>
>>> You can also use the `bt' command but it contains much more noise.
>>
>> Thanks! This is the sort of thing I assumed I'd have to do, and it's
>> good to have an actual recipe. If you're on it, I might take the lazy
>> option and spectate for now... :)
>
> No problem, but could you attach gdb during a lockup, source .gdbitinit
> and use the `xbacktrace' command to see if the lockup happens at the
> same place?
Most definitely. Saving the instructions now...
^ permalink raw reply [flat|nested] 70+ messages in thread
* Re: still seeing semi-regular lockups
2014-05-15 9:30 ` Daimrod
2014-05-15 9:46 ` Bastien
2014-05-15 10:31 ` Eric Abrahamsen
@ 2014-05-19 14:21 ` Daimrod
2014-05-20 8:25 ` Eric Abrahamsen
2014-05-29 3:01 ` Daimrod
2014-06-04 4:47 ` Eric Abrahamsen
3 siblings, 2 replies; 70+ messages in thread
From: Daimrod @ 2014-05-19 14:21 UTC (permalink / raw)
To: Bastien; +Cc: Eric Abrahamsen, emacs-orgmode
Daimrod <daimrod@gmail.com> writes:
> I have also semi-regular lockup with org-mode. I have opened a bug on
> debbugs and here is what Stefan told me to try to debug this:
>
>> You can try `debug-on-event'.
>>
>> There's jit-lock-debug-mode but it doesn't disable inhibit-quit.
>> So you'll need to additionally use
>>
>> (advice-add 'jit-lock--debug-fontify :around
>> (lambda (fun &rest args)
>> (with-local-quit (apply fun args))))
>>
>> Of course sometimes this doesn't work because jit-lock-debug-mode
>> changes the way things are executed and the bug may not manifest itself
>> any more, but it's worth a try.
>>
>> Another source of info is to
>>
>> M-x trace-function RET org-adaptive-fill-function RET
>> M-x trace-function RET org-element-at-point RET
>> M-x trace-function RET org-element--cache-sync RET
>> M-x trace-function RET org-element--cache-process-request RET
>>
>> Then reproduce the hang, then break the hang somehow (maybe with the
>> jit-lock-debug hack above, or maybe with debug-on-event, or with C-g C-g
>> C-g, ...), then look at the *trace..* buffer.
>
> I'll try to see what I can find this week end and report back.
Ok, so the good news is the `debug-on-event' trick works. If you got a
lockup, you can get a classic elisp backtrace by sending the SIGUSR2 to
the Emacs process.
The bad news is that I don't know yet how to reproduce the lockup. It
seems to happen mostly (if not only) when I use org-mode +
visual-line-mode + adaptive-wrap-prefix-mode + an input-method like
latin-postfix.
And it probably has to do with the cache mechanism. I'll try to
reproduce it with the cache disabled but it hard to test because, as I
said, I don't know how to reproduce it yet.
I'll keep testing and see if I can reproduce it reliably.
Stay tuned!
--
Daimrod/Greg
^ permalink raw reply [flat|nested] 70+ messages in thread
* Re: still seeing semi-regular lockups
2014-05-19 14:21 ` Daimrod
@ 2014-05-20 8:25 ` Eric Abrahamsen
2014-05-20 8:55 ` Daimrod
2014-05-29 3:01 ` Daimrod
1 sibling, 1 reply; 70+ messages in thread
From: Eric Abrahamsen @ 2014-05-20 8:25 UTC (permalink / raw)
To: Daimrod; +Cc: Bastien, emacs-orgmode
On 05/19/14 23:21 PM, Daimrod wrote:
> Daimrod <daimrod@gmail.com> writes:
>
>> I have also semi-regular lockup with org-mode. I have opened a bug on
>> debbugs and here is what Stefan told me to try to debug this:
>>
>>> You can try `debug-on-event'.
>>>
>>> There's jit-lock-debug-mode but it doesn't disable inhibit-quit.
>>> So you'll need to additionally use
>>>
>>> (advice-add 'jit-lock--debug-fontify :around
>>> (lambda (fun &rest args)
>>> (with-local-quit (apply fun args))))
>>>
>>> Of course sometimes this doesn't work because jit-lock-debug-mode
>>> changes the way things are executed and the bug may not manifest itself
>>> any more, but it's worth a try.
>>>
>>> Another source of info is to
>>>
>>> M-x trace-function RET org-adaptive-fill-function RET
>>> M-x trace-function RET org-element-at-point RET
>>> M-x trace-function RET org-element--cache-sync RET
>>> M-x trace-function RET org-element--cache-process-request RET
>>>
>>> Then reproduce the hang, then break the hang somehow (maybe with the
>>> jit-lock-debug hack above, or maybe with debug-on-event, or with C-g C-g
>>> C-g, ...), then look at the *trace..* buffer.
>>
>> I'll try to see what I can find this week end and report back.
>
> Ok, so the good news is the `debug-on-event' trick works. If you got a
> lockup, you can get a classic elisp backtrace by sending the SIGUSR2 to
> the Emacs process.
>
> The bad news is that I don't know yet how to reproduce the lockup. It
> seems to happen mostly (if not only) when I use org-mode +
> visual-line-mode + adaptive-wrap-prefix-mode + an input-method like
> latin-postfix.
>
> And it probably has to do with the cache mechanism. I'll try to
> reproduce it with the cache disabled but it hard to test because, as I
> said, I don't know how to reproduce it yet.
>
> I'll keep testing and see if I can reproduce it reliably.
>
> Stay tuned!
Of course I haven't gotten a single lock-up since reporting in last time...
^ permalink raw reply [flat|nested] 70+ messages in thread
* Re: still seeing semi-regular lockups
2014-05-20 8:25 ` Eric Abrahamsen
@ 2014-05-20 8:55 ` Daimrod
2014-05-20 11:16 ` Eric Abrahamsen
0 siblings, 1 reply; 70+ messages in thread
From: Daimrod @ 2014-05-20 8:55 UTC (permalink / raw)
To: Eric Abrahamsen; +Cc: Bastien, emacs-orgmode
Eric Abrahamsen <eric@ericabrahamsen.net> writes:
> On 05/19/14 23:21 PM, Daimrod wrote:
>> Daimrod <daimrod@gmail.com> writes:
>>
>>> I have also semi-regular lockup with org-mode. I have opened a bug on
>>> debbugs and here is what Stefan told me to try to debug this:
>>>
>>>> You can try `debug-on-event'.
>>>>
>>>> There's jit-lock-debug-mode but it doesn't disable inhibit-quit.
>>>> So you'll need to additionally use
>>>>
>>>> (advice-add 'jit-lock--debug-fontify :around
>>>> (lambda (fun &rest args)
>>>> (with-local-quit (apply fun args))))
>>>>
>>>> Of course sometimes this doesn't work because jit-lock-debug-mode
>>>> changes the way things are executed and the bug may not manifest itself
>>>> any more, but it's worth a try.
>>>>
>>>> Another source of info is to
>>>>
>>>> M-x trace-function RET org-adaptive-fill-function RET
>>>> M-x trace-function RET org-element-at-point RET
>>>> M-x trace-function RET org-element--cache-sync RET
>>>> M-x trace-function RET org-element--cache-process-request RET
>>>>
>>>> Then reproduce the hang, then break the hang somehow (maybe with the
>>>> jit-lock-debug hack above, or maybe with debug-on-event, or with C-g C-g
>>>> C-g, ...), then look at the *trace..* buffer.
>>>
>>> I'll try to see what I can find this week end and report back.
>>
>> Ok, so the good news is the `debug-on-event' trick works. If you got a
>> lockup, you can get a classic elisp backtrace by sending the SIGUSR2 to
>> the Emacs process.
>>
>> The bad news is that I don't know yet how to reproduce the lockup. It
>> seems to happen mostly (if not only) when I use org-mode +
>> visual-line-mode + adaptive-wrap-prefix-mode + an input-method like
>> latin-postfix.
>>
>> And it probably has to do with the cache mechanism. I'll try to
>> reproduce it with the cache disabled but it hard to test because, as I
>> said, I don't know how to reproduce it yet.
>>
>> I'll keep testing and see if I can reproduce it reliably.
>>
>> Stay tuned!
>
> Of course I haven't gotten a single lock-up since reporting in last time...
:D
Do you have a similar setup? That is visual-line-mode,
adaptive-wrap-prefix-mode, input-method?
--
Daimrod/Greg
^ permalink raw reply [flat|nested] 70+ messages in thread
* Re: still seeing semi-regular lockups
2014-05-20 8:55 ` Daimrod
@ 2014-05-20 11:16 ` Eric Abrahamsen
2014-06-24 8:48 ` Nicolas Goaziou
0 siblings, 1 reply; 70+ messages in thread
From: Eric Abrahamsen @ 2014-05-20 11:16 UTC (permalink / raw)
To: emacs-orgmode
Daimrod <daimrod@gmail.com> writes:
> Eric Abrahamsen <eric@ericabrahamsen.net> writes:
>
>> On 05/19/14 23:21 PM, Daimrod wrote:
>>> Daimrod <daimrod@gmail.com> writes:
>>>
>>>> I have also semi-regular lockup with org-mode. I have opened a bug on
>>>> debbugs and here is what Stefan told me to try to debug this:
>>>>
>>>>> You can try `debug-on-event'.
>>>>>
>>>>> There's jit-lock-debug-mode but it doesn't disable inhibit-quit.
>>>>> So you'll need to additionally use
>>>>>
>>>>> (advice-add 'jit-lock--debug-fontify :around
>>>>> (lambda (fun &rest args)
>>>>> (with-local-quit (apply fun args))))
>>>>>
>>>>> Of course sometimes this doesn't work because jit-lock-debug-mode
>>>>> changes the way things are executed and the bug may not manifest itself
>>>>> any more, but it's worth a try.
>>>>>
>>>>> Another source of info is to
>>>>>
>>>>> M-x trace-function RET org-adaptive-fill-function RET
>>>>> M-x trace-function RET org-element-at-point RET
>>>>> M-x trace-function RET org-element--cache-sync RET
>>>>> M-x trace-function RET org-element--cache-process-request RET
>>>>>
>>>>> Then reproduce the hang, then break the hang somehow (maybe with the
>>>>> jit-lock-debug hack above, or maybe with debug-on-event, or with C-g C-g
>>>>> C-g, ...), then look at the *trace..* buffer.
>>>>
>>>> I'll try to see what I can find this week end and report back.
>>>
>>> Ok, so the good news is the `debug-on-event' trick works. If you got a
>>> lockup, you can get a classic elisp backtrace by sending the SIGUSR2 to
>>> the Emacs process.
>>>
>>> The bad news is that I don't know yet how to reproduce the lockup. It
>>> seems to happen mostly (if not only) when I use org-mode +
>>> visual-line-mode + adaptive-wrap-prefix-mode + an input-method like
>>> latin-postfix.
>>>
>>> And it probably has to do with the cache mechanism. I'll try to
>>> reproduce it with the cache disabled but it hard to test because, as I
>>> said, I don't know how to reproduce it yet.
>>>
>>> I'll keep testing and see if I can reproduce it reliably.
>>>
>>> Stay tuned!
>>
>> Of course I haven't gotten a single lock-up since reporting in last time...
>
> :D
>
> Do you have a similar setup? That is visual-line-mode,
> adaptive-wrap-prefix-mode, input-method?
None of those three, I'm afraid! It was hanging on a variety of editing
operations that, as far as I can tell, had little in common. There's a
possibility that they were list-item-related, but really there wasn't
much commonality.
E
^ permalink raw reply [flat|nested] 70+ messages in thread
* Re: still seeing semi-regular lockups
2014-05-19 14:21 ` Daimrod
2014-05-20 8:25 ` Eric Abrahamsen
@ 2014-05-29 3:01 ` Daimrod
2014-05-30 9:17 ` Nicolas Goaziou
1 sibling, 1 reply; 70+ messages in thread
From: Daimrod @ 2014-05-29 3:01 UTC (permalink / raw)
To: Bastien; +Cc: Eric Abrahamsen, emacs-orgmode
[-- Attachment #1: Type: text/plain, Size: 2209 bytes --]
Daimrod <daimrod@gmail.com> writes:
> Daimrod <daimrod@gmail.com> writes:
>
>> I have also semi-regular lockup with org-mode. I have opened a bug on
>> debbugs and here is what Stefan told me to try to debug this:
>>
>>> You can try `debug-on-event'.
>>>
>>> There's jit-lock-debug-mode but it doesn't disable inhibit-quit.
>>> So you'll need to additionally use
>>>
>>> (advice-add 'jit-lock--debug-fontify :around
>>> (lambda (fun &rest args)
>>> (with-local-quit (apply fun args))))
>>>
>>> Of course sometimes this doesn't work because jit-lock-debug-mode
>>> changes the way things are executed and the bug may not manifest itself
>>> any more, but it's worth a try.
>>>
>>> Another source of info is to
>>>
>>> M-x trace-function RET org-adaptive-fill-function RET
>>> M-x trace-function RET org-element-at-point RET
>>> M-x trace-function RET org-element--cache-sync RET
>>> M-x trace-function RET org-element--cache-process-request RET
>>>
>>> Then reproduce the hang, then break the hang somehow (maybe with the
>>> jit-lock-debug hack above, or maybe with debug-on-event, or with C-g C-g
>>> C-g, ...), then look at the *trace..* buffer.
>>
>> I'll try to see what I can find this week end and report back.
>
> Ok, so the good news is the `debug-on-event' trick works. If you got a
> lockup, you can get a classic elisp backtrace by sending the SIGUSR2 to
> the Emacs process.
>
> The bad news is that I don't know yet how to reproduce the lockup. It
> seems to happen mostly (if not only) when I use org-mode +
> visual-line-mode + adaptive-wrap-prefix-mode + an input-method like
> latin-postfix.
>
> And it probably has to do with the cache mechanism. I'll try to
> reproduce it with the cache disabled but it hard to test because, as I
> said, I don't know how to reproduce it yet.
Grr, I still don't know how to reproduce this bug.
As I said above, I only had this bug with visual-line-mode +
adaptive-wrap-prefix-mode and input-method = latin-postfix.
It seems to happen with different configurationsa but it takes longer
(maybe days of editing) before it is triggered.
I've attached part of the traces (the whole traces are way too big) and
the backtraces.
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: crash-dat.org --]
[-- Type: text/x-org, Size: 99789 bytes --]
* 1
#+BEGIN_EXAMPLE
Debugger entered--beginning evaluation of function call form:
* (funcall #[0 "\f?\205,\0\302 r\rq\210\301\204\x13\0\306\r!\210db\210\307\300\x0e \303\242\203%\0\303\242@\202&\0\310\x04$c)\262\x01\207" [org-element--cache-sync nil #[0 "\300\207" [""] 1 "\n\n(fn)"] (nil) inhibit-trace trace-buffer trace--display-buffer trace-exit-message !non-local\ exit! trace-level] 6 "\n\n(fn)"])
#[385 "\fT\306\301!\307\303 \x01\x1d\x02\x1e\x18\x03\x1c\x0e\x19\204@\0r\x0e\x18q\210\310\311!\210\312\x16 \302\204)\0\313\x0e\x18!\210db\210\f\314U\2036\0\x0e\x1ac\210\315\300\f\x06\a\x04$c\210)\307C\316\317\320\321\322\323\300\302\303\x06 $\324\"\325\326%DC\216\211\327\x06\b\x06\b\"C\240\210)\211\242@\262\x01+\207" [org-element--cache-sync "*trace-output*" nil #[0 "\300\207" [""] 1 "\n\n(fn)"] trace-level deactivate-mark get-buffer-create nil make-local-variable window-point-insertion-type t trace--display-buffer 1 trace-entry-message funcall make-byte-code 0 "\f?\205,\0\302 r\rq\210\301\204\x13\0\306\r!\210db\210\307\300\x0e \303\242\203%\0\303\242@\202&\0\310\x04$c)\262\x01\207" vconcat vector [inhibit-trace trace-buffer trace--display-buffer trace-exit-message !non-local\ exit! trace-level] 6 "\n\n(fn)" apply trace-buffer inhibit-trace trace-separator] 17 "\n\n(fn BODY &rest ARGS)"]((lambda (buffer &optional threshold) "Synchronize cache with recent modification in BUFFER.\nWhen optional argument THRESHOLD is non-nil, do the\nsynchronization for all elements starting before or at threshold,\nthen exit. Otherwise, synchronize cache for as long as\n`org-element-cache-sync-duration' or until Emacs leaves idle\nstate." (if (buffer-live-p buffer) (progn (save-current-buffer (set-buffer buffer) (let ((inhibit-quit t) request next) (if org-element--cache-sync-timer (progn (cancel-timer org-element--cache-sync-timer))) (catch (quote interrupt) (while org-element--cache-sync-requests (setq request ... next ...) (or ... ...) (if next ...) (setq org-element--cache-sync-requests ...))) (if org-element--cache-sync-requests (org-element--cache-set-timer buffer) (clrhash org-element--cache-sync-keys))))))) #<buffer test.org> 652)
apply(#[385 "\fT\306\301!\307\303 \x01\x1d\x02\x1e\x18\x03\x1c\x0e\x19\204@\0r\x0e\x18q\210\310\311!\210\312\x16 \302\204)\0\313\x0e\x18!\210db\210\f\314U\2036\0\x0e\x1ac\210\315\300\f\x06\a\x04$c\210)\307C\316\317\320\321\322\323\300\302\303\x06 $\324\"\325\326%DC\216\211\327\x06\b\x06\b\"C\240\210)\211\242@\262\x01+\207" [org-element--cache-sync "*trace-output*" nil #[0 "\300\207" [""] 1 "\n\n(fn)"] trace-level deactivate-mark get-buffer-create nil make-local-variable window-point-insertion-type t trace--display-buffer 1 trace-entry-message funcall make-byte-code 0 "\f?\205,\0\302 r\rq\210\301\204\x13\0\306\r!\210db\210\307\300\x0e \303\242\203%\0\303\242@\202&\0\310\x04$c)\262\x01\207" vconcat vector [inhibit-trace trace-buffer trace--display-buffer trace-exit-message !non-local\ exit! trace-level] 6 "\n\n(fn)" apply trace-buffer inhibit-trace trace-separator] 17 "\n\n(fn BODY &rest ARGS)"] (lambda (buffer &optional threshold) "Synchronize cache with recent modification in BUFFER.\nWhen optional argument THRESHOLD is non-nil, do the\nsynchronization for all elements starting before or at threshold,\nthen exit. Otherwise, synchronize cache for as long as\n`org-element-cache-sync-duration' or until Emacs leaves idle\nstate." (if (buffer-live-p buffer) (progn (save-current-buffer (set-buffer buffer) (let ((inhibit-quit t) request next) (if org-element--cache-sync-timer (progn (cancel-timer org-element--cache-sync-timer))) (catch (quote interrupt) (while org-element--cache-sync-requests (setq request ... next ...) (or ... ...) (if next ...) (setq org-element--cache-sync-requests ...))) (if org-element--cache-sync-requests (org-element--cache-set-timer buffer) (clrhash org-element--cache-sync-keys))))))) (#<buffer test.org> 652))
org-element--cache-sync(#<buffer test.org> 652)
(if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync (current-buffer) origin))
(progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync (current-buffer) origin)))
(if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync (current-buffer) origin))))
(cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync (current-buffer) origin)))) (org-element--parse-to origin)))
(let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync (current-buffer) origin)))) (org-element--parse-to origin))))
(save-restriction (widen) (let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync ... origin)))) (org-element--parse-to origin)))))
(save-excursion (save-restriction (widen) (let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if ... ... ...))) (org-element--parse-to origin))))))
(lambda nil "Determine closest element around point.\n\nReturn value is a list like (TYPE PROPS) where TYPE is the type\nof the element and PROPS a plist of properties associated to the\nelement.\n\nPossible types are defined in `org-element-all-elements'.\nProperties depend on element or object type, but always include\n`:begin', `:end', `:parent' and `:post-blank' properties.\n\nAs a special case, if point is at the very beginning of the first\nitem in a list or sub-list, returned element will be that list\ninstead of the item. Likewise, if point is at the beginning of\nthe first row of a table, returned element will be the table\ninstead of the first row.\n\nWhen point is at the end of the buffer, return the innermost\nelement ending there." (save-excursion (save-restriction (widen) (let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* (... ... ... ...) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn ...)) (org-element--parse-to origin)))))))()
apply((lambda nil "Determine closest element around point.\n\nReturn value is a list like (TYPE PROPS) where TYPE is the type\nof the element and PROPS a plist of properties associated to the\nelement.\n\nPossible types are defined in `org-element-all-elements'.\nProperties depend on element or object type, but always include\n`:begin', `:end', `:parent' and `:post-blank' properties.\n\nAs a special case, if point is at the very beginning of the first\nitem in a list or sub-list, returned element will be that list\ninstead of the item. Likewise, if point is at the beginning of\nthe first row of a table, returned element will be the table\ninstead of the first row.\n\nWhen point is at the end of the buffer, return the innermost\nelement ending there." (save-excursion (save-restriction (widen) (let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* (... ... ... ...) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn ...)) (org-element--parse-to origin))))))) nil)
#[385 "\fT\306\301!\307\303 \x01\x1d\x02\x1e\x18\x03\x1c\x0e\x19\204@\0r\x0e\x18q\210\310\311!\210\312\x16 \302\204)\0\313\x0e\x18!\210db\210\f\314U\2036\0\x0e\x1ac\210\315\300\f\x06\a\x04$c\210)\307C\316\317\320\321\322\323\300\302\303\x06 $\324\"\325\326%DC\216\211\327\x06\b\x06\b\"C\240\210)\211\242@\262\x01+\207" [org-element-at-point "*trace-output*" nil #[0 "\300\207" [""] 1 "\n\n(fn)"] trace-level deactivate-mark get-buffer-create nil make-local-variable window-point-insertion-type t trace--display-buffer 1 trace-entry-message funcall make-byte-code 0 "\f?\205,\0\302 r\rq\210\301\204\x13\0\306\r!\210db\210\307\300\x0e \303\242\203%\0\303\242@\202&\0\310\x04$c)\262\x01\207" vconcat vector [inhibit-trace trace-buffer trace--display-buffer trace-exit-message !non-local\ exit! trace-level] 6 "\n\n(fn)" apply trace-buffer inhibit-trace trace-separator] 17 "\n\n(fn BODY &rest ARGS)"]((lambda nil "Determine closest element around point.\n\nReturn value is a list like (TYPE PROPS) where TYPE is the type\nof the element and PROPS a plist of properties associated to the\nelement.\n\nPossible types are defined in `org-element-all-elements'.\nProperties depend on element or object type, but always include\n`:begin', `:end', `:parent' and `:post-blank' properties.\n\nAs a special case, if point is at the very beginning of the first\nitem in a list or sub-list, returned element will be that list\ninstead of the item. Likewise, if point is at the beginning of\nthe first row of a table, returned element will be the table\ninstead of the first row.\n\nWhen point is at the end of the buffer, return the innermost\nelement ending there." (save-excursion (save-restriction (widen) (let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* (... ... ... ...) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn ...)) (org-element--parse-to origin))))))))
apply(#[385 "\fT\306\301!\307\303 \x01\x1d\x02\x1e\x18\x03\x1c\x0e\x19\204@\0r\x0e\x18q\210\310\311!\210\312\x16 \302\204)\0\313\x0e\x18!\210db\210\f\314U\2036\0\x0e\x1ac\210\315\300\f\x06\a\x04$c\210)\307C\316\317\320\321\322\323\300\302\303\x06 $\324\"\325\326%DC\216\211\327\x06\b\x06\b\"C\240\210)\211\242@\262\x01+\207" [org-element-at-point "*trace-output*" nil #[0 "\300\207" [""] 1 "\n\n(fn)"] trace-level deactivate-mark get-buffer-create nil make-local-variable window-point-insertion-type t trace--display-buffer 1 trace-entry-message funcall make-byte-code 0 "\f?\205,\0\302 r\rq\210\301\204\x13\0\306\r!\210db\210\307\300\x0e \303\242\203%\0\303\242@\202&\0\310\x04$c)\262\x01\207" vconcat vector [inhibit-trace trace-buffer trace--display-buffer trace-exit-message !non-local\ exit! trace-level] 6 "\n\n(fn)" apply trace-buffer inhibit-trace trace-separator] 17 "\n\n(fn BODY &rest ARGS)"] (lambda nil "Determine closest element around point.\n\nReturn value is a list like (TYPE PROPS) where TYPE is the type\nof the element and PROPS a plist of properties associated to the\nelement.\n\nPossible types are defined in `org-element-all-elements'.\nProperties depend on element or object type, but always include\n`:begin', `:end', `:parent' and `:post-blank' properties.\n\nAs a special case, if point is at the very beginning of the first\nitem in a list or sub-list, returned element will be that list\ninstead of the item. Likewise, if point is at the beginning of\nthe first row of a table, returned element will be the table\ninstead of the first row.\n\nWhen point is at the end of the buffer, return the innermost\nelement ending there." (save-excursion (save-restriction (widen) (let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* (... ... ... ...) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn ...)) (org-element--parse-to origin))))))) nil)
org-element-at-point()
(progn (org-element-at-point))
(condition-case nil (progn (org-element-at-point)) (error nil))
(or (condition-case nil (progn (org-element-at-point)) (error nil)) (user-error "An element cannot be parsed line %d" (line-number-at-pos (point))))
(save-excursion (beginning-of-line) (or (condition-case nil (progn (org-element-at-point)) (error nil)) (user-error "An element cannot be parsed line %d" (line-number-at-pos (point)))))
(let* ((p (line-beginning-position)) (element (save-excursion (beginning-of-line) (or (condition-case nil (progn (org-element-at-point)) (error nil)) (user-error "An element cannot be parsed line %d" (line-number-at-pos (point)))))) (type (org-element-type element)) (post-affiliated (org-element-property :post-affiliated element))) (if (and post-affiliated (< p post-affiliated)) nil (cond ((eql type (quote comment)) (save-excursion (beginning-of-line) (looking-at "[ ]*") (concat (match-string 0) "# "))) ((eql type (quote footnote-definition)) "") ((memql type (quote (item plain-list))) (make-string (org-list-item-body-column (or post-affiliated (org-element-property :begin element))) 32)) ((eql type (quote paragraph)) (let ((parent (org-element-property :parent element))) (save-excursion (beginning-of-line) (cond (... ...) (...) (... ...) (t ""))))) ((eql type (quote comment-block)) (let* ((cbeg (save-excursion ... ... ...)) (cend (save-excursion ... ... ...))) (if (and (>= p cbeg) (< p cend)) (progn (if ... ... ""))))))))
(save-restriction (widen) (let* ((p (line-beginning-position)) (element (save-excursion (beginning-of-line) (or (condition-case nil (progn ...) (error nil)) (user-error "An element cannot be parsed line %d" (line-number-at-pos ...))))) (type (org-element-type element)) (post-affiliated (org-element-property :post-affiliated element))) (if (and post-affiliated (< p post-affiliated)) nil (cond ((eql type (quote comment)) (save-excursion (beginning-of-line) (looking-at "[ ]*") (concat (match-string 0) "# "))) ((eql type (quote footnote-definition)) "") ((memql type (quote (item plain-list))) (make-string (org-list-item-body-column (or post-affiliated ...)) 32)) ((eql type (quote paragraph)) (let ((parent ...)) (save-excursion (beginning-of-line) (cond ... ... ... ...)))) ((eql type (quote comment-block)) (let* ((cbeg ...) (cend ...)) (if (and ... ...) (progn ...))))))))
(save-excursion (save-restriction (widen) (let* ((p (line-beginning-position)) (element (save-excursion (beginning-of-line) (or (condition-case nil ... ...) (user-error "An element cannot be parsed line %d" ...)))) (type (org-element-type element)) (post-affiliated (org-element-property :post-affiliated element))) (if (and post-affiliated (< p post-affiliated)) nil (cond ((eql type (quote comment)) (save-excursion (beginning-of-line) (looking-at "[ ]*") (concat ... "# "))) ((eql type (quote footnote-definition)) "") ((memql type (quote ...)) (make-string (org-list-item-body-column ...) 32)) ((eql type (quote paragraph)) (let (...) (save-excursion ... ...))) ((eql type (quote comment-block)) (let* (... ...) (if ... ...))))))))
(catch (quote exit) (if (derived-mode-p (quote message-mode)) (progn (save-excursion (beginning-of-line) (cond ((or (not ...) (looking-at orgtbl-line-start-regexp)) (throw (quote exit) nil)) ((looking-at message-cite-prefix-regexp) (throw (quote exit) (match-string-no-properties 0))) ((looking-at org-outline-regexp) (throw (quote exit) (make-string ... 32))))))) (save-excursion (save-restriction (widen) (let* ((p (line-beginning-position)) (element (save-excursion (beginning-of-line) (or ... ...))) (type (org-element-type element)) (post-affiliated (org-element-property :post-affiliated element))) (if (and post-affiliated (< p post-affiliated)) nil (cond ((eql type ...) (save-excursion ... ... ...)) ((eql type ...) "") ((memql type ...) (make-string ... 32)) ((eql type ...) (let ... ...)) ((eql type ...) (let* ... ...))))))))
(lambda nil "Compute a fill prefix for the current line.\nReturn fill prefix, as a string, or nil if current line isn't\nmeant to be filled. For convenience, if `adaptive-fill-regexp'\nmatches in paragraphs or comments, use it." (catch (quote exit) (if (derived-mode-p (quote message-mode)) (progn (save-excursion (beginning-of-line) (cond ((or ... ...) (throw ... nil)) ((looking-at message-cite-prefix-regexp) (throw ... ...)) ((looking-at org-outline-regexp) (throw ... ...)))))) (save-excursion (save-restriction (widen) (let* ((p (line-beginning-position)) (element (save-excursion ... ...)) (type (org-element-type element)) (post-affiliated (org-element-property :post-affiliated element))) (if (and post-affiliated (< p post-affiliated)) nil (cond (... ...) (... "") (... ...) (... ...) (... ...))))))))()
apply((lambda nil "Compute a fill prefix for the current line.\nReturn fill prefix, as a string, or nil if current line isn't\nmeant to be filled. For convenience, if `adaptive-fill-regexp'\nmatches in paragraphs or comments, use it." (catch (quote exit) (if (derived-mode-p (quote message-mode)) (progn (save-excursion (beginning-of-line) (cond ((or ... ...) (throw ... nil)) ((looking-at message-cite-prefix-regexp) (throw ... ...)) ((looking-at org-outline-regexp) (throw ... ...)))))) (save-excursion (save-restriction (widen) (let* ((p (line-beginning-position)) (element (save-excursion ... ...)) (type (org-element-type element)) (post-affiliated (org-element-property :post-affiliated element))) (if (and post-affiliated (< p post-affiliated)) nil (cond (... ...) (... "") (... ...) (... ...) (... ...)))))))) nil)
#[385 "\fT\306\301!\307\303 \x01\x1d\x02\x1e\x18\x03\x1c\x0e\x19\204@\0r\x0e\x18q\210\310\311!\210\312\x16 \302\204)\0\313\x0e\x18!\210db\210\f\314U\2036\0\x0e\x1ac\210\315\300\f\x06\a\x04$c\210)\307C\316\317\320\321\322\323\300\302\303\x06 $\324\"\325\326%DC\216\211\327\x06\b\x06\b\"C\240\210)\211\242@\262\x01+\207" [org-adaptive-fill-function "*trace-output*" nil #[0 "\300\207" [""] 1 "\n\n(fn)"] trace-level deactivate-mark get-buffer-create nil make-local-variable window-point-insertion-type t trace--display-buffer 1 trace-entry-message funcall make-byte-code 0 "\f?\205,\0\302 r\rq\210\301\204\x13\0\306\r!\210db\210\307\300\x0e \303\242\203%\0\303\242@\202&\0\310\x04$c)\262\x01\207" vconcat vector [inhibit-trace trace-buffer trace--display-buffer trace-exit-message !non-local\ exit! trace-level] 6 "\n\n(fn)" apply trace-buffer inhibit-trace trace-separator] 17 "\n\n(fn BODY &rest ARGS)"]((lambda nil "Compute a fill prefix for the current line.\nReturn fill prefix, as a string, or nil if current line isn't\nmeant to be filled. For convenience, if `adaptive-fill-regexp'\nmatches in paragraphs or comments, use it." (catch (quote exit) (if (derived-mode-p (quote message-mode)) (progn (save-excursion (beginning-of-line) (cond ((or ... ...) (throw ... nil)) ((looking-at message-cite-prefix-regexp) (throw ... ...)) ((looking-at org-outline-regexp) (throw ... ...)))))) (save-excursion (save-restriction (widen) (let* ((p (line-beginning-position)) (element (save-excursion ... ...)) (type (org-element-type element)) (post-affiliated (org-element-property :post-affiliated element))) (if (and post-affiliated (< p post-affiliated)) nil (cond (... ...) (... "") (... ...) (... ...) (... ...)))))))))
apply(#[385 "\fT\306\301!\307\303 \x01\x1d\x02\x1e\x18\x03\x1c\x0e\x19\204@\0r\x0e\x18q\210\310\311!\210\312\x16 \302\204)\0\313\x0e\x18!\210db\210\f\314U\2036\0\x0e\x1ac\210\315\300\f\x06\a\x04$c\210)\307C\316\317\320\321\322\323\300\302\303\x06 $\324\"\325\326%DC\216\211\327\x06\b\x06\b\"C\240\210)\211\242@\262\x01+\207" [org-adaptive-fill-function "*trace-output*" nil #[0 "\300\207" [""] 1 "\n\n(fn)"] trace-level deactivate-mark get-buffer-create nil make-local-variable window-point-insertion-type t trace--display-buffer 1 trace-entry-message funcall make-byte-code 0 "\f?\205,\0\302 r\rq\210\301\204\x13\0\306\r!\210db\210\307\300\x0e \303\242\203%\0\303\242@\202&\0\310\x04$c)\262\x01\207" vconcat vector [inhibit-trace trace-buffer trace--display-buffer trace-exit-message !non-local\ exit! trace-level] 6 "\n\n(fn)" apply trace-buffer inhibit-trace trace-separator] 17 "\n\n(fn BODY &rest ARGS)"] (lambda nil "Compute a fill prefix for the current line.\nReturn fill prefix, as a string, or nil if current line isn't\nmeant to be filled. For convenience, if `adaptive-fill-regexp'\nmatches in paragraphs or comments, use it." (catch (quote exit) (if (derived-mode-p (quote message-mode)) (progn (save-excursion (beginning-of-line) (cond ((or ... ...) (throw ... nil)) ((looking-at message-cite-prefix-regexp) (throw ... ...)) ((looking-at org-outline-regexp) (throw ... ...)))))) (save-excursion (save-restriction (widen) (let* ((p (line-beginning-position)) (element (save-excursion ... ...)) (type (org-element-type element)) (post-affiliated (org-element-property :post-affiliated element))) (if (and post-affiliated (< p post-affiliated)) nil (cond (... ...) (... "") (... ...) (... ...) (... ...)))))))) nil)
org-adaptive-fill-function()
fill-match-adaptive-prefix()
fill-context-prefix(652 729)
adaptive-wrap-fill-context-prefix(652 729)
adaptive-wrap-prefix-function(652 730)
run-hook-with-args(adaptive-wrap-prefix-function 652 730)
#[0 "\302\303\300\242\301\242#\207" [(652) (730) run-hook-with-args jit-lock-functions] 4 "\n\n(fn)"]()
funcall(#[0 "\302\303\300\242\301\242#\207" [(652) (730) run-hook-with-args jit-lock-functions] 4 "\n\n(fn)"])
jit-lock-fontify-now(652 1152)
jit-lock-function(652)
redisplay_internal\ \(C\ function\)()
read-key-sequence(nil nil nil t)
quail-start-translation(97)
quail-input-method(97)
#+END_EXAMPLE
#+BEGIN_EXAMPLE
======================================================================
1 -> (org-adaptive-fill-function)
| 2 -> (org-element-at-point)
| | 3 -> (org-element--cache-sync #<buffer test.org> 652)
| | | 4 -> (org-element--cache-process-request [726 nil 1 nil 2] 727 652 nil)
| | | 4 <- org-element--cache-process-request: t
| | | 4 -> (org-element--cache-process-request [727 nil 5 nil 2] 9750 652 nil)
| | | 4 <- org-element--cache-process-request: nil
| | 3 <- org-element--cache-sync: [nil 0 0 400000 nil org-element--cache-sync (#<buffer test.org>) idle 0]
| 2 <- org-element-at-point: (paragraph (:begin 652 :end 728 :contents-begin 652 :contents-end 727 :post-blank 1 :post-affiliated 652 :parent nil))
1 <- org-adaptive-fill-function: ""
======================================================================
1 -> (org-adaptive-fill-function)
| 2 -> (org-element-at-point)
| 2 <- org-element-at-point: (headline (:raw-value #1="This is another test" :begin 728 :end 9766 :pre-blank 1 :contents-begin 752 :contents-end 9766 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :CATEGORY nil :title #1#))
1 <- org-adaptive-fill-function: nil
======================================================================
1 -> (org-element--cache-sync #<buffer test.org>)
| 2 -> (org-element--cache-process-request [932 nil 5 nil 2] 9750 nil (21381 47609 398931 512000))
| 2 <- org-element--cache-process-request: nil
1 <- org-element--cache-sync: [nil 0 0 608541 nil org-element--cache-sync (#<buffer test.org>) idle 676000]
======================================================================
1 -> (org-adaptive-fill-function)
| 2 -> (org-element-at-point)
| | 3 -> (org-element--cache-sync #<buffer test.org> 652)
| | | 4 -> (org-element--cache-process-request [1626 nil 5 nil 2] 9750 652 nil)
| | | 4 <- org-element--cache-process-request: nil
| | 3 <- org-element--cache-sync: [nil 0 0 400000 nil org-element--cache-sync (#<buffer test.org>) idle 0]
| 2 <- org-element-at-point: (paragraph (:begin 652 :end 728 :contents-begin 652 :contents-end 727 :post-blank 1 :post-affiliated 652 :parent nil))
1 <- org-adaptive-fill-function: ""
======================================================================
1 -> (org-element--cache-sync #<buffer test.org> 726)
| 2 -> (org-element--cache-process-request [9628 nil 5 nil 2] 9750 726 nil)
| 2 <- org-element--cache-process-request: t
| 2 -> (org-element--cache-process-request [9750 nil 7 nil 2] nil 726 nil)
| 2 <- org-element--cache-process-request: t
1 <- org-element--cache-sync: #s(hash-table size 65 test eq weakness key rehash-size 1.5 rehash-threshold 0.8 data ())
======================================================================
1 -> (org-adaptive-fill-function)
| 2 -> (org-element-at-point)
| | 3 -> (org-element--cache-sync #<buffer test.org> 652)
| | | 4 -> (org-element--cache-process-request [153 740 1 nil 0] nil 652 nil)
#+END_EXAMPLE
* 2
#+BEGIN_EXAMPLE
Debugger entered--beginning evaluation of function call form:
* (funcall #[0 "\f?\205,\0\302 r\rq\210\301\204\x13\0\306\r!\210db\210\307\300\x0e \303\242\203%\0\303\242@\202&\0\310\x04$c)\262\x01\207" [org-element--cache-process-request nil #[0 "\300\207" [""] 1 "\n\n(fn)"] (nil) inhibit-trace trace-buffer trace--display-buffer trace-exit-message !non-local\ exit! trace-level] 6 "\n\n(fn)"])
#[385 "\fT\306\301!\307\303 \x01\x1d\x02\x1e\x18\x03\x1c\x0e\x19\204@\0r\x0e\x18q\210\310\311!\210\312\x16 \302\204)\0\313\x0e\x18!\210db\210\f\314U\2036\0\x0e\x1ac\210\315\300\f\x06\a\x04$c\210)\307C\316\317\320\321\322\323\300\302\303\x06 $\324\"\325\326%DC\216\211\327\x06\b\x06\b\"C\240\210)\211\242@\262\x01+\207" [org-element--cache-process-request "*trace-output*" nil #[0 "\300\207" [""] 1 "\n\n(fn)"] trace-level deactivate-mark get-buffer-create nil make-local-variable window-point-insertion-type t trace--display-buffer 1 trace-entry-message funcall make-byte-code 0 "\f?\205,\0\302 r\rq\210\301\204\x13\0\306\r!\210db\210\307\300\x0e \303\242\203%\0\303\242@\202&\0\310\x04$c)\262\x01\207" vconcat vector [inhibit-trace trace-buffer trace--display-buffer trace-exit-message !non-local\ exit! trace-level] 6 "\n\n(fn)" apply trace-buffer inhibit-trace trace-separator] 17 "\n\n(fn BODY &rest ARGS)"]((lambda (request next threshold time-limit) "Process synchronization REQUEST for all entries before NEXT.\n\nREQUEST is a vector, built by `org-element--cache-submit-request'.\n\nNEXT is a cache key, as returned by `org-element--cache-key'.\n\nWhen non-nil, THRESHOLD is a buffer position. Synchronization\nstops as soon as a shifted element begins after it.\n\nWhen non-nil, TIME-LIMIT is a time value. Synchronization stops\nafter this time or when Emacs exits idle state.\n\nReturn nil if the process stops before completing the request,\nt otherwise." (catch (quote quit) (if (= (aref request 4) 0) (progn (catch (quote end-phase) (let ((beg ...) (end ...) (deleted-parent ...)) (while t (if ... ...) (let ... ... ...)))))) (if (= (aref request 4) 1) (progn (catch (quote end-phase) (if (equal (aref request 0) next) (progn (throw ... t))) (let ((limit ...)) (if (and threshold ...) (progn ...)) (let (...) (if ... ... ... ... ...)))))) (let ((start (aref request 0)) (offset (aref request 2)) (parent (aref request 3)) (node (org-element--cache-root)) (stack (list nil)) (leftp t) exit-flag) (if (and (not parent) (zerop offset)) (progn (throw (quote quit) t))) (while node (let* ((data (progn ...)) (key (org-element--cache-key data))) (if (and leftp (progn ...) (not ...)) (progn (setq stack ...) (setq node ...)) (if (org-element--cache-key-less-p key start) nil (if ... ...) (if ... ...) (if ... nil ... ...) (let ... ... ... ...)) (setq node (if ... ... ...))))) t))) [(1983 1152921504606846975) 2221 1 nil 0] 9763 2060 nil)
apply(#[385 "\fT\306\301!\307\303 \x01\x1d\x02\x1e\x18\x03\x1c\x0e\x19\204@\0r\x0e\x18q\210\310\311!\210\312\x16 \302\204)\0\313\x0e\x18!\210db\210\f\314U\2036\0\x0e\x1ac\210\315\300\f\x06\a\x04$c\210)\307C\316\317\320\321\322\323\300\302\303\x06 $\324\"\325\326%DC\216\211\327\x06\b\x06\b\"C\240\210)\211\242@\262\x01+\207" [org-element--cache-process-request "*trace-output*" nil #[0 "\300\207" [""] 1 "\n\n(fn)"] trace-level deactivate-mark get-buffer-create nil make-local-variable window-point-insertion-type t trace--display-buffer 1 trace-entry-message funcall make-byte-code 0 "\f?\205,\0\302 r\rq\210\301\204\x13\0\306\r!\210db\210\307\300\x0e \303\242\203%\0\303\242@\202&\0\310\x04$c)\262\x01\207" vconcat vector [inhibit-trace trace-buffer trace--display-buffer trace-exit-message !non-local\ exit! trace-level] 6 "\n\n(fn)" apply trace-buffer inhibit-trace trace-separator] 17 "\n\n(fn BODY &rest ARGS)"] (lambda (request next threshold time-limit) "Process synchronization REQUEST for all entries before NEXT.\n\nREQUEST is a vector, built by `org-element--cache-submit-request'.\n\nNEXT is a cache key, as returned by `org-element--cache-key'.\n\nWhen non-nil, THRESHOLD is a buffer position. Synchronization\nstops as soon as a shifted element begins after it.\n\nWhen non-nil, TIME-LIMIT is a time value. Synchronization stops\nafter this time or when Emacs exits idle state.\n\nReturn nil if the process stops before completing the request,\nt otherwise." (catch (quote quit) (if (= (aref request 4) 0) (progn (catch (quote end-phase) (let ((beg ...) (end ...) (deleted-parent ...)) (while t (if ... ...) (let ... ... ...)))))) (if (= (aref request 4) 1) (progn (catch (quote end-phase) (if (equal (aref request 0) next) (progn (throw ... t))) (let ((limit ...)) (if (and threshold ...) (progn ...)) (let (...) (if ... ... ... ... ...)))))) (let ((start (aref request 0)) (offset (aref request 2)) (parent (aref request 3)) (node (org-element--cache-root)) (stack (list nil)) (leftp t) exit-flag) (if (and (not parent) (zerop offset)) (progn (throw (quote quit) t))) (while node (let* ((data (progn ...)) (key (org-element--cache-key data))) (if (and leftp (progn ...) (not ...)) (progn (setq stack ...) (setq node ...)) (if (org-element--cache-key-less-p key start) nil (if ... ...) (if ... ...) (if ... nil ... ...) (let ... ... ... ...)) (setq node (if ... ... ...))))) t))) ([(1983 1152921504606846975) 2221 1 nil 0] 9763 2060 nil))
org-element--cache-process-request([(1983 1152921504606846975) 2221 1 nil 0] 9763 2060 nil)
(or (org-element--cache-process-request request (and next (aref next 0)) threshold (and (not threshold) (time-add (current-time) org-element-cache-sync-duration))) (throw (quote interrupt) t))
(while org-element--cache-sync-requests (setq request (car org-element--cache-sync-requests) next (nth 1 org-element--cache-sync-requests)) (or (org-element--cache-process-request request (and next (aref next 0)) threshold (and (not threshold) (time-add (current-time) org-element-cache-sync-duration))) (throw (quote interrupt) t)) (if next (progn (let* ((v next)) (aset v 2 (+ (aref v 2) (aref request 2)))) (aset next 1 (aref request 1)) (aset next 4 (aref request 4)))) (setq org-element--cache-sync-requests (cdr org-element--cache-sync-requests)))
(catch (quote interrupt) (while org-element--cache-sync-requests (setq request (car org-element--cache-sync-requests) next (nth 1 org-element--cache-sync-requests)) (or (org-element--cache-process-request request (and next (aref next 0)) threshold (and (not threshold) (time-add (current-time) org-element-cache-sync-duration))) (throw (quote interrupt) t)) (if next (progn (let* ((v next)) (aset v 2 (+ (aref v 2) (aref request 2)))) (aset next 1 (aref request 1)) (aset next 4 (aref request 4)))) (setq org-element--cache-sync-requests (cdr org-element--cache-sync-requests))))
(let ((inhibit-quit t) request next) (if org-element--cache-sync-timer (progn (cancel-timer org-element--cache-sync-timer))) (catch (quote interrupt) (while org-element--cache-sync-requests (setq request (car org-element--cache-sync-requests) next (nth 1 org-element--cache-sync-requests)) (or (org-element--cache-process-request request (and next (aref next 0)) threshold (and (not threshold) (time-add (current-time) org-element-cache-sync-duration))) (throw (quote interrupt) t)) (if next (progn (let* ((v next)) (aset v 2 (+ ... ...))) (aset next 1 (aref request 1)) (aset next 4 (aref request 4)))) (setq org-element--cache-sync-requests (cdr org-element--cache-sync-requests)))) (if org-element--cache-sync-requests (org-element--cache-set-timer buffer) (clrhash org-element--cache-sync-keys)))
(save-current-buffer (set-buffer buffer) (let ((inhibit-quit t) request next) (if org-element--cache-sync-timer (progn (cancel-timer org-element--cache-sync-timer))) (catch (quote interrupt) (while org-element--cache-sync-requests (setq request (car org-element--cache-sync-requests) next (nth 1 org-element--cache-sync-requests)) (or (org-element--cache-process-request request (and next (aref next 0)) threshold (and (not threshold) (time-add ... org-element-cache-sync-duration))) (throw (quote interrupt) t)) (if next (progn (let* (...) (aset v 2 ...)) (aset next 1 (aref request 1)) (aset next 4 (aref request 4)))) (setq org-element--cache-sync-requests (cdr org-element--cache-sync-requests)))) (if org-element--cache-sync-requests (org-element--cache-set-timer buffer) (clrhash org-element--cache-sync-keys))))
(progn (save-current-buffer (set-buffer buffer) (let ((inhibit-quit t) request next) (if org-element--cache-sync-timer (progn (cancel-timer org-element--cache-sync-timer))) (catch (quote interrupt) (while org-element--cache-sync-requests (setq request (car org-element--cache-sync-requests) next (nth 1 org-element--cache-sync-requests)) (or (org-element--cache-process-request request (and next ...) threshold (and ... ...)) (throw (quote interrupt) t)) (if next (progn (let* ... ...) (aset next 1 ...) (aset next 4 ...))) (setq org-element--cache-sync-requests (cdr org-element--cache-sync-requests)))) (if org-element--cache-sync-requests (org-element--cache-set-timer buffer) (clrhash org-element--cache-sync-keys)))))
(if (buffer-live-p buffer) (progn (save-current-buffer (set-buffer buffer) (let ((inhibit-quit t) request next) (if org-element--cache-sync-timer (progn (cancel-timer org-element--cache-sync-timer))) (catch (quote interrupt) (while org-element--cache-sync-requests (setq request (car org-element--cache-sync-requests) next (nth 1 org-element--cache-sync-requests)) (or (org-element--cache-process-request request ... threshold ...) (throw ... t)) (if next (progn ... ... ...)) (setq org-element--cache-sync-requests (cdr org-element--cache-sync-requests)))) (if org-element--cache-sync-requests (org-element--cache-set-timer buffer) (clrhash org-element--cache-sync-keys))))))
(lambda (buffer &optional threshold) "Synchronize cache with recent modification in BUFFER.\nWhen optional argument THRESHOLD is non-nil, do the\nsynchronization for all elements starting before or at threshold,\nthen exit. Otherwise, synchronize cache for as long as\n`org-element-cache-sync-duration' or until Emacs leaves idle\nstate." (if (buffer-live-p buffer) (progn (save-current-buffer (set-buffer buffer) (let ((inhibit-quit t) request next) (if org-element--cache-sync-timer (progn (cancel-timer org-element--cache-sync-timer))) (catch (quote interrupt) (while org-element--cache-sync-requests (setq request ... next ...) (or ... ...) (if next ...) (setq org-element--cache-sync-requests ...))) (if org-element--cache-sync-requests (org-element--cache-set-timer buffer) (clrhash org-element--cache-sync-keys)))))))(#<buffer test.org> 2060)
apply((lambda (buffer &optional threshold) "Synchronize cache with recent modification in BUFFER.\nWhen optional argument THRESHOLD is non-nil, do the\nsynchronization for all elements starting before or at threshold,\nthen exit. Otherwise, synchronize cache for as long as\n`org-element-cache-sync-duration' or until Emacs leaves idle\nstate." (if (buffer-live-p buffer) (progn (save-current-buffer (set-buffer buffer) (let ((inhibit-quit t) request next) (if org-element--cache-sync-timer (progn (cancel-timer org-element--cache-sync-timer))) (catch (quote interrupt) (while org-element--cache-sync-requests (setq request ... next ...) (or ... ...) (if next ...) (setq org-element--cache-sync-requests ...))) (if org-element--cache-sync-requests (org-element--cache-set-timer buffer) (clrhash org-element--cache-sync-keys))))))) (#<buffer test.org> 2060))
#[385 "\fT\306\301!\307\303 \x01\x1d\x02\x1e\x18\x03\x1c\x0e\x19\204@\0r\x0e\x18q\210\310\311!\210\312\x16 \302\204)\0\313\x0e\x18!\210db\210\f\314U\2036\0\x0e\x1ac\210\315\300\f\x06\a\x04$c\210)\307C\316\317\320\321\322\323\300\302\303\x06 $\324\"\325\326%DC\216\211\327\x06\b\x06\b\"C\240\210)\211\242@\262\x01+\207" [org-element--cache-sync "*trace-output*" nil #[0 "\300\207" [""] 1 "\n\n(fn)"] trace-level deactivate-mark get-buffer-create nil make-local-variable window-point-insertion-type t trace--display-buffer 1 trace-entry-message funcall make-byte-code 0 "\f?\205,\0\302 r\rq\210\301\204\x13\0\306\r!\210db\210\307\300\x0e \303\242\203%\0\303\242@\202&\0\310\x04$c)\262\x01\207" vconcat vector [inhibit-trace trace-buffer trace--display-buffer trace-exit-message !non-local\ exit! trace-level] 6 "\n\n(fn)" apply trace-buffer inhibit-trace trace-separator] 17 "\n\n(fn BODY &rest ARGS)"]((lambda (buffer &optional threshold) "Synchronize cache with recent modification in BUFFER.\nWhen optional argument THRESHOLD is non-nil, do the\nsynchronization for all elements starting before or at threshold,\nthen exit. Otherwise, synchronize cache for as long as\n`org-element-cache-sync-duration' or until Emacs leaves idle\nstate." (if (buffer-live-p buffer) (progn (save-current-buffer (set-buffer buffer) (let ((inhibit-quit t) request next) (if org-element--cache-sync-timer (progn (cancel-timer org-element--cache-sync-timer))) (catch (quote interrupt) (while org-element--cache-sync-requests (setq request ... next ...) (or ... ...) (if next ...) (setq org-element--cache-sync-requests ...))) (if org-element--cache-sync-requests (org-element--cache-set-timer buffer) (clrhash org-element--cache-sync-keys))))))) #<buffer test.org> 2060)
apply(#[385 "\fT\306\301!\307\303 \x01\x1d\x02\x1e\x18\x03\x1c\x0e\x19\204@\0r\x0e\x18q\210\310\311!\210\312\x16 \302\204)\0\313\x0e\x18!\210db\210\f\314U\2036\0\x0e\x1ac\210\315\300\f\x06\a\x04$c\210)\307C\316\317\320\321\322\323\300\302\303\x06 $\324\"\325\326%DC\216\211\327\x06\b\x06\b\"C\240\210)\211\242@\262\x01+\207" [org-element--cache-sync "*trace-output*" nil #[0 "\300\207" [""] 1 "\n\n(fn)"] trace-level deactivate-mark get-buffer-create nil make-local-variable window-point-insertion-type t trace--display-buffer 1 trace-entry-message funcall make-byte-code 0 "\f?\205,\0\302 r\rq\210\301\204\x13\0\306\r!\210db\210\307\300\x0e \303\242\203%\0\303\242@\202&\0\310\x04$c)\262\x01\207" vconcat vector [inhibit-trace trace-buffer trace--display-buffer trace-exit-message !non-local\ exit! trace-level] 6 "\n\n(fn)" apply trace-buffer inhibit-trace trace-separator] 17 "\n\n(fn BODY &rest ARGS)"] (lambda (buffer &optional threshold) "Synchronize cache with recent modification in BUFFER.\nWhen optional argument THRESHOLD is non-nil, do the\nsynchronization for all elements starting before or at threshold,\nthen exit. Otherwise, synchronize cache for as long as\n`org-element-cache-sync-duration' or until Emacs leaves idle\nstate." (if (buffer-live-p buffer) (progn (save-current-buffer (set-buffer buffer) (let ((inhibit-quit t) request next) (if org-element--cache-sync-timer (progn (cancel-timer org-element--cache-sync-timer))) (catch (quote interrupt) (while org-element--cache-sync-requests (setq request ... next ...) (or ... ...) (if next ...) (setq org-element--cache-sync-requests ...))) (if org-element--cache-sync-requests (org-element--cache-set-timer buffer) (clrhash org-element--cache-sync-keys))))))) (#<buffer test.org> 2060))
org-element--cache-sync(#<buffer test.org> 2060)
(if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync (current-buffer) origin))
(progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync (current-buffer) origin)))
(if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync (current-buffer) origin))))
(cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync (current-buffer) origin)))) (org-element--parse-to origin)))
(let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync (current-buffer) origin)))) (org-element--parse-to origin))))
(save-restriction (widen) (let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync ... origin)))) (org-element--parse-to origin)))))
(save-excursion (save-restriction (widen) (let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if ... ... ...))) (org-element--parse-to origin))))))
(lambda nil "Determine closest element around point.\n\nReturn value is a list like (TYPE PROPS) where TYPE is the type\nof the element and PROPS a plist of properties associated to the\nelement.\n\nPossible types are defined in `org-element-all-elements'.\nProperties depend on element or object type, but always include\n`:begin', `:end', `:parent' and `:post-blank' properties.\n\nAs a special case, if point is at the very beginning of the first\nitem in a list or sub-list, returned element will be that list\ninstead of the item. Likewise, if point is at the beginning of\nthe first row of a table, returned element will be the table\ninstead of the first row.\n\nWhen point is at the end of the buffer, return the innermost\nelement ending there." (save-excursion (save-restriction (widen) (let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* (... ... ... ...) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn ...)) (org-element--parse-to origin)))))))()
apply((lambda nil "Determine closest element around point.\n\nReturn value is a list like (TYPE PROPS) where TYPE is the type\nof the element and PROPS a plist of properties associated to the\nelement.\n\nPossible types are defined in `org-element-all-elements'.\nProperties depend on element or object type, but always include\n`:begin', `:end', `:parent' and `:post-blank' properties.\n\nAs a special case, if point is at the very beginning of the first\nitem in a list or sub-list, returned element will be that list\ninstead of the item. Likewise, if point is at the beginning of\nthe first row of a table, returned element will be the table\ninstead of the first row.\n\nWhen point is at the end of the buffer, return the innermost\nelement ending there." (save-excursion (save-restriction (widen) (let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* (... ... ... ...) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn ...)) (org-element--parse-to origin))))))) nil)
#[385 "\fT\306\301!\307\303 \x01\x1d\x02\x1e\x18\x03\x1c\x0e\x19\204@\0r\x0e\x18q\210\310\311!\210\312\x16 \302\204)\0\313\x0e\x18!\210db\210\f\314U\2036\0\x0e\x1ac\210\315\300\f\x06\a\x04$c\210)\307C\316\317\320\321\322\323\300\302\303\x06 $\324\"\325\326%DC\216\211\327\x06\b\x06\b\"C\240\210)\211\242@\262\x01+\207" [org-element-at-point "*trace-output*" nil #[0 "\300\207" [""] 1 "\n\n(fn)"] trace-level deactivate-mark get-buffer-create nil make-local-variable window-point-insertion-type t trace--display-buffer 1 trace-entry-message funcall make-byte-code 0 "\f?\205,\0\302 r\rq\210\301\204\x13\0\306\r!\210db\210\307\300\x0e \303\242\203%\0\303\242@\202&\0\310\x04$c)\262\x01\207" vconcat vector [inhibit-trace trace-buffer trace--display-buffer trace-exit-message !non-local\ exit! trace-level] 6 "\n\n(fn)" apply trace-buffer inhibit-trace trace-separator] 17 "\n\n(fn BODY &rest ARGS)"]((lambda nil "Determine closest element around point.\n\nReturn value is a list like (TYPE PROPS) where TYPE is the type\nof the element and PROPS a plist of properties associated to the\nelement.\n\nPossible types are defined in `org-element-all-elements'.\nProperties depend on element or object type, but always include\n`:begin', `:end', `:parent' and `:post-blank' properties.\n\nAs a special case, if point is at the very beginning of the first\nitem in a list or sub-list, returned element will be that list\ninstead of the item. Likewise, if point is at the beginning of\nthe first row of a table, returned element will be the table\ninstead of the first row.\n\nWhen point is at the end of the buffer, return the innermost\nelement ending there." (save-excursion (save-restriction (widen) (let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* (... ... ... ...) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn ...)) (org-element--parse-to origin))))))))
apply(#[385 "\fT\306\301!\307\303 \x01\x1d\x02\x1e\x18\x03\x1c\x0e\x19\204@\0r\x0e\x18q\210\310\311!\210\312\x16 \302\204)\0\313\x0e\x18!\210db\210\f\314U\2036\0\x0e\x1ac\210\315\300\f\x06\a\x04$c\210)\307C\316\317\320\321\322\323\300\302\303\x06 $\324\"\325\326%DC\216\211\327\x06\b\x06\b\"C\240\210)\211\242@\262\x01+\207" [org-element-at-point "*trace-output*" nil #[0 "\300\207" [""] 1 "\n\n(fn)"] trace-level deactivate-mark get-buffer-create nil make-local-variable window-point-insertion-type t trace--display-buffer 1 trace-entry-message funcall make-byte-code 0 "\f?\205,\0\302 r\rq\210\301\204\x13\0\306\r!\210db\210\307\300\x0e \303\242\203%\0\303\242@\202&\0\310\x04$c)\262\x01\207" vconcat vector [inhibit-trace trace-buffer trace--display-buffer trace-exit-message !non-local\ exit! trace-level] 6 "\n\n(fn)" apply trace-buffer inhibit-trace trace-separator] 17 "\n\n(fn BODY &rest ARGS)"] (lambda nil "Determine closest element around point.\n\nReturn value is a list like (TYPE PROPS) where TYPE is the type\nof the element and PROPS a plist of properties associated to the\nelement.\n\nPossible types are defined in `org-element-all-elements'.\nProperties depend on element or object type, but always include\n`:begin', `:end', `:parent' and `:post-blank' properties.\n\nAs a special case, if point is at the very beginning of the first\nitem in a list or sub-list, returned element will be that list\ninstead of the item. Likewise, if point is at the beginning of\nthe first row of a table, returned element will be the table\ninstead of the first row.\n\nWhen point is at the end of the buffer, return the innermost\nelement ending there." (save-excursion (save-restriction (widen) (let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* (... ... ... ...) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn ...)) (org-element--parse-to origin))))))) nil)
org-element-at-point()
(progn (org-element-at-point))
(condition-case nil (progn (org-element-at-point)) (error nil))
(or (condition-case nil (progn (org-element-at-point)) (error nil)) (user-error "An element cannot be parsed line %d" (line-number-at-pos (point))))
(save-excursion (beginning-of-line) (or (condition-case nil (progn (org-element-at-point)) (error nil)) (user-error "An element cannot be parsed line %d" (line-number-at-pos (point)))))
(let* ((p (line-beginning-position)) (element (save-excursion (beginning-of-line) (or (condition-case nil (progn (org-element-at-point)) (error nil)) (user-error "An element cannot be parsed line %d" (line-number-at-pos (point)))))) (type (org-element-type element)) (post-affiliated (org-element-property :post-affiliated element))) (if (and post-affiliated (< p post-affiliated)) nil (cond ((eql type (quote comment)) (save-excursion (beginning-of-line) (looking-at "[ ]*") (concat (match-string 0) "# "))) ((eql type (quote footnote-definition)) "") ((memql type (quote (item plain-list))) (make-string (org-list-item-body-column (or post-affiliated (org-element-property :begin element))) 32)) ((eql type (quote paragraph)) (let ((parent (org-element-property :parent element))) (save-excursion (beginning-of-line) (cond (... ...) (...) (... ...) (t ""))))) ((eql type (quote comment-block)) (let* ((cbeg (save-excursion ... ... ...)) (cend (save-excursion ... ... ...))) (if (and (>= p cbeg) (< p cend)) (progn (if ... ... ""))))))))
(save-restriction (widen) (let* ((p (line-beginning-position)) (element (save-excursion (beginning-of-line) (or (condition-case nil (progn ...) (error nil)) (user-error "An element cannot be parsed line %d" (line-number-at-pos ...))))) (type (org-element-type element)) (post-affiliated (org-element-property :post-affiliated element))) (if (and post-affiliated (< p post-affiliated)) nil (cond ((eql type (quote comment)) (save-excursion (beginning-of-line) (looking-at "[ ]*") (concat (match-string 0) "# "))) ((eql type (quote footnote-definition)) "") ((memql type (quote (item plain-list))) (make-string (org-list-item-body-column (or post-affiliated ...)) 32)) ((eql type (quote paragraph)) (let ((parent ...)) (save-excursion (beginning-of-line) (cond ... ... ... ...)))) ((eql type (quote comment-block)) (let* ((cbeg ...) (cend ...)) (if (and ... ...) (progn ...))))))))
(save-excursion (save-restriction (widen) (let* ((p (line-beginning-position)) (element (save-excursion (beginning-of-line) (or (condition-case nil ... ...) (user-error "An element cannot be parsed line %d" ...)))) (type (org-element-type element)) (post-affiliated (org-element-property :post-affiliated element))) (if (and post-affiliated (< p post-affiliated)) nil (cond ((eql type (quote comment)) (save-excursion (beginning-of-line) (looking-at "[ ]*") (concat ... "# "))) ((eql type (quote footnote-definition)) "") ((memql type (quote ...)) (make-string (org-list-item-body-column ...) 32)) ((eql type (quote paragraph)) (let (...) (save-excursion ... ...))) ((eql type (quote comment-block)) (let* (... ...) (if ... ...))))))))
(catch (quote exit) (if (derived-mode-p (quote message-mode)) (progn (save-excursion (beginning-of-line) (cond ((or (not ...) (looking-at orgtbl-line-start-regexp)) (throw (quote exit) nil)) ((looking-at message-cite-prefix-regexp) (throw (quote exit) (match-string-no-properties 0))) ((looking-at org-outline-regexp) (throw (quote exit) (make-string ... 32))))))) (save-excursion (save-restriction (widen) (let* ((p (line-beginning-position)) (element (save-excursion (beginning-of-line) (or ... ...))) (type (org-element-type element)) (post-affiliated (org-element-property :post-affiliated element))) (if (and post-affiliated (< p post-affiliated)) nil (cond ((eql type ...) (save-excursion ... ... ...)) ((eql type ...) "") ((memql type ...) (make-string ... 32)) ((eql type ...) (let ... ...)) ((eql type ...) (let* ... ...))))))))
(lambda nil "Compute a fill prefix for the current line.\nReturn fill prefix, as a string, or nil if current line isn't\nmeant to be filled. For convenience, if `adaptive-fill-regexp'\nmatches in paragraphs or comments, use it." (catch (quote exit) (if (derived-mode-p (quote message-mode)) (progn (save-excursion (beginning-of-line) (cond ((or ... ...) (throw ... nil)) ((looking-at message-cite-prefix-regexp) (throw ... ...)) ((looking-at org-outline-regexp) (throw ... ...)))))) (save-excursion (save-restriction (widen) (let* ((p (line-beginning-position)) (element (save-excursion ... ...)) (type (org-element-type element)) (post-affiliated (org-element-property :post-affiliated element))) (if (and post-affiliated (< p post-affiliated)) nil (cond (... ...) (... "") (... ...) (... ...) (... ...))))))))()
apply((lambda nil "Compute a fill prefix for the current line.\nReturn fill prefix, as a string, or nil if current line isn't\nmeant to be filled. For convenience, if `adaptive-fill-regexp'\nmatches in paragraphs or comments, use it." (catch (quote exit) (if (derived-mode-p (quote message-mode)) (progn (save-excursion (beginning-of-line) (cond ((or ... ...) (throw ... nil)) ((looking-at message-cite-prefix-regexp) (throw ... ...)) ((looking-at org-outline-regexp) (throw ... ...)))))) (save-excursion (save-restriction (widen) (let* ((p (line-beginning-position)) (element (save-excursion ... ...)) (type (org-element-type element)) (post-affiliated (org-element-property :post-affiliated element))) (if (and post-affiliated (< p post-affiliated)) nil (cond (... ...) (... "") (... ...) (... ...) (... ...)))))))) nil)
#[385 "\fT\306\301!\307\303 \x01\x1d\x02\x1e\x18\x03\x1c\x0e\x19\204@\0r\x0e\x18q\210\310\311!\210\312\x16 \302\204)\0\313\x0e\x18!\210db\210\f\314U\2036\0\x0e\x1ac\210\315\300\f\x06\a\x04$c\210)\307C\316\317\320\321\322\323\300\302\303\x06 $\324\"\325\326%DC\216\211\327\x06\b\x06\b\"C\240\210)\211\242@\262\x01+\207" [org-adaptive-fill-function "*trace-output*" nil #[0 "\300\207" [""] 1 "\n\n(fn)"] trace-level deactivate-mark get-buffer-create nil make-local-variable window-point-insertion-type t trace--display-buffer 1 trace-entry-message funcall make-byte-code 0 "\f?\205,\0\302 r\rq\210\301\204\x13\0\306\r!\210db\210\307\300\x0e \303\242\203%\0\303\242@\202&\0\310\x04$c)\262\x01\207" vconcat vector [inhibit-trace trace-buffer trace--display-buffer trace-exit-message !non-local\ exit! trace-level] 6 "\n\n(fn)" apply trace-buffer inhibit-trace trace-separator] 17 "\n\n(fn BODY &rest ARGS)"]((lambda nil "Compute a fill prefix for the current line.\nReturn fill prefix, as a string, or nil if current line isn't\nmeant to be filled. For convenience, if `adaptive-fill-regexp'\nmatches in paragraphs or comments, use it." (catch (quote exit) (if (derived-mode-p (quote message-mode)) (progn (save-excursion (beginning-of-line) (cond ((or ... ...) (throw ... nil)) ((looking-at message-cite-prefix-regexp) (throw ... ...)) ((looking-at org-outline-regexp) (throw ... ...)))))) (save-excursion (save-restriction (widen) (let* ((p (line-beginning-position)) (element (save-excursion ... ...)) (type (org-element-type element)) (post-affiliated (org-element-property :post-affiliated element))) (if (and post-affiliated (< p post-affiliated)) nil (cond (... ...) (... "") (... ...) (... ...) (... ...)))))))))
apply(#[385 "\fT\306\301!\307\303 \x01\x1d\x02\x1e\x18\x03\x1c\x0e\x19\204@\0r\x0e\x18q\210\310\311!\210\312\x16 \302\204)\0\313\x0e\x18!\210db\210\f\314U\2036\0\x0e\x1ac\210\315\300\f\x06\a\x04$c\210)\307C\316\317\320\321\322\323\300\302\303\x06 $\324\"\325\326%DC\216\211\327\x06\b\x06\b\"C\240\210)\211\242@\262\x01+\207" [org-adaptive-fill-function "*trace-output*" nil #[0 "\300\207" [""] 1 "\n\n(fn)"] trace-level deactivate-mark get-buffer-create nil make-local-variable window-point-insertion-type t trace--display-buffer 1 trace-entry-message funcall make-byte-code 0 "\f?\205,\0\302 r\rq\210\301\204\x13\0\306\r!\210db\210\307\300\x0e \303\242\203%\0\303\242@\202&\0\310\x04$c)\262\x01\207" vconcat vector [inhibit-trace trace-buffer trace--display-buffer trace-exit-message !non-local\ exit! trace-level] 6 "\n\n(fn)" apply trace-buffer inhibit-trace trace-separator] 17 "\n\n(fn BODY &rest ARGS)"] (lambda nil "Compute a fill prefix for the current line.\nReturn fill prefix, as a string, or nil if current line isn't\nmeant to be filled. For convenience, if `adaptive-fill-regexp'\nmatches in paragraphs or comments, use it." (catch (quote exit) (if (derived-mode-p (quote message-mode)) (progn (save-excursion (beginning-of-line) (cond ((or ... ...) (throw ... nil)) ((looking-at message-cite-prefix-regexp) (throw ... ...)) ((looking-at org-outline-regexp) (throw ... ...)))))) (save-excursion (save-restriction (widen) (let* ((p (line-beginning-position)) (element (save-excursion ... ...)) (type (org-element-type element)) (post-affiliated (org-element-property :post-affiliated element))) (if (and post-affiliated (< p post-affiliated)) nil (cond (... ...) (... "") (... ...) (... ...) (... ...)))))))) nil)
org-adaptive-fill-function()
fill-match-adaptive-prefix()
fill-context-prefix(2060 2221)
adaptive-wrap-fill-context-prefix(2060 2221)
adaptive-wrap-prefix-function(2060 2222)
run-hook-with-args(adaptive-wrap-prefix-function 2060 2222)
#[0 "\302\303\300\242\301\242#\207" [(2060) (2222) run-hook-with-args jit-lock-functions] 4 "\n\n(fn)"]()
funcall(#[0 "\302\303\300\242\301\242#\207" [(2060) (2222) run-hook-with-args jit-lock-functions] 4 "\n\n(fn)"])
jit-lock-fontify-now(2060 2560)
jit-lock-function(2060)
redisplay_internal\ \(C\ function\)()
#+END_EXAMPLE
#+BEGIN_EXAMPLE
======================================================================
1 -> (org-adaptive-fill-function)
| 2 -> (org-element-at-point)
| | 3 -> (org-element--cache-sync #<buffer test.org> 2063)
| | | 4 -> (org-element--cache-process-request [1984 2172 -14 nil 1] 1989 2063 nil)
| | | 4 <- org-element--cache-process-request: nil
| | 3 <- org-element--cache-sync: [nil 0 0 400000 nil org-element--cache-sync (#<buffer test.org>) idle 0]
| 2 <- org-element-at-point: (paragraph (:begin 2063 :end 2224 :contents-begin 2063 :contents-end 2223 :post-blank 1 :post-affiliated 2063 :parent nil))
1 <- org-adaptive-fill-function: ""
======================================================================
1 -> (org-element--cache-sync #<buffer test.org> 2062)
| 2 -> (org-element--cache-process-request [1984 2172 -14 nil 1] 1989 2062 nil)
| 2 <- org-element--cache-process-request: nil
1 <- org-element--cache-sync: [nil 0 0 400000 nil org-element--cache-sync (#<buffer test.org>) idle 0]
======================================================================
1 -> (org-adaptive-fill-function)
| 2 -> (org-element-at-point)
| | 3 -> (org-element--cache-sync #<buffer test.org> 2060)
| | | 4 -> (org-element--cache-process-request [(1983 1152921504606846975) 2063 -1 nil 0] 1984 2060 nil)
| | | 4 <- org-element--cache-process-request: t
| | | 4 -> (org-element--cache-process-request [1984 2172 -15 nil 1] 1989 2060 nil)
| | | 4 <- org-element--cache-process-request: nil
| | 3 <- org-element--cache-sync: [nil 0 0 400000 nil org-element--cache-sync (#<buffer test.org>) idle 0]
| 2 <- org-element-at-point: (paragraph (:begin 1858 :end 2223 :contents-begin 1858 :contents-end 2222 :post-blank 1 :post-affiliated 1858 :parent nil))
1 <- org-adaptive-fill-function: ""
======================================================================
1 -> (org-adaptive-fill-function)
| 2 -> (org-element-at-point)
| | 3 -> (org-element--cache-sync #<buffer test.org> 2062)
| | | 4 -> (org-element--cache-process-request [1984 2172 -15 nil 1] 1989 2062 nil)
| | | 4 <- org-element--cache-process-request: nil
| | 3 <- org-element--cache-sync: [nil 0 0 400000 nil org-element--cache-sync (#<buffer test.org>) idle 0]
| 2 <- org-element-at-point: (paragraph (:begin 1858 :end 2223 :contents-begin 1858 :contents-end 2222 :post-blank 1 :post-affiliated 1858 :parent nil))
1 <- org-adaptive-fill-function: ""
======================================================================
1 -> (org-element--cache-sync #<buffer test.org> 2061)
| 2 -> (org-element--cache-process-request [1984 2172 -15 nil 1] 1989 2061 nil)
| 2 <- org-element--cache-process-request: nil
1 <- org-element--cache-sync: [nil 0 0 400000 nil org-element--cache-sync (#<buffer test.org>) idle 0]
======================================================================
1 -> (org-adaptive-fill-function)
| 2 -> (org-element-at-point)
| | 3 -> (org-element--cache-sync #<buffer test.org> 2061)
| | | 4 -> (org-element--cache-process-request [(1983 1152921504606846975) 2223 -1 nil 0] 1984 2061 nil)
| | | 4 <- org-element--cache-process-request: t
| | | 4 -> (org-element--cache-process-request [1984 2172 -16 nil 1] 1989 2061 nil)
| | | 4 <- org-element--cache-process-request: nil
| | 3 <- org-element--cache-sync: [nil 0 0 400000 nil org-element--cache-sync (#<buffer test.org>) idle 0]
| 2 <- org-element-at-point: (paragraph (:begin 2061 :end 2222 :contents-begin 2061 :contents-end 2221 :post-blank 1 :post-affiliated 2061 :parent nil))
1 <- org-adaptive-fill-function: ""
======================================================================
1 -> (org-adaptive-fill-function)
| 2 -> (org-element-at-point)
| | 3 -> (org-element--cache-sync #<buffer test.org> 2061)
| | | 4 -> (org-element--cache-process-request [1984 2172 -16 nil 1] 1989 2061 nil)
| | | 4 <- org-element--cache-process-request: nil
| | 3 <- org-element--cache-sync: [nil 0 0 400000 nil org-element--cache-sync (#<buffer test.org>) idle 0]
| 2 <- org-element-at-point: (paragraph (:begin 2061 :end 2222 :contents-begin 2061 :contents-end 2221 :post-blank 1 :post-affiliated 2061 :parent nil))
1 <- org-adaptive-fill-function: ""
======================================================================
1 -> (org-element--cache-sync #<buffer test.org> 2061)
| 2 -> (org-element--cache-process-request [1984 2172 -16 nil 1] 1989 2061 nil)
| 2 <- org-element--cache-process-request: nil
1 <- org-element--cache-sync: [nil 0 0 400000 nil org-element--cache-sync (#<buffer test.org>) idle 0]
======================================================================
1 -> (org-adaptive-fill-function)
| 2 -> (org-element-at-point)
| | 3 -> (org-element--cache-sync #<buffer test.org> 2060)
| | | 4 -> (org-element--cache-process-request [(1983 1152921504606846975) 2222 -1 nil 0] 1984 2060 nil)
| | | 4 <- org-element--cache-process-request: t
| | | 4 -> (org-element--cache-process-request [1984 2172 -17 nil 1] 1989 2060 nil)
| | | 4 <- org-element--cache-process-request: nil
| | 3 <- org-element--cache-sync: [nil 0 0 400000 nil org-element--cache-sync (#<buffer test.org>) idle 0]
| 2 <- org-element-at-point: (paragraph (:begin 1858 :end 2221 :contents-begin 1858 :contents-end 2220 :post-blank 1 :post-affiliated 1858 :parent nil))
1 <- org-adaptive-fill-function: ""
======================================================================
1 -> (org-adaptive-fill-function)
| 2 -> (org-element-at-point)
| | 3 -> (org-element--cache-sync #<buffer test.org> 2221)
| | | 4 -> (org-element--cache-process-request [1984 2172 -17 nil 1] 1989 2221 nil)
| | | 4 <- org-element--cache-process-request: t
| | | 4 -> (org-element--cache-process-request [1989 2172 77 nil 2] nil 2221 nil)
| | | 4 <- org-element--cache-process-request: nil
| | 3 <- org-element--cache-sync: [nil 0 0 400000 nil org-element--cache-sync (#<buffer test.org>) idle 0]
| 2 <- org-element-at-point: (paragraph (:begin 2221 :end 2292 :contents-begin 2221 :contents-end 2291 :post-blank 1 :post-affiliated 2221 :parent (paragraph (:begin 2155 :end 2316 :contents-begin 2155 :contents-end 2315 :post-blank 1 :post-affiliated 2155 :parent (paragraph (:begin 1858 :end 2221 :contents-begin 1858 :contents-end 2220 :post-blank 1 :post-affiliated 1858 :parent nil))))))
1 <- org-adaptive-fill-function: ""
======================================================================
1 -> (org-element--cache-sync #<buffer test.org> 2060)
| 2 -> (org-element--cache-process-request [2558 2172 77 nil 2] nil 2060 nil)
| 2 <- org-element--cache-process-request: nil
1 <- org-element--cache-sync: [nil 0 0 400000 nil org-element--cache-sync (#<buffer test.org>) idle 0]
======================================================================
1 -> (org-adaptive-fill-function)
| 2 -> (org-element-at-point)
| | 3 -> (org-element--cache-sync #<buffer test.org> 2060)
| | | 4 -> (org-element--cache-process-request [(1983 1152921504606846975) 2221 1 nil 0] 9763 2060 nil)
#+END_EXAMPLE
* 3
#+BEGIN_EXAMPLE
Debugger entered--beginning evaluation of function call form:
* (funcall #[0 "\f?\205,\0\302 r\rq\210\301\204\x13\0\306\r!\210db\210\307\300\x0e \303\242\203%\0\303\242@\202&\0\310\x04$c)\262\x01\207" [org-element--cache-process-request nil #[0 "\300\207" [""] 1 "\n\n(fn)"] (nil) inhibit-trace trace-buffer trace--display-buffer trace-exit-message !non-local\ exit! trace-level] 6 "\n\n(fn)"])
#[385 "\fT\306\301!\307\303 \x01\x1d\x02\x1e\x18\x03\x1c\x0e\x19\204@\0r\x0e\x18q\210\310\311!\210\312\x16 \302\204)\0\313\x0e\x18!\210db\210\f\314U\2036\0\x0e\x1ac\210\315\300\f\x06\a\x04$c\210)\307C\316\317\320\321\322\323\300\302\303\x06 $\324\"\325\326%DC\216\211\327\x06\b\x06\b\"C\240\210)\211\242@\262\x01+\207" [org-element--cache-process-request "*trace-output*" nil #[0 "\300\207" [""] 1 "\n\n(fn)"] trace-level deactivate-mark get-buffer-create nil make-local-variable window-point-insertion-type t trace--display-buffer 1 trace-entry-message funcall make-byte-code 0 "\f?\205,\0\302 r\rq\210\301\204\x13\0\306\r!\210db\210\307\300\x0e \303\242\203%\0\303\242@\202&\0\310\x04$c)\262\x01\207" vconcat vector [inhibit-trace trace-buffer trace--display-buffer trace-exit-message !non-local\ exit! trace-level] 6 "\n\n(fn)" apply trace-buffer inhibit-trace trace-separator] 17 "\n\n(fn BODY &rest ARGS)"]((lambda (request next threshold time-limit) "Process synchronization REQUEST for all entries before NEXT.\n\nREQUEST is a vector, built by `org-element--cache-submit-request'.\n\nNEXT is a cache key, as returned by `org-element--cache-key'.\n\nWhen non-nil, THRESHOLD is a buffer position. Synchronization\nstops as soon as a shifted element begins after it.\n\nWhen non-nil, TIME-LIMIT is a time value. Synchronization stops\nafter this time or when Emacs exits idle state.\n\nReturn nil if the process stops before completing the request,\nt otherwise." (catch (quote quit) (if (= (aref request 4) 0) (progn (catch (quote end-phase) (let ((beg ...) (end ...) (deleted-parent ...)) (while t (if ... ...) (let ... ... ...)))))) (if (= (aref request 4) 1) (progn (catch (quote end-phase) (if (equal (aref request 0) next) (progn (throw ... t))) (let ((limit ...)) (if (and threshold ...) (progn ...)) (let (...) (if ... ... ... ... ...)))))) (let ((start (aref request 0)) (offset (aref request 2)) (parent (aref request 3)) (node (org-element--cache-root)) (stack (list nil)) (leftp t) exit-flag) (if (and (not parent) (zerop offset)) (progn (throw (quote quit) t))) (while node (let* ((data (progn ...)) (key (org-element--cache-key data))) (if (and leftp (progn ...) (not ...)) (progn (setq stack ...) (setq node ...)) (if (org-element--cache-key-less-p key start) nil (if ... ...) (if ... ...) (if ... nil ... ...) (let ... ... ... ...)) (setq node (if ... ... ...))))) t))) [2191 2672 1 nil 0] 2542 2440 nil)
apply(#[385 "\fT\306\301!\307\303 \x01\x1d\x02\x1e\x18\x03\x1c\x0e\x19\204@\0r\x0e\x18q\210\310\311!\210\312\x16 \302\204)\0\313\x0e\x18!\210db\210\f\314U\2036\0\x0e\x1ac\210\315\300\f\x06\a\x04$c\210)\307C\316\317\320\321\322\323\300\302\303\x06 $\324\"\325\326%DC\216\211\327\x06\b\x06\b\"C\240\210)\211\242@\262\x01+\207" [org-element--cache-process-request "*trace-output*" nil #[0 "\300\207" [""] 1 "\n\n(fn)"] trace-level deactivate-mark get-buffer-create nil make-local-variable window-point-insertion-type t trace--display-buffer 1 trace-entry-message funcall make-byte-code 0 "\f?\205,\0\302 r\rq\210\301\204\x13\0\306\r!\210db\210\307\300\x0e \303\242\203%\0\303\242@\202&\0\310\x04$c)\262\x01\207" vconcat vector [inhibit-trace trace-buffer trace--display-buffer trace-exit-message !non-local\ exit! trace-level] 6 "\n\n(fn)" apply trace-buffer inhibit-trace trace-separator] 17 "\n\n(fn BODY &rest ARGS)"] (lambda (request next threshold time-limit) "Process synchronization REQUEST for all entries before NEXT.\n\nREQUEST is a vector, built by `org-element--cache-submit-request'.\n\nNEXT is a cache key, as returned by `org-element--cache-key'.\n\nWhen non-nil, THRESHOLD is a buffer position. Synchronization\nstops as soon as a shifted element begins after it.\n\nWhen non-nil, TIME-LIMIT is a time value. Synchronization stops\nafter this time or when Emacs exits idle state.\n\nReturn nil if the process stops before completing the request,\nt otherwise." (catch (quote quit) (if (= (aref request 4) 0) (progn (catch (quote end-phase) (let ((beg ...) (end ...) (deleted-parent ...)) (while t (if ... ...) (let ... ... ...)))))) (if (= (aref request 4) 1) (progn (catch (quote end-phase) (if (equal (aref request 0) next) (progn (throw ... t))) (let ((limit ...)) (if (and threshold ...) (progn ...)) (let (...) (if ... ... ... ... ...)))))) (let ((start (aref request 0)) (offset (aref request 2)) (parent (aref request 3)) (node (org-element--cache-root)) (stack (list nil)) (leftp t) exit-flag) (if (and (not parent) (zerop offset)) (progn (throw (quote quit) t))) (while node (let* ((data (progn ...)) (key (org-element--cache-key data))) (if (and leftp (progn ...) (not ...)) (progn (setq stack ...) (setq node ...)) (if (org-element--cache-key-less-p key start) nil (if ... ...) (if ... ...) (if ... nil ... ...) (let ... ... ... ...)) (setq node (if ... ... ...))))) t))) ([2191 2672 1 nil 0] 2542 2440 nil))
org-element--cache-process-request([2191 2672 1 nil 0] 2542 2440 nil)
(or (org-element--cache-process-request request (and next (aref next 0)) threshold (and (not threshold) (time-add (current-time) org-element-cache-sync-duration))) (throw (quote interrupt) t))
(while org-element--cache-sync-requests (setq request (car org-element--cache-sync-requests) next (nth 1 org-element--cache-sync-requests)) (or (org-element--cache-process-request request (and next (aref next 0)) threshold (and (not threshold) (time-add (current-time) org-element-cache-sync-duration))) (throw (quote interrupt) t)) (if next (progn (let* ((v next)) (aset v 2 (+ (aref v 2) (aref request 2)))) (aset next 1 (aref request 1)) (aset next 4 (aref request 4)))) (setq org-element--cache-sync-requests (cdr org-element--cache-sync-requests)))
(catch (quote interrupt) (while org-element--cache-sync-requests (setq request (car org-element--cache-sync-requests) next (nth 1 org-element--cache-sync-requests)) (or (org-element--cache-process-request request (and next (aref next 0)) threshold (and (not threshold) (time-add (current-time) org-element-cache-sync-duration))) (throw (quote interrupt) t)) (if next (progn (let* ((v next)) (aset v 2 (+ (aref v 2) (aref request 2)))) (aset next 1 (aref request 1)) (aset next 4 (aref request 4)))) (setq org-element--cache-sync-requests (cdr org-element--cache-sync-requests))))
(let ((inhibit-quit t) request next) (if org-element--cache-sync-timer (progn (cancel-timer org-element--cache-sync-timer))) (catch (quote interrupt) (while org-element--cache-sync-requests (setq request (car org-element--cache-sync-requests) next (nth 1 org-element--cache-sync-requests)) (or (org-element--cache-process-request request (and next (aref next 0)) threshold (and (not threshold) (time-add (current-time) org-element-cache-sync-duration))) (throw (quote interrupt) t)) (if next (progn (let* ((v next)) (aset v 2 (+ ... ...))) (aset next 1 (aref request 1)) (aset next 4 (aref request 4)))) (setq org-element--cache-sync-requests (cdr org-element--cache-sync-requests)))) (if org-element--cache-sync-requests (org-element--cache-set-timer buffer) (clrhash org-element--cache-sync-keys)))
(save-current-buffer (set-buffer buffer) (let ((inhibit-quit t) request next) (if org-element--cache-sync-timer (progn (cancel-timer org-element--cache-sync-timer))) (catch (quote interrupt) (while org-element--cache-sync-requests (setq request (car org-element--cache-sync-requests) next (nth 1 org-element--cache-sync-requests)) (or (org-element--cache-process-request request (and next (aref next 0)) threshold (and (not threshold) (time-add ... org-element-cache-sync-duration))) (throw (quote interrupt) t)) (if next (progn (let* (...) (aset v 2 ...)) (aset next 1 (aref request 1)) (aset next 4 (aref request 4)))) (setq org-element--cache-sync-requests (cdr org-element--cache-sync-requests)))) (if org-element--cache-sync-requests (org-element--cache-set-timer buffer) (clrhash org-element--cache-sync-keys))))
(progn (save-current-buffer (set-buffer buffer) (let ((inhibit-quit t) request next) (if org-element--cache-sync-timer (progn (cancel-timer org-element--cache-sync-timer))) (catch (quote interrupt) (while org-element--cache-sync-requests (setq request (car org-element--cache-sync-requests) next (nth 1 org-element--cache-sync-requests)) (or (org-element--cache-process-request request (and next ...) threshold (and ... ...)) (throw (quote interrupt) t)) (if next (progn (let* ... ...) (aset next 1 ...) (aset next 4 ...))) (setq org-element--cache-sync-requests (cdr org-element--cache-sync-requests)))) (if org-element--cache-sync-requests (org-element--cache-set-timer buffer) (clrhash org-element--cache-sync-keys)))))
(if (buffer-live-p buffer) (progn (save-current-buffer (set-buffer buffer) (let ((inhibit-quit t) request next) (if org-element--cache-sync-timer (progn (cancel-timer org-element--cache-sync-timer))) (catch (quote interrupt) (while org-element--cache-sync-requests (setq request (car org-element--cache-sync-requests) next (nth 1 org-element--cache-sync-requests)) (or (org-element--cache-process-request request ... threshold ...) (throw ... t)) (if next (progn ... ... ...)) (setq org-element--cache-sync-requests (cdr org-element--cache-sync-requests)))) (if org-element--cache-sync-requests (org-element--cache-set-timer buffer) (clrhash org-element--cache-sync-keys))))))
(lambda (buffer &optional threshold) "Synchronize cache with recent modification in BUFFER.\nWhen optional argument THRESHOLD is non-nil, do the\nsynchronization for all elements starting before or at threshold,\nthen exit. Otherwise, synchronize cache for as long as\n`org-element-cache-sync-duration' or until Emacs leaves idle\nstate." (if (buffer-live-p buffer) (progn (save-current-buffer (set-buffer buffer) (let ((inhibit-quit t) request next) (if org-element--cache-sync-timer (progn (cancel-timer org-element--cache-sync-timer))) (catch (quote interrupt) (while org-element--cache-sync-requests (setq request ... next ...) (or ... ...) (if next ...) (setq org-element--cache-sync-requests ...))) (if org-element--cache-sync-requests (org-element--cache-set-timer buffer) (clrhash org-element--cache-sync-keys)))))))(#<buffer test.org> 2440)
apply((lambda (buffer &optional threshold) "Synchronize cache with recent modification in BUFFER.\nWhen optional argument THRESHOLD is non-nil, do the\nsynchronization for all elements starting before or at threshold,\nthen exit. Otherwise, synchronize cache for as long as\n`org-element-cache-sync-duration' or until Emacs leaves idle\nstate." (if (buffer-live-p buffer) (progn (save-current-buffer (set-buffer buffer) (let ((inhibit-quit t) request next) (if org-element--cache-sync-timer (progn (cancel-timer org-element--cache-sync-timer))) (catch (quote interrupt) (while org-element--cache-sync-requests (setq request ... next ...) (or ... ...) (if next ...) (setq org-element--cache-sync-requests ...))) (if org-element--cache-sync-requests (org-element--cache-set-timer buffer) (clrhash org-element--cache-sync-keys))))))) (#<buffer test.org> 2440))
#[385 "\fT\306\301!\307\303 \x01\x1d\x02\x1e\x18\x03\x1c\x0e\x19\204@\0r\x0e\x18q\210\310\311!\210\312\x16 \302\204)\0\313\x0e\x18!\210db\210\f\314U\2036\0\x0e\x1ac\210\315\300\f\x06\a\x04$c\210)\307C\316\317\320\321\322\323\300\302\303\x06 $\324\"\325\326%DC\216\211\327\x06\b\x06\b\"C\240\210)\211\242@\262\x01+\207" [org-element--cache-sync "*trace-output*" nil #[0 "\300\207" [""] 1 "\n\n(fn)"] trace-level deactivate-mark get-buffer-create nil make-local-variable window-point-insertion-type t trace--display-buffer 1 trace-entry-message funcall make-byte-code 0 "\f?\205,\0\302 r\rq\210\301\204\x13\0\306\r!\210db\210\307\300\x0e \303\242\203%\0\303\242@\202&\0\310\x04$c)\262\x01\207" vconcat vector [inhibit-trace trace-buffer trace--display-buffer trace-exit-message !non-local\ exit! trace-level] 6 "\n\n(fn)" apply trace-buffer inhibit-trace trace-separator] 17 "\n\n(fn BODY &rest ARGS)"]((lambda (buffer &optional threshold) "Synchronize cache with recent modification in BUFFER.\nWhen optional argument THRESHOLD is non-nil, do the\nsynchronization for all elements starting before or at threshold,\nthen exit. Otherwise, synchronize cache for as long as\n`org-element-cache-sync-duration' or until Emacs leaves idle\nstate." (if (buffer-live-p buffer) (progn (save-current-buffer (set-buffer buffer) (let ((inhibit-quit t) request next) (if org-element--cache-sync-timer (progn (cancel-timer org-element--cache-sync-timer))) (catch (quote interrupt) (while org-element--cache-sync-requests (setq request ... next ...) (or ... ...) (if next ...) (setq org-element--cache-sync-requests ...))) (if org-element--cache-sync-requests (org-element--cache-set-timer buffer) (clrhash org-element--cache-sync-keys))))))) #<buffer test.org> 2440)
apply(#[385 "\fT\306\301!\307\303 \x01\x1d\x02\x1e\x18\x03\x1c\x0e\x19\204@\0r\x0e\x18q\210\310\311!\210\312\x16 \302\204)\0\313\x0e\x18!\210db\210\f\314U\2036\0\x0e\x1ac\210\315\300\f\x06\a\x04$c\210)\307C\316\317\320\321\322\323\300\302\303\x06 $\324\"\325\326%DC\216\211\327\x06\b\x06\b\"C\240\210)\211\242@\262\x01+\207" [org-element--cache-sync "*trace-output*" nil #[0 "\300\207" [""] 1 "\n\n(fn)"] trace-level deactivate-mark get-buffer-create nil make-local-variable window-point-insertion-type t trace--display-buffer 1 trace-entry-message funcall make-byte-code 0 "\f?\205,\0\302 r\rq\210\301\204\x13\0\306\r!\210db\210\307\300\x0e \303\242\203%\0\303\242@\202&\0\310\x04$c)\262\x01\207" vconcat vector [inhibit-trace trace-buffer trace--display-buffer trace-exit-message !non-local\ exit! trace-level] 6 "\n\n(fn)" apply trace-buffer inhibit-trace trace-separator] 17 "\n\n(fn BODY &rest ARGS)"] (lambda (buffer &optional threshold) "Synchronize cache with recent modification in BUFFER.\nWhen optional argument THRESHOLD is non-nil, do the\nsynchronization for all elements starting before or at threshold,\nthen exit. Otherwise, synchronize cache for as long as\n`org-element-cache-sync-duration' or until Emacs leaves idle\nstate." (if (buffer-live-p buffer) (progn (save-current-buffer (set-buffer buffer) (let ((inhibit-quit t) request next) (if org-element--cache-sync-timer (progn (cancel-timer org-element--cache-sync-timer))) (catch (quote interrupt) (while org-element--cache-sync-requests (setq request ... next ...) (or ... ...) (if next ...) (setq org-element--cache-sync-requests ...))) (if org-element--cache-sync-requests (org-element--cache-set-timer buffer) (clrhash org-element--cache-sync-keys))))))) (#<buffer test.org> 2440))
org-element--cache-sync(#<buffer test.org> 2440)
(if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync (current-buffer) origin))
(progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync (current-buffer) origin)))
(if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync (current-buffer) origin))))
(cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync (current-buffer) origin)))) (org-element--parse-to origin)))
(let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync (current-buffer) origin)))) (org-element--parse-to origin))))
(save-restriction (widen) (let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync ... origin)))) (org-element--parse-to origin)))))
(save-excursion (save-restriction (widen) (let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if ... ... ...))) (org-element--parse-to origin))))))
(lambda nil "Determine closest element around point.\n\nReturn value is a list like (TYPE PROPS) where TYPE is the type\nof the element and PROPS a plist of properties associated to the\nelement.\n\nPossible types are defined in `org-element-all-elements'.\nProperties depend on element or object type, but always include\n`:begin', `:end', `:parent' and `:post-blank' properties.\n\nAs a special case, if point is at the very beginning of the first\nitem in a list or sub-list, returned element will be that list\ninstead of the item. Likewise, if point is at the beginning of\nthe first row of a table, returned element will be the table\ninstead of the first row.\n\nWhen point is at the end of the buffer, return the innermost\nelement ending there." (save-excursion (save-restriction (widen) (let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* (... ... ... ...) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn ...)) (org-element--parse-to origin)))))))()
apply((lambda nil "Determine closest element around point.\n\nReturn value is a list like (TYPE PROPS) where TYPE is the type\nof the element and PROPS a plist of properties associated to the\nelement.\n\nPossible types are defined in `org-element-all-elements'.\nProperties depend on element or object type, but always include\n`:begin', `:end', `:parent' and `:post-blank' properties.\n\nAs a special case, if point is at the very beginning of the first\nitem in a list or sub-list, returned element will be that list\ninstead of the item. Likewise, if point is at the beginning of\nthe first row of a table, returned element will be the table\ninstead of the first row.\n\nWhen point is at the end of the buffer, return the innermost\nelement ending there." (save-excursion (save-restriction (widen) (let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* (... ... ... ...) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn ...)) (org-element--parse-to origin))))))) nil)
#[385 "\fT\306\301!\307\303 \x01\x1d\x02\x1e\x18\x03\x1c\x0e\x19\204@\0r\x0e\x18q\210\310\311!\210\312\x16 \302\204)\0\313\x0e\x18!\210db\210\f\314U\2036\0\x0e\x1ac\210\315\300\f\x06\a\x04$c\210)\307C\316\317\320\321\322\323\300\302\303\x06 $\324\"\325\326%DC\216\211\327\x06\b\x06\b\"C\240\210)\211\242@\262\x01+\207" [org-element-at-point "*trace-output*" nil #[0 "\300\207" [""] 1 "\n\n(fn)"] trace-level deactivate-mark get-buffer-create nil make-local-variable window-point-insertion-type t trace--display-buffer 1 trace-entry-message funcall make-byte-code 0 "\f?\205,\0\302 r\rq\210\301\204\x13\0\306\r!\210db\210\307\300\x0e \303\242\203%\0\303\242@\202&\0\310\x04$c)\262\x01\207" vconcat vector [inhibit-trace trace-buffer trace--display-buffer trace-exit-message !non-local\ exit! trace-level] 6 "\n\n(fn)" apply trace-buffer inhibit-trace trace-separator] 17 "\n\n(fn BODY &rest ARGS)"]((lambda nil "Determine closest element around point.\n\nReturn value is a list like (TYPE PROPS) where TYPE is the type\nof the element and PROPS a plist of properties associated to the\nelement.\n\nPossible types are defined in `org-element-all-elements'.\nProperties depend on element or object type, but always include\n`:begin', `:end', `:parent' and `:post-blank' properties.\n\nAs a special case, if point is at the very beginning of the first\nitem in a list or sub-list, returned element will be that list\ninstead of the item. Likewise, if point is at the beginning of\nthe first row of a table, returned element will be the table\ninstead of the first row.\n\nWhen point is at the end of the buffer, return the innermost\nelement ending there." (save-excursion (save-restriction (widen) (let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* (... ... ... ...) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn ...)) (org-element--parse-to origin))))))))
apply(#[385 "\fT\306\301!\307\303 \x01\x1d\x02\x1e\x18\x03\x1c\x0e\x19\204@\0r\x0e\x18q\210\310\311!\210\312\x16 \302\204)\0\313\x0e\x18!\210db\210\f\314U\2036\0\x0e\x1ac\210\315\300\f\x06\a\x04$c\210)\307C\316\317\320\321\322\323\300\302\303\x06 $\324\"\325\326%DC\216\211\327\x06\b\x06\b\"C\240\210)\211\242@\262\x01+\207" [org-element-at-point "*trace-output*" nil #[0 "\300\207" [""] 1 "\n\n(fn)"] trace-level deactivate-mark get-buffer-create nil make-local-variable window-point-insertion-type t trace--display-buffer 1 trace-entry-message funcall make-byte-code 0 "\f?\205,\0\302 r\rq\210\301\204\x13\0\306\r!\210db\210\307\300\x0e \303\242\203%\0\303\242@\202&\0\310\x04$c)\262\x01\207" vconcat vector [inhibit-trace trace-buffer trace--display-buffer trace-exit-message !non-local\ exit! trace-level] 6 "\n\n(fn)" apply trace-buffer inhibit-trace trace-separator] 17 "\n\n(fn BODY &rest ARGS)"] (lambda nil "Determine closest element around point.\n\nReturn value is a list like (TYPE PROPS) where TYPE is the type\nof the element and PROPS a plist of properties associated to the\nelement.\n\nPossible types are defined in `org-element-all-elements'.\nProperties depend on element or object type, but always include\n`:begin', `:end', `:parent' and `:post-blank' properties.\n\nAs a special case, if point is at the very beginning of the first\nitem in a list or sub-list, returned element will be that list\ninstead of the item. Likewise, if point is at the beginning of\nthe first row of a table, returned element will be the table\ninstead of the first row.\n\nWhen point is at the end of the buffer, return the innermost\nelement ending there." (save-excursion (save-restriction (widen) (let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* (... ... ... ...) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn ...)) (org-element--parse-to origin))))))) nil)
org-element-at-point()
(progn (org-element-at-point))
(condition-case nil (progn (org-element-at-point)) (error nil))
(or (condition-case nil (progn (org-element-at-point)) (error nil)) (user-error "An element cannot be parsed line %d" (line-number-at-pos (point))))
(save-excursion (beginning-of-line) (or (condition-case nil (progn (org-element-at-point)) (error nil)) (user-error "An element cannot be parsed line %d" (line-number-at-pos (point)))))
(let* ((p (line-beginning-position)) (element (save-excursion (beginning-of-line) (or (condition-case nil (progn (org-element-at-point)) (error nil)) (user-error "An element cannot be parsed line %d" (line-number-at-pos (point)))))) (type (org-element-type element)) (post-affiliated (org-element-property :post-affiliated element))) (if (and post-affiliated (< p post-affiliated)) nil (cond ((eql type (quote comment)) (save-excursion (beginning-of-line) (looking-at "[ ]*") (concat (match-string 0) "# "))) ((eql type (quote footnote-definition)) "") ((memql type (quote (item plain-list))) (make-string (org-list-item-body-column (or post-affiliated (org-element-property :begin element))) 32)) ((eql type (quote paragraph)) (let ((parent (org-element-property :parent element))) (save-excursion (beginning-of-line) (cond (... ...) (...) (... ...) (t ""))))) ((eql type (quote comment-block)) (let* ((cbeg (save-excursion ... ... ...)) (cend (save-excursion ... ... ...))) (if (and (>= p cbeg) (< p cend)) (progn (if ... ... ""))))))))
(save-restriction (widen) (let* ((p (line-beginning-position)) (element (save-excursion (beginning-of-line) (or (condition-case nil (progn ...) (error nil)) (user-error "An element cannot be parsed line %d" (line-number-at-pos ...))))) (type (org-element-type element)) (post-affiliated (org-element-property :post-affiliated element))) (if (and post-affiliated (< p post-affiliated)) nil (cond ((eql type (quote comment)) (save-excursion (beginning-of-line) (looking-at "[ ]*") (concat (match-string 0) "# "))) ((eql type (quote footnote-definition)) "") ((memql type (quote (item plain-list))) (make-string (org-list-item-body-column (or post-affiliated ...)) 32)) ((eql type (quote paragraph)) (let ((parent ...)) (save-excursion (beginning-of-line) (cond ... ... ... ...)))) ((eql type (quote comment-block)) (let* ((cbeg ...) (cend ...)) (if (and ... ...) (progn ...))))))))
(save-excursion (save-restriction (widen) (let* ((p (line-beginning-position)) (element (save-excursion (beginning-of-line) (or (condition-case nil ... ...) (user-error "An element cannot be parsed line %d" ...)))) (type (org-element-type element)) (post-affiliated (org-element-property :post-affiliated element))) (if (and post-affiliated (< p post-affiliated)) nil (cond ((eql type (quote comment)) (save-excursion (beginning-of-line) (looking-at "[ ]*") (concat ... "# "))) ((eql type (quote footnote-definition)) "") ((memql type (quote ...)) (make-string (org-list-item-body-column ...) 32)) ((eql type (quote paragraph)) (let (...) (save-excursion ... ...))) ((eql type (quote comment-block)) (let* (... ...) (if ... ...))))))))
(catch (quote exit) (if (derived-mode-p (quote message-mode)) (progn (save-excursion (beginning-of-line) (cond ((or (not ...) (looking-at orgtbl-line-start-regexp)) (throw (quote exit) nil)) ((looking-at message-cite-prefix-regexp) (throw (quote exit) (match-string-no-properties 0))) ((looking-at org-outline-regexp) (throw (quote exit) (make-string ... 32))))))) (save-excursion (save-restriction (widen) (let* ((p (line-beginning-position)) (element (save-excursion (beginning-of-line) (or ... ...))) (type (org-element-type element)) (post-affiliated (org-element-property :post-affiliated element))) (if (and post-affiliated (< p post-affiliated)) nil (cond ((eql type ...) (save-excursion ... ... ...)) ((eql type ...) "") ((memql type ...) (make-string ... 32)) ((eql type ...) (let ... ...)) ((eql type ...) (let* ... ...))))))))
(lambda nil "Compute a fill prefix for the current line.\nReturn fill prefix, as a string, or nil if current line isn't\nmeant to be filled. For convenience, if `adaptive-fill-regexp'\nmatches in paragraphs or comments, use it." (catch (quote exit) (if (derived-mode-p (quote message-mode)) (progn (save-excursion (beginning-of-line) (cond ((or ... ...) (throw ... nil)) ((looking-at message-cite-prefix-regexp) (throw ... ...)) ((looking-at org-outline-regexp) (throw ... ...)))))) (save-excursion (save-restriction (widen) (let* ((p (line-beginning-position)) (element (save-excursion ... ...)) (type (org-element-type element)) (post-affiliated (org-element-property :post-affiliated element))) (if (and post-affiliated (< p post-affiliated)) nil (cond (... ...) (... "") (... ...) (... ...) (... ...))))))))()
apply((lambda nil "Compute a fill prefix for the current line.\nReturn fill prefix, as a string, or nil if current line isn't\nmeant to be filled. For convenience, if `adaptive-fill-regexp'\nmatches in paragraphs or comments, use it." (catch (quote exit) (if (derived-mode-p (quote message-mode)) (progn (save-excursion (beginning-of-line) (cond ((or ... ...) (throw ... nil)) ((looking-at message-cite-prefix-regexp) (throw ... ...)) ((looking-at org-outline-regexp) (throw ... ...)))))) (save-excursion (save-restriction (widen) (let* ((p (line-beginning-position)) (element (save-excursion ... ...)) (type (org-element-type element)) (post-affiliated (org-element-property :post-affiliated element))) (if (and post-affiliated (< p post-affiliated)) nil (cond (... ...) (... "") (... ...) (... ...) (... ...)))))))) nil)
#[385 "\fT\306\301!\307\303 \x01\x1d\x02\x1e\x18\x03\x1c\x0e\x19\204@\0r\x0e\x18q\210\310\311!\210\312\x16 \302\204)\0\313\x0e\x18!\210db\210\f\314U\2036\0\x0e\x1ac\210\315\300\f\x06\a\x04$c\210)\307C\316\317\320\321\322\323\300\302\303\x06 $\324\"\325\326%DC\216\211\327\x06\b\x06\b\"C\240\210)\211\242@\262\x01+\207" [org-adaptive-fill-function "*trace-output*" nil #[0 "\300\207" [""] 1 "\n\n(fn)"] trace-level deactivate-mark get-buffer-create nil make-local-variable window-point-insertion-type t trace--display-buffer 1 trace-entry-message funcall make-byte-code 0 "\f?\205,\0\302 r\rq\210\301\204\x13\0\306\r!\210db\210\307\300\x0e \303\242\203%\0\303\242@\202&\0\310\x04$c)\262\x01\207" vconcat vector [inhibit-trace trace-buffer trace--display-buffer trace-exit-message !non-local\ exit! trace-level] 6 "\n\n(fn)" apply trace-buffer inhibit-trace trace-separator] 17 "\n\n(fn BODY &rest ARGS)"]((lambda nil "Compute a fill prefix for the current line.\nReturn fill prefix, as a string, or nil if current line isn't\nmeant to be filled. For convenience, if `adaptive-fill-regexp'\nmatches in paragraphs or comments, use it." (catch (quote exit) (if (derived-mode-p (quote message-mode)) (progn (save-excursion (beginning-of-line) (cond ((or ... ...) (throw ... nil)) ((looking-at message-cite-prefix-regexp) (throw ... ...)) ((looking-at org-outline-regexp) (throw ... ...)))))) (save-excursion (save-restriction (widen) (let* ((p (line-beginning-position)) (element (save-excursion ... ...)) (type (org-element-type element)) (post-affiliated (org-element-property :post-affiliated element))) (if (and post-affiliated (< p post-affiliated)) nil (cond (... ...) (... "") (... ...) (... ...) (... ...)))))))))
apply(#[385 "\fT\306\301!\307\303 \x01\x1d\x02\x1e\x18\x03\x1c\x0e\x19\204@\0r\x0e\x18q\210\310\311!\210\312\x16 \302\204)\0\313\x0e\x18!\210db\210\f\314U\2036\0\x0e\x1ac\210\315\300\f\x06\a\x04$c\210)\307C\316\317\320\321\322\323\300\302\303\x06 $\324\"\325\326%DC\216\211\327\x06\b\x06\b\"C\240\210)\211\242@\262\x01+\207" [org-adaptive-fill-function "*trace-output*" nil #[0 "\300\207" [""] 1 "\n\n(fn)"] trace-level deactivate-mark get-buffer-create nil make-local-variable window-point-insertion-type t trace--display-buffer 1 trace-entry-message funcall make-byte-code 0 "\f?\205,\0\302 r\rq\210\301\204\x13\0\306\r!\210db\210\307\300\x0e \303\242\203%\0\303\242@\202&\0\310\x04$c)\262\x01\207" vconcat vector [inhibit-trace trace-buffer trace--display-buffer trace-exit-message !non-local\ exit! trace-level] 6 "\n\n(fn)" apply trace-buffer inhibit-trace trace-separator] 17 "\n\n(fn BODY &rest ARGS)"] (lambda nil "Compute a fill prefix for the current line.\nReturn fill prefix, as a string, or nil if current line isn't\nmeant to be filled. For convenience, if `adaptive-fill-regexp'\nmatches in paragraphs or comments, use it." (catch (quote exit) (if (derived-mode-p (quote message-mode)) (progn (save-excursion (beginning-of-line) (cond ((or ... ...) (throw ... nil)) ((looking-at message-cite-prefix-regexp) (throw ... ...)) ((looking-at org-outline-regexp) (throw ... ...)))))) (save-excursion (save-restriction (widen) (let* ((p (line-beginning-position)) (element (save-excursion ... ...)) (type (org-element-type element)) (post-affiliated (org-element-property :post-affiliated element))) (if (and post-affiliated (< p post-affiliated)) nil (cond (... ...) (... "") (... ...) (... ...) (... ...)))))))) nil)
org-adaptive-fill-function()
fill-match-adaptive-prefix()
fill-context-prefix(2440 2513)
adaptive-wrap-fill-context-prefix(2440 2513)
adaptive-wrap-prefix-function(2440 2514)
run-hook-with-args(adaptive-wrap-prefix-function 2440 2514)
#[0 "\302\303\300\242\301\242#\207" [(2440) (2514) run-hook-with-args jit-lock-functions] 4 "\n\n(fn)"]()
funcall(#[0 "\302\303\300\242\301\242#\207" [(2440) (2514) run-hook-with-args jit-lock-functions] 4 "\n\n(fn)"])
jit-lock-fontify-now(2440 2940)
jit-lock-function(2440)
redisplay_internal\ \(C\ function\)()
read-key-sequence(nil nil nil t)
quail-start-translation(107)
quail-input-method(107)
#+END_EXAMPLE
#+BEGIN_EXAMPLE
======================================================================
1 -> (org-adaptive-fill-function)
| 2 -> (org-element-at-point)
| | 3 -> (org-element--cache-sync #<buffer test.org> 2440)
| | | 4 -> (org-element--cache-process-request [2510 nil 1 nil 2] 2511 2440 nil)
| | | 4 <- org-element--cache-process-request: t
| | | 4 -> (org-element--cache-process-request [2511 nil 5 nil 2] 2542 2440 nil)
| | | 4 <- org-element--cache-process-request: t
| | | 4 -> (org-element--cache-process-request [2542 nil 26 nil 2] nil 2440 nil)
| | | 4 <- org-element--cache-process-request: nil
| | 3 <- org-element--cache-sync: [nil 0 0 400000 nil org-element--cache-sync (#<buffer test.org>) idle 0]
| 2 <- org-element-at-point: (paragraph (:begin 2440 :end 2512 :contents-begin 2440 :contents-end 2511 :post-blank 1 :post-affiliated 2440 :parent nil))
1 <- org-adaptive-fill-function: ""
======================================================================
1 -> (org-adaptive-fill-function)
| 2 -> (org-element-at-point)
| 2 <- org-element-at-point: (headline (:raw-value #1="This is another test" :begin 2512 :end 11714 :pre-blank 1 :contents-begin 2536 :contents-end 11714 :level 1 :priority nil :tags nil :todo-keyword nil :todo-type nil :post-blank 0 :footnote-section-p nil :archivedp nil :commentedp nil :CATEGORY nil :title #1#))
1 <- org-adaptive-fill-function: nil
======================================================================
1 -> (org-adaptive-fill-function)
| 2 -> (org-element-at-point)
| | 3 -> (org-element--cache-sync #<buffer test.org> 2440)
| | | 4 -> (org-element--cache-process-request [2542 nil 26 nil 2] nil 2440 nil)
| | | 4 <- org-element--cache-process-request: nil
| | 3 <- org-element--cache-sync: [nil 0 0 400000 nil org-element--cache-sync (#<buffer test.org>) idle 0]
| 2 <- org-element-at-point: (paragraph (:begin 2440 :end 2512 :contents-begin 2440 :contents-end 2511 :post-blank 1 :post-affiliated 2440 :parent nil))
1 <- org-adaptive-fill-function: ""
======================================================================
1 -> (org-element--cache-sync #<buffer test.org> 2510)
| 2 -> (org-element--cache-process-request [2542 nil 26 nil 2] nil 2510 nil)
| 2 <- org-element--cache-process-request: nil
1 <- org-element--cache-sync: [nil 0 0 400000 nil org-element--cache-sync (#<buffer test.org>) idle 0]
======================================================================
1 -> (org-adaptive-fill-function)
| 2 -> (org-element-at-point)
| | 3 -> (org-element--cache-sync #<buffer test.org> 2440)
| | | 4 -> (org-element--cache-process-request [2191 2672 1 nil 0] 2542 2440 nil)
#+END_EXAMPLE
[-- Attachment #3: Type: text/plain, Size: 18 bytes --]
--
Daimrod/Greg
^ permalink raw reply [flat|nested] 70+ messages in thread
* Re: still seeing semi-regular lockups
2014-05-29 3:01 ` Daimrod
@ 2014-05-30 9:17 ` Nicolas Goaziou
2014-05-30 14:35 ` Daimrod
0 siblings, 1 reply; 70+ messages in thread
From: Nicolas Goaziou @ 2014-05-30 9:17 UTC (permalink / raw)
To: Daimrod; +Cc: Bastien, Eric Abrahamsen, emacs-orgmode
Hello,
Daimrod <daimrod@gmail.com> writes:
> I've attached part of the traces (the whole traces are way too big) and
> the backtraces.
Thanks for looking into this. However, you are running a compiled Org,
which renders backtraces less useful.
Also, you may want to disable cache refresh on idle time with, e.g.,
(setq org-element-cache-sync-idle-time 3600)
It could make the bug easier to reproduce.
Regards,
--
Nicolas Goaziou
^ permalink raw reply [flat|nested] 70+ messages in thread
* Re: still seeing semi-regular lockups
2014-05-30 9:17 ` Nicolas Goaziou
@ 2014-05-30 14:35 ` Daimrod
2014-06-11 11:53 ` Daimrod
0 siblings, 1 reply; 70+ messages in thread
From: Daimrod @ 2014-05-30 14:35 UTC (permalink / raw)
To: Nicolas Goaziou; +Cc: Bastien, Eric Abrahamsen, emacs-orgmode
Nicolas Goaziou <n.goaziou@gmail.com> writes:
> Hello,
>
> Daimrod <daimrod@gmail.com> writes:
>
>> I've attached part of the traces (the whole traces are way too big) and
>> the backtraces.
>
> Thanks for looking into this. However, you are running a compiled Org,
> which renders backtraces less useful.
Ok, I was wondering why the backtraces was so ugly, I didn't think about
byte-compilation... Thanks for the tip.
> Also, you may want to disable cache refresh on idle time with, e.g.,
>
> (setq org-element-cache-sync-idle-time 3600)
>
> It could make the bug easier to reproduce.
Thanks, I'll try again this w.e.
Best,
--
Daimrod/Greg
^ permalink raw reply [flat|nested] 70+ messages in thread
* Re: still seeing semi-regular lockups
2014-05-15 9:30 ` Daimrod
` (2 preceding siblings ...)
2014-05-19 14:21 ` Daimrod
@ 2014-06-04 4:47 ` Eric Abrahamsen
2014-06-05 4:29 ` Daimrod
3 siblings, 1 reply; 70+ messages in thread
From: Eric Abrahamsen @ 2014-06-04 4:47 UTC (permalink / raw)
To: emacs-orgmode
Daimrod <daimrod@gmail.com> writes:
> Bastien <bzg@gnu.org> writes:
>
>> Hi Eric,
>>
>> Eric Abrahamsen <eric@ericabrahamsen.net> writes:
>>
>>> After Nicolas made the last round of improvements to the caching
>>> mechanism I got far fewer hangs with Org, but they are still happening.
>>> Maybe once a day or so, on average, editing something in an Org buffer
>>> causes emacs to hang, and my fans to spin up, and there we are until I
>>> kill emacs.
[...]
> By the way, if you want to see in which part the infloop occurs, you can
> attach a gdb debugger to the running emacs, source the
> <path-to-emacs-source>/src/.gdbinit file and use the `xbacktrace' command.
>
> $ gdb <path-to-emacs-executable> <emacs-pid>
> gdb) source <path-to-emacs-source>/src/.gdbinit
> ...
> gdb) xbacktrace
>
> You can also use the `bt' command but it contains much more noise.
I got another one just now (while moving from one org table cell to the
next), and that was the gdb backtrace:
"avl-tree--do-delete" (0xbfffe858)
"avl-tree-delete" (0xbfffe998)
"byte-code" (0xbfffeaa0)
"byte-code" (0xbfffec30)
"org-element--cache-process-request" (0xbfffedd8)
"byte-code" (0xbfffeef0)
"org-element--cache-sync" (0xbffff0a8)
"org-element-at-point" (0xbffff1e8)
"org-mode-flyspell-verify" (0xbffff338)
"flyspell-word" (0xbffff478)
"byte-code" (0xbffff580)
"flyspell-post-command-hook" (0xbffff784)
Not much, and probably not that useful. I'll start running org
uncompiled, and try the debug-on-event trick.
FWIW, this was the first lockup that *didn't* occur in a logbook
drawer -- that's where I usually get them. Either a full lockup, or else
the cache goes wonky so that adding log notes (or even just navigating
in the drawer) gives me that "bound on wrong side of point" you get when
you try to search forwards, backwards.
E
^ permalink raw reply [flat|nested] 70+ messages in thread
* Re: still seeing semi-regular lockups
2014-06-04 4:47 ` Eric Abrahamsen
@ 2014-06-05 4:29 ` Daimrod
0 siblings, 0 replies; 70+ messages in thread
From: Daimrod @ 2014-06-05 4:29 UTC (permalink / raw)
To: Eric Abrahamsen; +Cc: emacs-orgmode
Eric Abrahamsen <eric@ericabrahamsen.net> writes:
> Daimrod <daimrod@gmail.com> writes:
>
>> Bastien <bzg@gnu.org> writes:
>>
>>> Hi Eric,
>>>
>>> Eric Abrahamsen <eric@ericabrahamsen.net> writes:
>>>
>>>> After Nicolas made the last round of improvements to the caching
>>>> mechanism I got far fewer hangs with Org, but they are still happening.
>>>> Maybe once a day or so, on average, editing something in an Org buffer
>>>> causes emacs to hang, and my fans to spin up, and there we are until I
>>>> kill emacs.
>
> [...]
>
>> By the way, if you want to see in which part the infloop occurs, you can
>> attach a gdb debugger to the running emacs, source the
>> <path-to-emacs-source>/src/.gdbinit file and use the `xbacktrace' command.
>>
>> $ gdb <path-to-emacs-executable> <emacs-pid>
>> gdb) source <path-to-emacs-source>/src/.gdbinit
>> ...
>> gdb) xbacktrace
>>
>> You can also use the `bt' command but it contains much more noise.
>
> I got another one just now (while moving from one org table cell to the
> next), and that was the gdb backtrace:
>
> "avl-tree--do-delete" (0xbfffe858)
> "avl-tree-delete" (0xbfffe998)
> "byte-code" (0xbfffeaa0)
> "byte-code" (0xbfffec30)
> "org-element--cache-process-request" (0xbfffedd8)
> "byte-code" (0xbfffeef0)
> "org-element--cache-sync" (0xbffff0a8)
> "org-element-at-point" (0xbffff1e8)
> "org-mode-flyspell-verify" (0xbffff338)
> "flyspell-word" (0xbffff478)
> "byte-code" (0xbffff580)
> "flyspell-post-command-hook" (0xbffff784)
It seems the lockup also happens in `org-element--cache-...'.
> Not much, and probably not that useful. I'll start running org
> uncompiled, and try the debug-on-event trick.
Thanks for you time!
> FWIW, this was the first lockup that *didn't* occur in a logbook
> drawer -- that's where I usually get them. Either a full lockup, or else
> the cache goes wonky so that adding log notes (or even just navigating
> in the drawer) gives me that "bound on wrong side of point" you get when
> you try to search forwards, backwards.
That's weird (in my cases it usually mess up with the input-method).
--
Daimrod/Greg
^ permalink raw reply [flat|nested] 70+ messages in thread
* Re: still seeing semi-regular lockups
2014-05-30 14:35 ` Daimrod
@ 2014-06-11 11:53 ` Daimrod
2014-06-11 21:30 ` Nicolas Goaziou
0 siblings, 1 reply; 70+ messages in thread
From: Daimrod @ 2014-06-11 11:53 UTC (permalink / raw)
To: Nicolas Goaziou; +Cc: Bastien, Eric Abrahamsen, emacs-orgmode
[-- Attachment #1: Type: text/plain, Size: 1757 bytes --]
Daimrod <daimrod@gmail.com> writes:
> Nicolas Goaziou <n.goaziou@gmail.com> writes:
>
>> Hello,
>>
>> Daimrod <daimrod@gmail.com> writes:
>>
>>> I've attached part of the traces (the whole traces are way too big) and
>>> the backtraces.
>>
>> Thanks for looking into this. However, you are running a compiled Org,
>> which renders backtraces less useful.
>
> Ok, I was wondering why the backtraces was so ugly, I didn't think about
> byte-compilation... Thanks for the tip.
>
>> Also, you may want to disable cache refresh on idle time with, e.g.,
>>
>> (setq org-element-cache-sync-idle-time 3600)
>>
>> It could make the bug easier to reproduce.
>
> Thanks, I'll try again this w.e.
Okay, so I've found a more or less reliable way to reproduce this bug (on my
machine at least).
1. $ emacs -Q -l debug.el test.org
2. Expand headline (<S-TAB>)
3. go below the first headline (C-n)
4. press `i' a couple of seconds ~10 chars
5. delete the line (C-a C-k)
6. goto 4 until if locks up
As I said, it's not completely reliable but so far the lockup always
happens. Sometimes it happens after the third iteration, sometimes after
the tenth iteration, but it always happen.
I've attached `debug.el' and `test.org'.
`debug.el' setup the "environment" to reproduce the bug, you may need to
change the path to your orgmode source base and you'll need
`adaptive-wrap-prefix-mode' (available on ELPA).
I've been able to reproduce the bug without `adaptive-wrap-prefix-mode'
though other people have reported the same symptoms without using it.
`test.org' is a simple org file with two headlines. It seems that two
headlines are required to trigger the cache mechanism (with
`org-element-cache--sync').
Do you confirm the lockup with this setting?
Best,
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: test.org --]
[-- Type: text/x-org, Size: 11 bytes --]
* i
* i
i
[-- Attachment #3: debug.el --]
[-- Type: application/emacs-lisp, Size: 965 bytes --]
[-- Attachment #4: Type: text/plain, Size: 19 bytes --]
--
Daimrod/Greg
^ permalink raw reply [flat|nested] 70+ messages in thread
* Re: still seeing semi-regular lockups
2014-06-11 11:53 ` Daimrod
@ 2014-06-11 21:30 ` Nicolas Goaziou
2014-06-11 22:18 ` Daimrod
0 siblings, 1 reply; 70+ messages in thread
From: Nicolas Goaziou @ 2014-06-11 21:30 UTC (permalink / raw)
To: Daimrod; +Cc: Bastien, Eric Abrahamsen, emacs-orgmode
Hello,
Daimrod <daimrod@gmail.com> writes:
> Okay, so I've found a more or less reliable way to reproduce this bug (on my
> machine at least).
>
> 1. $ emacs -Q -l debug.el test.org
> 2. Expand headline (<S-TAB>)
> 3. go below the first headline (C-n)
> 4. press `i' a couple of seconds ~10 chars
> 5. delete the line (C-a C-k)
> 6. goto 4 until if locks up
>
> As I said, it's not completely reliable but so far the lockup always
> happens. Sometimes it happens after the third iteration, sometimes after
> the tenth iteration, but it always happen.
>
> I've attached `debug.el' and `test.org'.
>
[...]
> Do you confirm the lockup with this setting?
Yes, I do. I will investigate on this soon. Thank you for providing this
recipe.
Regards,
--
Nicolas Goaziou
^ permalink raw reply [flat|nested] 70+ messages in thread
* Re: still seeing semi-regular lockups
2014-06-11 21:30 ` Nicolas Goaziou
@ 2014-06-11 22:18 ` Daimrod
2014-06-14 7:43 ` Nicolas Goaziou
0 siblings, 1 reply; 70+ messages in thread
From: Daimrod @ 2014-06-11 22:18 UTC (permalink / raw)
To: Bastien; +Cc: Eric Abrahamsen, emacs-orgmode
Nicolas Goaziou <mail@nicolasgoaziou.fr> writes:
> Hello,
>
> Daimrod <daimrod@gmail.com> writes:
>
>> Okay, so I've found a more or less reliable way to reproduce this bug (on my
>> machine at least).
>>
>> 1. $ emacs -Q -l debug.el test.org
>> 2. Expand headline (<S-TAB>)
>> 3. go below the first headline (C-n)
>> 4. press `i' a couple of seconds ~10 chars
>> 5. delete the line (C-a C-k)
>> 6. goto 4 until if locks up
>>
>> As I said, it's not completely reliable but so far the lockup always
>> happens. Sometimes it happens after the third iteration, sometimes after
>> the tenth iteration, but it always happen.
>>
>> I've attached `debug.el' and `test.org'.
>>
>
> [...]
>
>> Do you confirm the lockup with this setting?
>
> Yes, I do. I will investigate on this soon. Thank you for providing this
> recipe.
Cool!
Also, I should have mentioned that I didn't trace the function
`org-element--cache-key-less-p' because when I do so, Emacs stays locked
even when I send it the signal SIGUSR2. However, this function appears
in the backtrace produced by `xbacktrace' in a gdb session if I call it
during a lockup.
My guess is that the lockup happens in `org-element--cache-key-less-p',
called by `org-element--cache-process-request'.
Best,
--
Daimrod/Greg
^ permalink raw reply [flat|nested] 70+ messages in thread
* Re: still seeing semi-regular lockups
2014-06-11 22:18 ` Daimrod
@ 2014-06-14 7:43 ` Nicolas Goaziou
2014-06-14 23:55 ` Daimrod
0 siblings, 1 reply; 70+ messages in thread
From: Nicolas Goaziou @ 2014-06-14 7:43 UTC (permalink / raw)
To: Daimrod; +Cc: Bastien, Eric Abrahamsen, emacs-orgmode
Daimrod <daimrod@gmail.com> writes:
> My guess is that the lockup happens in `org-element--cache-key-less-p',
> called by `org-element--cache-process-request'.
Probably, but it doesn't mean that this particular function is buggy.
The lockup happens there because the cache gets corrupted at some point.
After investigating a little while, it appears that switching
input-method to "latin-postfix" alone is sufficient to corrupt it.
Though, setting `org-element-cache-sync-idle-time' to a high value
prevents the problem, which means that the corruption happens only when
cache is synchronized during idle time.
That's where I am for the time being. I don't know much about input
methods, so I have no clue about the reasons behind this. I'm still
investigating.
Regards,
--
Nicolas Goaziou
^ permalink raw reply [flat|nested] 70+ messages in thread
* Re: still seeing semi-regular lockups
2014-06-14 7:43 ` Nicolas Goaziou
@ 2014-06-14 23:55 ` Daimrod
2014-06-22 7:58 ` Nicolas Goaziou
0 siblings, 1 reply; 70+ messages in thread
From: Daimrod @ 2014-06-14 23:55 UTC (permalink / raw)
To: Bastien; +Cc: Eric Abrahamsen, emacs-orgmode
Nicolas Goaziou <mail@nicolasgoaziou.fr> writes:
> Daimrod <daimrod@gmail.com> writes:
>
>> My guess is that the lockup happens in `org-element--cache-key-less-p',
>> called by `org-element--cache-process-request'.
>
> Probably, but it doesn't mean that this particular function is buggy.
> The lockup happens there because the cache gets corrupted at some point.
I see.
> After investigating a little while, it appears that switching
> input-method to "latin-postfix" alone is sufficient to corrupt it.
> Though, setting `org-element-cache-sync-idle-time' to a high value
> prevents the problem, which means that the corruption happens only when
> cache is synchronized during idle time.
Ok.
> That's where I am for the time being. I don't know much about input
> methods, so I have no clue about the reasons behind this. I'm still
> investigating.
I would help if I knew about input-methods or the caching mechanism, but
I do not. :-(
Thanks for investigating.
Best,
--
Daimrod/Greg
^ permalink raw reply [flat|nested] 70+ messages in thread
* Re: still seeing semi-regular lockups
2014-06-14 23:55 ` Daimrod
@ 2014-06-22 7:58 ` Nicolas Goaziou
0 siblings, 0 replies; 70+ messages in thread
From: Nicolas Goaziou @ 2014-06-22 7:58 UTC (permalink / raw)
To: Daimrod; +Cc: Bastien, Eric Abrahamsen, emacs-orgmode
Hello,
Daimrod <daimrod@gmail.com> writes:
> Thanks for investigating.
I made some progress. Alas I didn't find a definitive answer yet.
The problem is related to `quail-input-method', which let-binds
`inhibit-modifications-hooks' to t. This is usually done around
a function that modifies text properties in a buffer.
However, in that case, it calls `quail-start-translation',
`quail-self-insert-command', `quail-self-insert-command' and eventually
`quail-update-translation', which modifies the _contents_ of the buffer
(twice actually, with `quail-delete-region' at line 1555 in
"quail.el.gz" and with `insert' at line 1579).
Since these modifications happen when `inhibit-modifications-hooks' is
non-nil, `after-change-functions' are never called, and the cache cannot
be updated properly, ending in a corrupted state.
There is a workaround for this: if `input-method-use-echo-area' is
non-nil, these modifications happen in the minibuffer, and, thus, the
buffer is not modified.
I also tried to set `inhibit-modifications-hooks' to nil around the two
locations where the buffer is modified (see above), but something odd
happens. Indeed, in that case, `after-change-functions' are called once
too many (i.e, the same buffer modification triggers these calls twice),
corrupting again the buffer. Unfortunately, I have no explanation about
this yet.
Regards,
--
Nicolas Goaziou
^ permalink raw reply [flat|nested] 70+ messages in thread
* Re: still seeing semi-regular lockups
2014-05-20 11:16 ` Eric Abrahamsen
@ 2014-06-24 8:48 ` Nicolas Goaziou
2014-06-24 14:28 ` Eric Abrahamsen
0 siblings, 1 reply; 70+ messages in thread
From: Nicolas Goaziou @ 2014-06-24 8:48 UTC (permalink / raw)
To: Eric Abrahamsen; +Cc: emacs-orgmode
Hello,
Eric Abrahamsen <eric@ericabrahamsen.net> writes:
> None of those three, I'm afraid! It was hanging on a variety of editing
> operations that, as far as I can tell, had little in common. There's a
> possibility that they were list-item-related, but really there wasn't
> much commonality.
FYI, I recently fixed a bug[fn:1] that could introduce uncommon random
lockups. Hopefully, it may be related to your problem (which is
different from Daimrod's).
Regards,
[fn:1] 77e234e5785f5aaa60f1e316863a2571de64bbd4
--
Nicolas Goaziou
^ permalink raw reply [flat|nested] 70+ messages in thread
* Re: still seeing semi-regular lockups
2014-06-24 8:48 ` Nicolas Goaziou
@ 2014-06-24 14:28 ` Eric Abrahamsen
2014-06-25 4:09 ` Matt Lundin
2014-06-28 19:27 ` Eric Abrahamsen
0 siblings, 2 replies; 70+ messages in thread
From: Eric Abrahamsen @ 2014-06-24 14:28 UTC (permalink / raw)
To: emacs-orgmode
Nicolas Goaziou <mail@nicolasgoaziou.fr> writes:
> Hello,
>
> Eric Abrahamsen <eric@ericabrahamsen.net> writes:
>
>> None of those three, I'm afraid! It was hanging on a variety of editing
>> operations that, as far as I can tell, had little in common. There's a
>> possibility that they were list-item-related, but really there wasn't
>> much commonality.
>
> FYI, I recently fixed a bug[fn:1] that could introduce uncommon random
> lockups. Hopefully, it may be related to your problem (which is
> different from Daimrod's).
Thanks for the followup! I was watching Daimrod's thread, and also
Matt's most recent posting -- that also seemed more relevant to my
problems, which were almost solely confined to log/state notes. I've
pulled the fix, and will let you know if I see any more problems.
Thanks
Eric
^ permalink raw reply [flat|nested] 70+ messages in thread
* Re: still seeing semi-regular lockups
2014-06-24 14:28 ` Eric Abrahamsen
@ 2014-06-25 4:09 ` Matt Lundin
2014-06-25 5:39 ` Matt Lundin
` (2 more replies)
2014-06-28 19:27 ` Eric Abrahamsen
1 sibling, 3 replies; 70+ messages in thread
From: Matt Lundin @ 2014-06-25 4:09 UTC (permalink / raw)
To: emacs-orgmode
Eric Abrahamsen <eric@ericabrahamsen.net> writes:
> Nicolas Goaziou <mail@nicolasgoaziou.fr> writes:
>
>> Hello,
>>
>> Eric Abrahamsen <eric@ericabrahamsen.net> writes:
>>
>>> None of those three, I'm afraid! It was hanging on a variety of editing
>>> operations that, as far as I can tell, had little in common. There's a
>>> possibility that they were list-item-related, but really there wasn't
>>> much commonality.
>>
>> FYI, I recently fixed a bug[fn:1] that could introduce uncommon random
>> lockups. Hopefully, it may be related to your problem (which is
>> different from Daimrod's).
>
> Thanks for the followup! I was watching Daimrod's thread, and also
> Matt's most recent posting -- that also seemed more relevant to my
> problems, which were almost solely confined to log/state notes. I've
> pulled the fix, and will let you know if I see any more problems.
With the latest git, I've experienced three lock-ups/freezes this
evening when a) archiving a subtree to a file, b) changing a todo state
with repeating timestamp, and 3) calling C-c C-c in an org-capture
buffer. (I don't think this is due to a recent change - I've been
running into these lockups sporadically for several months.)
The freezes are very difficult to replicate reliably. When they happen,
emacs is unresponsive and can only be killed from the outside. Any tips
on how to debug this would be greatly appreciated.
Matt
^ permalink raw reply [flat|nested] 70+ messages in thread
* Re: still seeing semi-regular lockups
2014-06-25 4:09 ` Matt Lundin
@ 2014-06-25 5:39 ` Matt Lundin
2014-06-25 7:32 ` Sebastien Vauban
2014-06-25 7:38 ` Daimrod
2 siblings, 0 replies; 70+ messages in thread
From: Matt Lundin @ 2014-06-25 5:39 UTC (permalink / raw)
To: emacs-orgmode
Matt Lundin <mdl@imapmail.org> writes:
> Eric Abrahamsen <eric@ericabrahamsen.net> writes:
>
>> Nicolas Goaziou <mail@nicolasgoaziou.fr> writes:
>>
>>> Hello,
>>>
>>> Eric Abrahamsen <eric@ericabrahamsen.net> writes:
>>>
>>>> None of those three, I'm afraid! It was hanging on a variety of editing
>>>> operations that, as far as I can tell, had little in common. There's a
>>>> possibility that they were list-item-related, but really there wasn't
>>>> much commonality.
>>>
>>> FYI, I recently fixed a bug[fn:1] that could introduce uncommon random
>>> lockups. Hopefully, it may be related to your problem (which is
>>> different from Daimrod's).
>>
>> Thanks for the followup! I was watching Daimrod's thread, and also
>> Matt's most recent posting -- that also seemed more relevant to my
>> problems, which were almost solely confined to log/state notes. I've
>> pulled the fix, and will let you know if I see any more problems.
>
> With the latest git, I've experienced three lock-ups/freezes this
> evening when a) archiving a subtree to a file, b) changing a todo state
> with repeating timestamp, and 3) calling C-c C-c in an org-capture
> buffer. (I don't think this is due to a recent change - I've been
> running into these lockups sporadically for several months.)
>
> The freezes are very difficult to replicate reliably. When they happen,
> emacs is unresponsive and can only be killed from the outside. Any tips
> on how to debug this would be greatly appreciated.
FWIW, Emacs just locked up again when I attempted to refile a subtree
from one org file to another (using org-refile).
GNU Emacs 24.3.1 (x86_64-unknown-linux-gnu, GTK+ Version 3.12.2) of 2014-06-11 on var-lib-archbuild-staging-x86_64-jgc
Org-mode version beta_8.3 (beta_8.3-26-g1c3bdb @/home/user123/org-mode/lisp/)
Matt
^ permalink raw reply [flat|nested] 70+ messages in thread
* Re: still seeing semi-regular lockups
2014-06-25 4:09 ` Matt Lundin
2014-06-25 5:39 ` Matt Lundin
@ 2014-06-25 7:32 ` Sebastien Vauban
2014-06-27 13:00 ` Nicolas Goaziou
2014-06-25 7:38 ` Daimrod
2 siblings, 1 reply; 70+ messages in thread
From: Sebastien Vauban @ 2014-06-25 7:32 UTC (permalink / raw)
To: emacs-orgmode-mXXj517/zsQ
Matt Lundin wrote:
> Eric Abrahamsen <eric-5ibeKGLO59aIK5dEoMBc7KxOck334EZe@public.gmane.org> writes:
>> Nicolas Goaziou <mail-Gpy5sJQTEQHwkn9pgDnJRVAUjnlXr6A1@public.gmane.org> writes:
>>> Eric Abrahamsen <eric-5ibeKGLO59aIK5dEoMBc7KxOck334EZe@public.gmane.org> writes:
>>>
>>>> None of those three, I'm afraid! It was hanging on a variety of editing
>>>> operations that, as far as I can tell, had little in common. There's a
>>>> possibility that they were list-item-related, but really there wasn't
>>>> much commonality.
>>>
>>> FYI, I recently fixed a bug[fn:1] that could introduce uncommon random
>>> lockups. Hopefully, it may be related to your problem (which is
>>> different from Daimrod's).
>>
>> Thanks for the followup! I was watching Daimrod's thread, and also
>> Matt's most recent posting -- that also seemed more relevant to my
>> problems, which were almost solely confined to log/state notes. I've
>> pulled the fix, and will let you know if I see any more problems.
>
> With the latest git, I've experienced three lock-ups/freezes this
> evening when a) archiving a subtree to a file, b) changing a todo state
> with repeating timestamp, and 3) calling C-c C-c in an org-capture
> buffer. (I don't think this is due to a recent change - I've been
> running into these lockups sporadically for several months.)
>
> The freezes are very difficult to replicate reliably. When they happen,
> emacs is unresponsive and can only be killed from the outside. Any tips
> on how to debug this would be greatly appreciated.
I also still experience semi-regular Emacs infloops, particularly when
editing clocking entries manually (with the arrow keys), in the LOGBOOK
drawer. It's quite often in such a situation, though not 100%
reproducible.
Unluckily, these infloops are not stoppable via C-g, as it seems to
occur in portions of code where "quit" is inhibited (see recent comments
from Stefan).
Current environment:
- GNU Emacs 24.4.50.1 (i686-pc-mingw32) of 2014-06-15 on LEG570
- Org-mode version 8.2.7 (release_8.2.7-1119-gfcc51c/) -- though I'll
update right now!
Best regards,
Seb
--
Sebastien Vauban
^ permalink raw reply [flat|nested] 70+ messages in thread
* Re: still seeing semi-regular lockups
2014-06-25 4:09 ` Matt Lundin
2014-06-25 5:39 ` Matt Lundin
2014-06-25 7:32 ` Sebastien Vauban
@ 2014-06-25 7:38 ` Daimrod
2014-06-25 8:22 ` Eric Abrahamsen
` (2 more replies)
2 siblings, 3 replies; 70+ messages in thread
From: Daimrod @ 2014-06-25 7:38 UTC (permalink / raw)
To: Matt Lundin; +Cc: emacs-orgmode
Matt Lundin <mdl@imapmail.org> writes:
> Eric Abrahamsen <eric@ericabrahamsen.net> writes:
>
>> Nicolas Goaziou <mail@nicolasgoaziou.fr> writes:
>>
>>> Hello,
>>>
>>> Eric Abrahamsen <eric@ericabrahamsen.net> writes:
>>>
>>>> None of those three, I'm afraid! It was hanging on a variety of editing
>>>> operations that, as far as I can tell, had little in common. There's a
>>>> possibility that they were list-item-related, but really there wasn't
>>>> much commonality.
>>>
>>> FYI, I recently fixed a bug[fn:1] that could introduce uncommon random
>>> lockups. Hopefully, it may be related to your problem (which is
>>> different from Daimrod's).
>>
>> Thanks for the followup! I was watching Daimrod's thread, and also
>> Matt's most recent posting -- that also seemed more relevant to my
>> problems, which were almost solely confined to log/state notes. I've
>> pulled the fix, and will let you know if I see any more problems.
>
> With the latest git, I've experienced three lock-ups/freezes this
> evening when a) archiving a subtree to a file, b) changing a todo state
> with repeating timestamp, and 3) calling C-c C-c in an org-capture
> buffer. (I don't think this is due to a recent change - I've been
> running into these lockups sporadically for several months.)
>
> The freezes are very difficult to replicate reliably. When they happen,
> emacs is unresponsive and can only be killed from the outside. Any tips
> on how to debug this would be greatly appreciated.
See my previous post:
http://thread.gmane.org/gmane.emacs.orgmode/86255/focus=86263
You can wrap `jit-lock--debug-fontify' with:
(advice-add 'jit-lock--debug-fontify :around
(lambda (fun &rest args)
(with-local-quit (apply fun args))))
and then force emacs to break and display a backtrace by sending the
SIGUSR2 to the emacs process.
Best,
--
Daimrod/Greg
^ permalink raw reply [flat|nested] 70+ messages in thread
* Re: still seeing semi-regular lockups
2014-06-25 7:38 ` Daimrod
@ 2014-06-25 8:22 ` Eric Abrahamsen
2014-06-25 8:30 ` Bastien
2014-06-25 13:47 ` Matt Lundin
2014-06-26 2:58 ` Matt Lundin
2 siblings, 1 reply; 70+ messages in thread
From: Eric Abrahamsen @ 2014-06-25 8:22 UTC (permalink / raw)
To: emacs-orgmode
Daimrod <daimrod@gmail.com> writes:
> Matt Lundin <mdl@imapmail.org> writes:
>
>> Eric Abrahamsen <eric@ericabrahamsen.net> writes:
>>
>>> Nicolas Goaziou <mail@nicolasgoaziou.fr> writes:
>>>
>>>> Hello,
>>>>
>>>> Eric Abrahamsen <eric@ericabrahamsen.net> writes:
>>>>
>>>>> None of those three, I'm afraid! It was hanging on a variety of editing
>>>>> operations that, as far as I can tell, had little in common. There's a
>>>>> possibility that they were list-item-related, but really there wasn't
>>>>> much commonality.
>>>>
>>>> FYI, I recently fixed a bug[fn:1] that could introduce uncommon random
>>>> lockups. Hopefully, it may be related to your problem (which is
>>>> different from Daimrod's).
>>>
>>> Thanks for the followup! I was watching Daimrod's thread, and also
>>> Matt's most recent posting -- that also seemed more relevant to my
>>> problems, which were almost solely confined to log/state notes. I've
>>> pulled the fix, and will let you know if I see any more problems.
>>
>> With the latest git, I've experienced three lock-ups/freezes this
>> evening when a) archiving a subtree to a file, b) changing a todo state
>> with repeating timestamp, and 3) calling C-c C-c in an org-capture
>> buffer. (I don't think this is due to a recent change - I've been
>> running into these lockups sporadically for several months.)
>>
>> The freezes are very difficult to replicate reliably. When they happen,
>> emacs is unresponsive and can only be killed from the outside. Any tips
>> on how to debug this would be greatly appreciated.
>
> See my previous post:
> http://thread.gmane.org/gmane.emacs.orgmode/86255/focus=86263
>
> You can wrap `jit-lock--debug-fontify' with:
>
> (advice-add 'jit-lock--debug-fontify :around
> (lambda (fun &rest args)
> (with-local-quit (apply fun args))))
>
> and then force emacs to break and display a backtrace by sending the
> SIGUSR2 to the emacs process.
I think the advice here was also to run Org uncompiled, as that produces
a more useful backtrace, is that right? A couple of times I've gotten
SIGUSR2 to knock emacs out of a lock, but it was only while I was
running a compiled org. The one time I was running uncompiled and got a
lock, even SIGUSR2 couldn't bring it back...
^ permalink raw reply [flat|nested] 70+ messages in thread
* Re: still seeing semi-regular lockups
2014-06-25 8:22 ` Eric Abrahamsen
@ 2014-06-25 8:30 ` Bastien
2014-06-25 8:40 ` Eric Abrahamsen
0 siblings, 1 reply; 70+ messages in thread
From: Bastien @ 2014-06-25 8:30 UTC (permalink / raw)
To: Eric Abrahamsen; +Cc: emacs-orgmode
Hi Eric,
Eric Abrahamsen <eric@ericabrahamsen.net> writes:
> I think the advice here was also to run Org uncompiled, as that produces
> a more useful backtrace, is that right?
Yes, that's right -- generally, backtraces from compiled Org are
mungled, while backtraces from an uncompiled Org are readable.
> A couple of times I've gotten
> SIGUSR2 to knock emacs out of a lock, but it was only while I was
> running a compiled org. The one time I was running uncompiled and got a
> lock, even SIGUSR2 couldn't bring it back...
Yes, compilation does not affect whether or not you can escape a lock.
--
Bastien
^ permalink raw reply [flat|nested] 70+ messages in thread
* Re: still seeing semi-regular lockups
2014-06-25 8:30 ` Bastien
@ 2014-06-25 8:40 ` Eric Abrahamsen
0 siblings, 0 replies; 70+ messages in thread
From: Eric Abrahamsen @ 2014-06-25 8:40 UTC (permalink / raw)
To: emacs-orgmode
Bastien <bzg@gnu.org> writes:
> Hi Eric,
>
> Eric Abrahamsen <eric@ericabrahamsen.net> writes:
>
>> I think the advice here was also to run Org uncompiled, as that produces
>> a more useful backtrace, is that right?
>
> Yes, that's right -- generally, backtraces from compiled Org are
> mungled, while backtraces from an uncompiled Org are readable.
>
>> A couple of times I've gotten
>> SIGUSR2 to knock emacs out of a lock, but it was only while I was
>> running a compiled org. The one time I was running uncompiled and got a
>> lock, even SIGUSR2 couldn't bring it back...
>
> Yes, compilation does not affect whether or not you can escape a lock.
Right, I didn't mean to imply that, just that SIGUSR2 doesn't always
bring it back from the dead...
^ permalink raw reply [flat|nested] 70+ messages in thread
* Re: still seeing semi-regular lockups
2014-06-25 7:38 ` Daimrod
2014-06-25 8:22 ` Eric Abrahamsen
@ 2014-06-25 13:47 ` Matt Lundin
2014-06-26 2:58 ` Matt Lundin
2 siblings, 0 replies; 70+ messages in thread
From: Matt Lundin @ 2014-06-25 13:47 UTC (permalink / raw)
To: Daimrod; +Cc: emacs-orgmode
Daimrod <daimrod@gmail.com> writes:
> Matt Lundin <mdl@imapmail.org> writes:
>
>>
>> The freezes are very difficult to replicate reliably. When they happen,
>> emacs is unresponsive and can only be killed from the outside. Any tips
>> on how to debug this would be greatly appreciated.
>
> See my previous post:
> http://thread.gmane.org/gmane.emacs.orgmode/86255/focus=86263
>
> You can wrap `jit-lock--debug-fontify' with:
>
> (advice-add 'jit-lock--debug-fontify :around
> (lambda (fun &rest args)
> (with-local-quit (apply fun args))))
>
> and then force emacs to break and display a backtrace by sending the
> SIGUSR2 to the emacs process.
>
Thanks, that's helpful. It seems jit-lock--debug-fontify is the
development emacs. I'll build that in a moment...
For the record, I've been seeing these lockups with stable releases of
emacs (currently 24.3).
Thanks,
Matt
^ permalink raw reply [flat|nested] 70+ messages in thread
* Re: still seeing semi-regular lockups
2014-06-25 7:38 ` Daimrod
2014-06-25 8:22 ` Eric Abrahamsen
2014-06-25 13:47 ` Matt Lundin
@ 2014-06-26 2:58 ` Matt Lundin
2014-06-26 3:00 ` Matt Lundin
2014-06-27 12:56 ` Nicolas Goaziou
2 siblings, 2 replies; 70+ messages in thread
From: Matt Lundin @ 2014-06-26 2:58 UTC (permalink / raw)
To: Daimrod; +Cc: emacs-orgmode
Daimrod <daimrod@gmail.com> writes:
> Matt Lundin <mdl@imapmail.org> writes:
>>
>> With the latest git, I've experienced three lock-ups/freezes this
>> evening when a) archiving a subtree to a file, b) changing a todo state
>> with repeating timestamp, and 3) calling C-c C-c in an org-capture
>> buffer. (I don't think this is due to a recent change - I've been
>> running into these lockups sporadically for several months.)
>>
>> The freezes are very difficult to replicate reliably. When they happen,
>> emacs is unresponsive and can only be killed from the outside. Any tips
>> on how to debug this would be greatly appreciated.
>
> See my previous post:
> http://thread.gmane.org/gmane.emacs.orgmode/86255/focus=86263
>
> You can wrap `jit-lock--debug-fontify' with:
>
> (advice-add 'jit-lock--debug-fontify :around
> (lambda (fun &rest args)
> (with-local-quit (apply fun args))))
>
> and then force emacs to break and display a backtrace by sending the
> SIGUSR2 to the emacs process.
O.K., I built the most emacs development from bzr and used the advice
above.
With "killall -USR2 emacs", the following backtrace popped up, which
highlights flyspell as the culrpit. Note: I have flyspell turned on in
all text buffers, but I have (for several months) only experienced
lockups when using org-mode. I spend more time in TeX buffers than in
org-mode, and I have never had a lockup with AUCTeX.
--8<---------------cut here---------------start------------->8---
* (setq quit-flag t)
(condition-case nil (let ((inhibit-quit nil)) (let ((command
this-command) deactivate-mark) (if (flyspell-check-pre-word-p)
(save-excursion (quote (flyspell-debug-signal-pre-word-checked))
(goto-char flyspell-pre-point) (flyspell-word))) (if
(flyspell-check-word-p) (progn (quote
(flyspell-debug-signal-word-checked)) (flyspell-word) (setq
flyspell-pre-pre-buffer (current-buffer)) (setq flyspell-pre-pre-point
(point))) (setq flyspell-pre-pre-buffer nil) (setq
flyspell-pre-pre-point nil) (if (and (symbolp this-command) (get
this-command (quote flyspell-delayed))) (progn (setq
flyspell-word-cache-end -1) (setq flyspell-word-cache-result (quote
_))))) (while (and (not (input-pending-p)) (consp flyspell-changes))
(let ((start (car ...)) (stop (cdr ...))) (if
(flyspell-check-changed-word-p start stop) (save-excursion (quote ...)
(goto-char start) (flyspell-word))) (setq flyspell-changes (cdr
flyspell-changes)))) (setq flyspell-previous-command command))) (quit
(setq quit-flag t) (eval (quote (ignore nil)))))
(progn (condition-case nil (let ((inhibit-quit nil)) (let ((command
this-command) deactivate-mark) (if (flyspell-check-pre-word-p)
(save-excursion (quote (flyspell-debug-signal-pre-word-checked))
(goto-char flyspell-pre-point) (flyspell-word))) (if
(flyspell-check-word-p) (progn (quote
(flyspell-debug-signal-word-checked)) (flyspell-word) (setq
flyspell-pre-pre-buffer (current-buffer)) (setq
flyspell-pre-pre-point (point))) (setq flyspell-pre-pre-buffer nil)
(setq flyspell-pre-pre-point nil) (if (and (symbolp this-command)
(get this-command ...)) (progn (setq flyspell-word-cache-end -1)
(setq flyspell-word-cache-result ...)))) (while (and (not
(input-pending-p)) (consp flyspell-changes)) (let ((start ...) (stop
...)) (if (flyspell-check-changed-word-p start stop) (save-excursion
... ... ...)) (setq flyspell-changes (cdr flyspell-changes)))) (setq
flyspell-previous-command command))) (quit (setq quit-flag t) (eval
(quote (ignore nil))))))
(if flyspell-mode (progn (condition-case nil (let ((inhibit-quit
nil)) (let ((command this-command) deactivate-mark) (if
(flyspell-check-pre-word-p) (save-excursion (quote ...) (goto-char
flyspell-pre-point) (flyspell-word))) (if (flyspell-check-word-p)
(progn (quote ...) (flyspell-word) (setq flyspell-pre-pre-buffer
...) (setq flyspell-pre-pre-point ...)) (setq
flyspell-pre-pre-buffer nil) (setq flyspell-pre-pre-point nil) (if
(and ... ...) (progn ... ...))) (while (and (not ...) (consp
flyspell-changes)) (let (... ...) (if ... ...) (setq
flyspell-changes ...))) (setq flyspell-previous-command command)))
(quit (setq quit-flag t) (eval (quote (ignore nil)))))))
flyspell-post-command-hook()
recursive-edit()
--8<---------------cut here---------------end--------------->8---
Matt
^ permalink raw reply [flat|nested] 70+ messages in thread
* Re: still seeing semi-regular lockups
2014-06-26 2:58 ` Matt Lundin
@ 2014-06-26 3:00 ` Matt Lundin
2014-06-27 12:56 ` Nicolas Goaziou
1 sibling, 0 replies; 70+ messages in thread
From: Matt Lundin @ 2014-06-26 3:00 UTC (permalink / raw)
To: Daimrod; +Cc: emacs-orgmode
Matt Lundin <mdl@imapmail.org> writes:
> With "killall -USR2 emacs", the following backtrace popped up, which
> highlights flyspell as the culrpit.
~~~~~~~
And, of course, I had flyspell turned off when writing this email. :)
Matt
^ permalink raw reply [flat|nested] 70+ messages in thread
* Re: still seeing semi-regular lockups
2014-06-26 2:58 ` Matt Lundin
2014-06-26 3:00 ` Matt Lundin
@ 2014-06-27 12:56 ` Nicolas Goaziou
2014-06-27 13:37 ` Alan Schmitt
1 sibling, 1 reply; 70+ messages in thread
From: Nicolas Goaziou @ 2014-06-27 12:56 UTC (permalink / raw)
To: Matt Lundin; +Cc: Daimrod, emacs-orgmode
Hello,
Matt Lundin <mdl@imapmail.org> writes:
> With "killall -USR2 emacs", the following backtrace popped up, which
> highlights flyspell as the culrpit. Note: I have flyspell turned on in
> all text buffers, but I have (for several months) only experienced
> lockups when using org-mode. I spend more time in TeX buffers than in
> org-mode, and I have never had a lockup with AUCTeX.
>
> * (setq quit-flag t)
> (condition-case nil (let ((inhibit-quit nil)) (let ((command
> this-command) deactivate-mark) (if (flyspell-check-pre-word-p)
> (save-excursion (quote (flyspell-debug-signal-pre-word-checked))
> (goto-char flyspell-pre-point) (flyspell-word))) (if
[...]
Thank you for the report.
Unfortunately, this backtrace doesn't help much. Even if it referred
explicitly to a cache-related function, it would likely not explain the
reasons behind the cache corruption. I need an ECM (even if the bug
isn't 100 % reproducible) for that.
In the meantime, if you can, please update Org regularly, as I'm
reviewing the code and will probably make changes along the way.
Regards,
--
Nicolas Goaziou
^ permalink raw reply [flat|nested] 70+ messages in thread
* Re: still seeing semi-regular lockups
2014-06-25 7:32 ` Sebastien Vauban
@ 2014-06-27 13:00 ` Nicolas Goaziou
0 siblings, 0 replies; 70+ messages in thread
From: Nicolas Goaziou @ 2014-06-27 13:00 UTC (permalink / raw)
To: Sebastien Vauban; +Cc: public-emacs-orgmode-mXXj517/zsQ
Hello,
Sebastien Vauban <sva-news-D0wtAvR13HarG/iDocfnWg@public.gmane.org>
writes:
> I also still experience semi-regular Emacs infloops, particularly when
> editing clocking entries manually (with the arrow keys), in the LOGBOOK
> drawer. It's quite often in such a situation, though not 100%
> reproducible.
I tried but couldn't reproduce it. Please provide an ECM (even without
100 % success) if you can.
> - Org-mode version 8.2.7 (release_8.2.7-1119-gfcc51c/) -- though I'll
> update right now!
Please do. I made some changes to the code recently.
Regards,
--
Nicolas Goaziou
^ permalink raw reply [flat|nested] 70+ messages in thread
* Re: still seeing semi-regular lockups
2014-06-27 12:56 ` Nicolas Goaziou
@ 2014-06-27 13:37 ` Alan Schmitt
2014-06-27 22:31 ` Nicolas Goaziou
0 siblings, 1 reply; 70+ messages in thread
From: Alan Schmitt @ 2014-06-27 13:37 UTC (permalink / raw)
To: Matt Lundin; +Cc: Daimrod, emacs-orgmode
[-- Attachment #1: Type: text/plain, Size: 2181 bytes --]
I've also just been bitten by this bug, as I was doing my weekly
review. I'll try to see if I can write an ECM, but for the record this
is what I was doing: I was in an agenda view sorted by the value of
a LAST_REVIEW property, and I was repeatedly calling this function on
the entries of the view:
#+begin_src emacs-lisp
(defun org-review-insert-last-review (&optional prompt)
"Insert the current date as last review. If prefix argument:
prompt the user for the date. If `org-review-sets-next-date' is
set to `t', also insert a next review date."
(interactive "P")
(let ((ts (if prompt
(concat "<" (org-read-date) ">")
(format-time-string (car org-time-stamp-formats)))))
(org-review-insert-date org-review-last-property-name
org-review-last-timestamp-format
ts)
(when org-review-sets-next-date
(org-review-insert-date
org-review-next-property-name
org-review-next-timestamp-format
(format-time-string (car org-time-stamp-formats)
(org-review-last-planned
ts
(or (org-review-review-delay-prop
(if (equal (buffer-name) org-agenda-buffer-name)
(or (org-get-at-bol 'org-marker)
(org-agenda-error))
(point)))
org-review-delay)))))))
#+end_src
the `org-review-insert-date` is defined as follows
#+begin_src emacs-lisp
(defun org-review-insert-date (propname fmt date)
"Insert the DATE under property PROPNAME, in the format
specified by FMT."
(org-entry-put
(if (equal (buffer-name) org-agenda-buffer-name)
(or (org-get-at-bol 'org-marker)
(org-agenda-error))
(point))
propname
(cond
((eq fmt 'inactive)
(concat "[" (substring date 1 -1) "]"))
((eq fmt 'active) date)
(t (substring date 1 -1)))))
#+end_src
I could get out of the loop using "ctrl-G" but any further interaction
with the todo buffer (expanding the task to see its properties, or
changing the todo state) would result in further lockup. Restarting
emacs let me do a few more entries (about a dozen) before it locked up
again.
Alan
--
OpenPGP Key ID : 040D0A3B4ED2E5C7
[-- Attachment #2: Type: application/pgp-signature, Size: 494 bytes --]
^ permalink raw reply [flat|nested] 70+ messages in thread
* Re: still seeing semi-regular lockups
2014-06-27 13:37 ` Alan Schmitt
@ 2014-06-27 22:31 ` Nicolas Goaziou
0 siblings, 0 replies; 70+ messages in thread
From: Nicolas Goaziou @ 2014-06-27 22:31 UTC (permalink / raw)
To: Alan Schmitt; +Cc: Daimrod, Matt Lundin, emacs-orgmode
Hello,
Alan Schmitt <alan.schmitt@polytechnique.org> writes:
> I've also just been bitten by this bug, as I was doing my weekly
> review. I'll try to see if I can write an ECM, but for the record this
> is what I was doing: I was in an agenda view sorted by the value of
> a LAST_REVIEW property, and I was repeatedly calling this function on
> the entries of the view:
[...]
> I could get out of the loop using "ctrl-G" but any further interaction
> with the todo buffer (expanding the task to see its properties, or
> changing the todo state) would result in further lockup. Restarting
> emacs let me do a few more entries (about a dozen) before it locked up
> again.
This bug should be fixed (`org-entry-put' corrupted the cache). Thank
you for reporting it.
Regards,
--
Nicolas Goaziou
^ permalink raw reply [flat|nested] 70+ messages in thread
* Re: still seeing semi-regular lockups
2014-06-24 14:28 ` Eric Abrahamsen
2014-06-25 4:09 ` Matt Lundin
@ 2014-06-28 19:27 ` Eric Abrahamsen
2014-06-29 1:39 ` York Zhao
1 sibling, 1 reply; 70+ messages in thread
From: Eric Abrahamsen @ 2014-06-28 19:27 UTC (permalink / raw)
To: emacs-orgmode
Eric Abrahamsen <eric@ericabrahamsen.net> writes:
> Nicolas Goaziou <mail@nicolasgoaziou.fr> writes:
>
>> Hello,
>>
>> Eric Abrahamsen <eric@ericabrahamsen.net> writes:
>>
>>> None of those three, I'm afraid! It was hanging on a variety of editing
>>> operations that, as far as I can tell, had little in common. There's a
>>> possibility that they were list-item-related, but really there wasn't
>>> much commonality.
>>
>> FYI, I recently fixed a bug[fn:1] that could introduce uncommon random
>> lockups. Hopefully, it may be related to your problem (which is
>> different from Daimrod's).
>
> Thanks for the followup! I was watching Daimrod's thread, and also
> Matt's most recent posting -- that also seemed more relevant to my
> problems, which were almost solely confined to log/state notes. I've
> pulled the fix, and will let you know if I see any more problems.
After feeling like I was running behind the bus for a few weeks, I may
have finally gotten something useful.
FWIW I *haven't* seen any log-drawer related lockups for a while now,
not since Nicolas said he fixed some things in that direction. But in
the past couple of days I have had a few flyspell-related lockups, and
finally got an uncompiled backtrace.
This has happened the same way a few times now. A longish, text-heavy
file, with only three top-level headlines (one of them a footnote
section), and no drawers of any sort anywhere in the document -- very
little Org markup at all, actually. The lockup starts at random, and
SIGUSR2 shows me a very short backtrace related to a flyspell-mode
related advice somewhere (I didn't save this one, it's byte-compiled, if
it's important I'll clean out more compiled files and try to get it
again).
I recover from that lock, turn off flyspell-mode in my org buffer, and
within three or four commands Org locks up again. This time the
backtrace is related to org cache, here's the one I just got, after
calling org-end-of-line:
http://pastebin.com/Q0g8DmUa
Hope that's useful! Let me know if I can provide anything else.
E
^ permalink raw reply [flat|nested] 70+ messages in thread
* Re: still seeing semi-regular lockups
2014-06-28 19:27 ` Eric Abrahamsen
@ 2014-06-29 1:39 ` York Zhao
2014-06-29 2:23 ` Eric Abrahamsen
2014-06-29 13:58 ` Nicolas Goaziou
0 siblings, 2 replies; 70+ messages in thread
From: York Zhao @ 2014-06-29 1:39 UTC (permalink / raw)
To: Eric Abrahamsen; +Cc: emacs-orgmode
My experience of using `org-mode' (git commit "2824502" and previous versions)
with Emacs 24.3.91 (git commit "0f0917d") had been a nightmare. I got bitten by
this bug frequently, I was mad. Some of my `org-drill' entires might have been
damaged to some extent. This was a problem with Emacs 24.3.1 ("3a1ce06") too but
was much better, at least not damaging my `org-drill' flies. I will have to go
back to Emacs 24.3.1. Appears to me that Emacs 24.4 may have some bad issues.
On Sat, Jun 28, 2014 at 3:27 PM, Eric Abrahamsen
<eric@ericabrahamsen.net> wrote:
> Eric Abrahamsen <eric@ericabrahamsen.net> writes:
>
>> Nicolas Goaziou <mail@nicolasgoaziou.fr> writes:
>>
>>> Hello,
>>>
>>> Eric Abrahamsen <eric@ericabrahamsen.net> writes:
>>>
>>>> None of those three, I'm afraid! It was hanging on a variety of editing
>>>> operations that, as far as I can tell, had little in common. There's a
>>>> possibility that they were list-item-related, but really there wasn't
>>>> much commonality.
>>>
>>> FYI, I recently fixed a bug[fn:1] that could introduce uncommon random
>>> lockups. Hopefully, it may be related to your problem (which is
>>> different from Daimrod's).
>>
>> Thanks for the followup! I was watching Daimrod's thread, and also
>> Matt's most recent posting -- that also seemed more relevant to my
>> problems, which were almost solely confined to log/state notes. I've
>> pulled the fix, and will let you know if I see any more problems.
>
> After feeling like I was running behind the bus for a few weeks, I may
> have finally gotten something useful.
>
> FWIW I *haven't* seen any log-drawer related lockups for a while now,
> not since Nicolas said he fixed some things in that direction. But in
> the past couple of days I have had a few flyspell-related lockups, and
> finally got an uncompiled backtrace.
>
> This has happened the same way a few times now. A longish, text-heavy
> file, with only three top-level headlines (one of them a footnote
> section), and no drawers of any sort anywhere in the document -- very
> little Org markup at all, actually. The lockup starts at random, and
> SIGUSR2 shows me a very short backtrace related to a flyspell-mode
> related advice somewhere (I didn't save this one, it's byte-compiled, if
> it's important I'll clean out more compiled files and try to get it
> again).
>
> I recover from that lock, turn off flyspell-mode in my org buffer, and
> within three or four commands Org locks up again. This time the
> backtrace is related to org cache, here's the one I just got, after
> calling org-end-of-line:
>
> http://pastebin.com/Q0g8DmUa
>
> Hope that's useful! Let me know if I can provide anything else.
>
> E
>
>
^ permalink raw reply [flat|nested] 70+ messages in thread
* Re: still seeing semi-regular lockups
2014-06-29 1:39 ` York Zhao
@ 2014-06-29 2:23 ` Eric Abrahamsen
2014-06-30 1:15 ` York Zhao
2014-06-29 13:58 ` Nicolas Goaziou
1 sibling, 1 reply; 70+ messages in thread
From: Eric Abrahamsen @ 2014-06-29 2:23 UTC (permalink / raw)
To: emacs-orgmode
York Zhao <gtdplatform@gmail.com> writes:
> My experience of using `org-mode' (git commit "2824502" and previous versions)
> with Emacs 24.3.91 (git commit "0f0917d") had been a nightmare. I got bitten by
> this bug frequently, I was mad. Some of my `org-drill' entires might have been
> damaged to some extent. This was a problem with Emacs 24.3.1 ("3a1ce06") too but
> was much better, at least not damaging my `org-drill' flies. I will have to go
> back to Emacs 24.3.1. Appears to me that Emacs 24.4 may have some bad issues.
Yeah, I'm using git emacs, labeled 24.4.50.1.
> On Sat, Jun 28, 2014 at 3:27 PM, Eric Abrahamsen
> <eric@ericabrahamsen.net> wrote:
>> Eric Abrahamsen <eric@ericabrahamsen.net> writes:
>>
>>> Nicolas Goaziou <mail@nicolasgoaziou.fr> writes:
>>>
>>>> Hello,
>>>>
>>>> Eric Abrahamsen <eric@ericabrahamsen.net> writes:
>>>>
>>>>> None of those three, I'm afraid! It was hanging on a variety of editing
>>>>> operations that, as far as I can tell, had little in common. There's a
>>>>> possibility that they were list-item-related, but really there wasn't
>>>>> much commonality.
>>>>
>>>> FYI, I recently fixed a bug[fn:1] that could introduce uncommon random
>>>> lockups. Hopefully, it may be related to your problem (which is
>>>> different from Daimrod's).
>>>
>>> Thanks for the followup! I was watching Daimrod's thread, and also
>>> Matt's most recent posting -- that also seemed more relevant to my
>>> problems, which were almost solely confined to log/state notes. I've
>>> pulled the fix, and will let you know if I see any more problems.
>>
>> After feeling like I was running behind the bus for a few weeks, I may
>> have finally gotten something useful.
>>
>> FWIW I *haven't* seen any log-drawer related lockups for a while now,
>> not since Nicolas said he fixed some things in that direction. But in
>> the past couple of days I have had a few flyspell-related lockups, and
>> finally got an uncompiled backtrace.
>>
>> This has happened the same way a few times now. A longish, text-heavy
>> file, with only three top-level headlines (one of them a footnote
>> section), and no drawers of any sort anywhere in the document -- very
>> little Org markup at all, actually. The lockup starts at random, and
>> SIGUSR2 shows me a very short backtrace related to a flyspell-mode
>> related advice somewhere (I didn't save this one, it's byte-compiled, if
>> it's important I'll clean out more compiled files and try to get it
>> again).
>>
>> I recover from that lock, turn off flyspell-mode in my org buffer, and
>> within three or four commands Org locks up again. This time the
>> backtrace is related to org cache, here's the one I just got, after
>> calling org-end-of-line:
>>
>> http://pastebin.com/Q0g8DmUa
>>
>> Hope that's useful! Let me know if I can provide anything else.
>>
>> E
>>
>>
^ permalink raw reply [flat|nested] 70+ messages in thread
* Re: still seeing semi-regular lockups
2014-06-29 1:39 ` York Zhao
2014-06-29 2:23 ` Eric Abrahamsen
@ 2014-06-29 13:58 ` Nicolas Goaziou
1 sibling, 0 replies; 70+ messages in thread
From: Nicolas Goaziou @ 2014-06-29 13:58 UTC (permalink / raw)
To: York Zhao; +Cc: Eric Abrahamsen, emacs-orgmode
Hello,
York Zhao <gtdplatform@gmail.com> writes:
> My experience of using `org-mode' (git commit "2824502" and previous versions)
> with Emacs 24.3.91 (git commit "0f0917d") had been a nightmare. I got bitten by
> this bug frequently, I was mad.
I'm sorry about this.
However, just saying that "it had been a nightmare" doesn't help much.
If you can, please try to provide an ECM. I will gladly fix any bug
I can reproduce.
> This was a problem with Emacs 24.3.1 ("3a1ce06") too
Note that this is an entirely different issue, since maint branch
doesn't have a cache. Reporting bugs found there is even more critical
as it is the version that will be shipped with next Emacs release.
Regards,
--
Nicolas Goaziou
^ permalink raw reply [flat|nested] 70+ messages in thread
* Re: still seeing semi-regular lockups
2014-06-29 2:23 ` Eric Abrahamsen
@ 2014-06-30 1:15 ` York Zhao
2014-06-30 1:43 ` York Zhao
0 siblings, 1 reply; 70+ messages in thread
From: York Zhao @ 2014-06-30 1:15 UTC (permalink / raw)
To: Eric Abrahamsen; +Cc: emacs-orgmode
> Yeah, I'm using git emacs, labeled 24.4.50.1
Did you compile Emacs from git? I have never seen the tag 24.4.50.1, are you
sure you didn't have a typo here?
On Sat, Jun 28, 2014 at 10:23 PM, Eric Abrahamsen
<eric@ericabrahamsen.net> wrote:
> York Zhao <gtdplatform@gmail.com> writes:
>
>> My experience of using `org-mode' (git commit "2824502" and previous versions)
>> with Emacs 24.3.91 (git commit "0f0917d") had been a nightmare. I got bitten by
>> this bug frequently, I was mad. Some of my `org-drill' entires might have been
>> damaged to some extent. This was a problem with Emacs 24.3.1 ("3a1ce06") too but
>> was much better, at least not damaging my `org-drill' flies. I will have to go
>> back to Emacs 24.3.1. Appears to me that Emacs 24.4 may have some bad issues.
>
> Yeah, I'm using git emacs, labeled 24.4.50.1.
>
>> On Sat, Jun 28, 2014 at 3:27 PM, Eric Abrahamsen
>> <eric@ericabrahamsen.net> wrote:
>>> Eric Abrahamsen <eric@ericabrahamsen.net> writes:
>>>
>>>> Nicolas Goaziou <mail@nicolasgoaziou.fr> writes:
>>>>
>>>>> Hello,
>>>>>
>>>>> Eric Abrahamsen <eric@ericabrahamsen.net> writes:
>>>>>
>>>>>> None of those three, I'm afraid! It was hanging on a variety of editing
>>>>>> operations that, as far as I can tell, had little in common. There's a
>>>>>> possibility that they were list-item-related, but really there wasn't
>>>>>> much commonality.
>>>>>
>>>>> FYI, I recently fixed a bug[fn:1] that could introduce uncommon random
>>>>> lockups. Hopefully, it may be related to your problem (which is
>>>>> different from Daimrod's).
>>>>
>>>> Thanks for the followup! I was watching Daimrod's thread, and also
>>>> Matt's most recent posting -- that also seemed more relevant to my
>>>> problems, which were almost solely confined to log/state notes. I've
>>>> pulled the fix, and will let you know if I see any more problems.
>>>
>>> After feeling like I was running behind the bus for a few weeks, I may
>>> have finally gotten something useful.
>>>
>>> FWIW I *haven't* seen any log-drawer related lockups for a while now,
>>> not since Nicolas said he fixed some things in that direction. But in
>>> the past couple of days I have had a few flyspell-related lockups, and
>>> finally got an uncompiled backtrace.
>>>
>>> This has happened the same way a few times now. A longish, text-heavy
>>> file, with only three top-level headlines (one of them a footnote
>>> section), and no drawers of any sort anywhere in the document -- very
>>> little Org markup at all, actually. The lockup starts at random, and
>>> SIGUSR2 shows me a very short backtrace related to a flyspell-mode
>>> related advice somewhere (I didn't save this one, it's byte-compiled, if
>>> it's important I'll clean out more compiled files and try to get it
>>> again).
>>>
>>> I recover from that lock, turn off flyspell-mode in my org buffer, and
>>> within three or four commands Org locks up again. This time the
>>> backtrace is related to org cache, here's the one I just got, after
>>> calling org-end-of-line:
>>>
>>> http://pastebin.com/Q0g8DmUa
>>>
>>> Hope that's useful! Let me know if I can provide anything else.
>>>
>>> E
>>>
>>>
>
>
^ permalink raw reply [flat|nested] 70+ messages in thread
* Re: still seeing semi-regular lockups
2014-06-30 1:15 ` York Zhao
@ 2014-06-30 1:43 ` York Zhao
2014-06-30 20:20 ` Alan Schmitt
2014-07-01 0:43 ` York Zhao
0 siblings, 2 replies; 70+ messages in thread
From: York Zhao @ 2014-06-30 1:43 UTC (permalink / raw)
To: Eric Abrahamsen; +Cc: emacs-orgmode
I know that doesn't help much except for confirming the problem other people was
suffering. Sorry for the rant. I was too busy and too frustrated.
By the way, what does ECM stands for?
> This is an entirely different issue, since maint branch doesn't have a cache.
I must clarify that what I meant was that I used exactly the same version of
`org-mode', from git repository, with the two Emacs versions. That said, I never
used the `org-mode' version bundled with Emacs. I'm sorry for the confusion.
1. Sometimes when Emacs hangs in `org-mode', "C-g" wouldn't work. Waited
patiently for awhile and "C-g" work again. Pressing "C-g" produced the error
message: "Error in post-command-hook (zfill-post-command-function): (quit)".
Emacs hanged again, waited patiently for awhile until "C-g" worked again and
Emacs revived, but in an unstable state.
2. Other times when Emacs hangs in `org-mode', "C-g" wouldn't work until after
perhaps 20 seconds or so, hitting "C-g" breaks out. Emacs enters a useless
state, nothing works even "C-x C-c" doesn't work, but produces error: "Variable
bind exceeds maximum level" or something.
A few hours ago I switched back to Emacs 24.3.1, problem 1 happened once, but
never had problem 2. And editing in `org-mode' was several times more smooth and
faster. Way better. Again, I want to stress, I was using the same `org-mode'
from git repository (commit "2824502").
Hope this would help a little bit.
On Sun, Jun 29, 2014 at 9:15 PM, York Zhao <gtdplatform@gmail.com> wrote:
>> Yeah, I'm using git emacs, labeled 24.4.50.1
>
> Did you compile Emacs from git? I have never seen the tag 24.4.50.1, are you
> sure you didn't have a typo here?
>
> On Sat, Jun 28, 2014 at 10:23 PM, Eric Abrahamsen
> <eric@ericabrahamsen.net> wrote:
>> York Zhao <gtdplatform@gmail.com> writes:
>>
>>> My experience of using `org-mode' (git commit "2824502" and previous versions)
>>> with Emacs 24.3.91 (git commit "0f0917d") had been a nightmare. I got bitten by
>>> this bug frequently, I was mad. Some of my `org-drill' entires might have been
>>> damaged to some extent. This was a problem with Emacs 24.3.1 ("3a1ce06") too but
>>> was much better, at least not damaging my `org-drill' flies. I will have to go
>>> back to Emacs 24.3.1. Appears to me that Emacs 24.4 may have some bad issues.
>>
>> Yeah, I'm using git emacs, labeled 24.4.50.1.
>>
>>> On Sat, Jun 28, 2014 at 3:27 PM, Eric Abrahamsen
>>> <eric@ericabrahamsen.net> wrote:
>>>> Eric Abrahamsen <eric@ericabrahamsen.net> writes:
>>>>
>>>>> Nicolas Goaziou <mail@nicolasgoaziou.fr> writes:
>>>>>
>>>>>> Hello,
>>>>>>
>>>>>> Eric Abrahamsen <eric@ericabrahamsen.net> writes:
>>>>>>
>>>>>>> None of those three, I'm afraid! It was hanging on a variety of editing
>>>>>>> operations that, as far as I can tell, had little in common. There's a
>>>>>>> possibility that they were list-item-related, but really there wasn't
>>>>>>> much commonality.
>>>>>>
>>>>>> FYI, I recently fixed a bug[fn:1] that could introduce uncommon random
>>>>>> lockups. Hopefully, it may be related to your problem (which is
>>>>>> different from Daimrod's).
>>>>>
>>>>> Thanks for the followup! I was watching Daimrod's thread, and also
>>>>> Matt's most recent posting -- that also seemed more relevant to my
>>>>> problems, which were almost solely confined to log/state notes. I've
>>>>> pulled the fix, and will let you know if I see any more problems.
>>>>
>>>> After feeling like I was running behind the bus for a few weeks, I may
>>>> have finally gotten something useful.
>>>>
>>>> FWIW I *haven't* seen any log-drawer related lockups for a while now,
>>>> not since Nicolas said he fixed some things in that direction. But in
>>>> the past couple of days I have had a few flyspell-related lockups, and
>>>> finally got an uncompiled backtrace.
>>>>
>>>> This has happened the same way a few times now. A longish, text-heavy
>>>> file, with only three top-level headlines (one of them a footnote
>>>> section), and no drawers of any sort anywhere in the document -- very
>>>> little Org markup at all, actually. The lockup starts at random, and
>>>> SIGUSR2 shows me a very short backtrace related to a flyspell-mode
>>>> related advice somewhere (I didn't save this one, it's byte-compiled, if
>>>> it's important I'll clean out more compiled files and try to get it
>>>> again).
>>>>
>>>> I recover from that lock, turn off flyspell-mode in my org buffer, and
>>>> within three or four commands Org locks up again. This time the
>>>> backtrace is related to org cache, here's the one I just got, after
>>>> calling org-end-of-line:
>>>>
>>>> http://pastebin.com/Q0g8DmUa
>>>>
>>>> Hope that's useful! Let me know if I can provide anything else.
>>>>
>>>> E
>>>>
>>>>
>>
>>
^ permalink raw reply [flat|nested] 70+ messages in thread
* Re: still seeing semi-regular lockups
2014-06-30 1:43 ` York Zhao
@ 2014-06-30 20:20 ` Alan Schmitt
2014-07-01 0:43 ` York Zhao
1 sibling, 0 replies; 70+ messages in thread
From: Alan Schmitt @ 2014-06-30 20:20 UTC (permalink / raw)
To: York Zhao; +Cc: Eric Abrahamsen, emacs-orgmode
[-- Attachment #1: Type: text/plain, Size: 431 bytes --]
On 2014-06-30 03:43, York Zhao <gtdplatform@gmail.com> writes:
> I know that doesn't help much except for confirming the problem other people was
> suffering. Sorry for the rant. I was too busy and too frustrated.
>
> By the way, what does ECM stands for?
Exemple Complet Minimal (French for minimal complete example)
http://orgmode.org/worg/org-faq.html#ecm
Best,
Alan
--
OpenPGP Key ID : 040D0A3B4ED2E5C7
[-- Attachment #2: Type: application/pgp-signature, Size: 494 bytes --]
^ permalink raw reply [flat|nested] 70+ messages in thread
* Re: still seeing semi-regular lockups
2014-06-30 1:43 ` York Zhao
2014-06-30 20:20 ` Alan Schmitt
@ 2014-07-01 0:43 ` York Zhao
2014-07-01 7:38 ` Nicolas Goaziou
2014-07-15 2:30 ` York Zhao
1 sibling, 2 replies; 70+ messages in thread
From: York Zhao @ 2014-07-01 0:43 UTC (permalink / raw)
To: Eric Abrahamsen; +Cc: emacs-orgmode
[-- Attachment #1: Type: text/plain, Size: 209 bytes --]
I got the problem today, with org-mode version "815c218" in Emacs 24.3.1. The
error message is: if: Lisp nesting exceeds `max-lisp-eval-depth'. Attached is
the backtrace saved in a file.
Hope this will help.
[-- Attachment #2: backtrace.txt --]
[-- Type: text/plain, Size: 542327 bytes --]
Debugger entered--Lisp error: (error "Lisp nesting exceeds `max-lisp-eval-depth'")
(progn (cancel-timer org-element--cache-sync-timer))
(if org-element--cache-sync-timer (progn (cancel-timer org-element--cache-sync-timer)))
(let ((inhibit-quit t) request next) (if org-element--cache-sync-timer (progn (cancel-timer org-element--cache-sync-timer))) (catch (quote interrupt) (while org-element--cache-sync-requests (setq request (car org-element--cache-sync-requests) next (nth 1 org-element--cache-sync-requests)) (org-element--cache-process-request request (and next (aref next 0)) threshold (and (not threshold) (time-add (current-time) org-element-cache-sync-duration)) (or extra 0)) (if next (progn (let* ((v next)) (aset v 3 (+ ... ...))) (aset next 2 (aref request 2)) (aset next 5 (aref request 5)))) (setq org-element--cache-sync-requests (cdr org-element--cache-sync-requests)))) (if org-element--cache-sync-requests (org-element--cache-set-timer buffer) (clrhash org-element--cache-sync-keys)))
(save-current-buffer (set-buffer buffer) (let ((inhibit-quit t) request next) (if org-element--cache-sync-timer (progn (cancel-timer org-element--cache-sync-timer))) (catch (quote interrupt) (while org-element--cache-sync-requests (setq request (car org-element--cache-sync-requests) next (nth 1 org-element--cache-sync-requests)) (org-element--cache-process-request request (and next (aref next 0)) threshold (and (not threshold) (time-add (current-time) org-element-cache-sync-duration)) (or extra 0)) (if next (progn (let* (...) (aset v 3 ...)) (aset next 2 (aref request 2)) (aset next 5 (aref request 5)))) (setq org-element--cache-sync-requests (cdr org-element--cache-sync-requests)))) (if org-element--cache-sync-requests (org-element--cache-set-timer buffer) (clrhash org-element--cache-sync-keys))))
(progn (save-current-buffer (set-buffer buffer) (let ((inhibit-quit t) request next) (if org-element--cache-sync-timer (progn (cancel-timer org-element--cache-sync-timer))) (catch (quote interrupt) (while org-element--cache-sync-requests (setq request (car org-element--cache-sync-requests) next (nth 1 org-element--cache-sync-requests)) (org-element--cache-process-request request (and next (aref next 0)) threshold (and (not threshold) (time-add ... org-element-cache-sync-duration)) (or extra 0)) (if next (progn (let* ... ...) (aset next 2 ...) (aset next 5 ...))) (setq org-element--cache-sync-requests (cdr org-element--cache-sync-requests)))) (if org-element--cache-sync-requests (org-element--cache-set-timer buffer) (clrhash org-element--cache-sync-keys)))))
(if (buffer-live-p buffer) (progn (save-current-buffer (set-buffer buffer) (let ((inhibit-quit t) request next) (if org-element--cache-sync-timer (progn (cancel-timer org-element--cache-sync-timer))) (catch (quote interrupt) (while org-element--cache-sync-requests (setq request (car org-element--cache-sync-requests) next (nth 1 org-element--cache-sync-requests)) (org-element--cache-process-request request (and next ...) threshold (and ... ...) (or extra 0)) (if next (progn ... ... ...)) (setq org-element--cache-sync-requests (cdr org-element--cache-sync-requests)))) (if org-element--cache-sync-requests (org-element--cache-set-timer buffer) (clrhash org-element--cache-sync-keys))))))
org-element--cache-sync(#<buffer English.org> 257280)
(if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync (current-buffer) origin))
(progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync (current-buffer) origin)))
(if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync (current-buffer) origin))))
(cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync (current-buffer) origin)))) (org-element--parse-to origin)))
(let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync (current-buffer) origin)))) (org-element--parse-to origin))))
(save-restriction (widen) (let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync ... origin)))) (org-element--parse-to origin)))))
(save-excursion (save-restriction (widen) (let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if ... ... ...))) (org-element--parse-to origin))))))
org-element-at-point()
(let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let ((p drawer)) (while (and (setq p (org-element-property :parent p)) (not (eq ... ...)))) (not p))) (progn (let ((end (org-element-property :contents-end drawer))) (if end (progn (forward-line) (while (< ... end) (if ... ...) (forward-line))))))))
(while (and (null plist) (re-search-forward org-property-start-re end t)) (let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let ((p drawer)) (while (and (setq p ...) (not ...))) (not p))) (progn (let ((end (org-element-property :contents-end drawer))) (if end (progn (forward-line) (while ... ... ...))))))))
(save-excursion (while (and (null plist) (re-search-forward org-property-start-re end t)) (let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let ((p drawer)) (while (and ... ...)) (not p))) (progn (let ((end ...)) (if end (progn ... ...))))))) plist)
(let ((end (save-excursion (let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (outline-next-heading)) (point))) plist) (save-excursion (while (and (null plist) (re-search-forward org-property-start-re end t)) (let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let (...) (while ...) (not p))) (progn (let (...) (if end ...)))))) plist))
(let* ((components (org-heading-components)) (level (nth 1 components)) (todo (nth 2 components)) (todo-type (and todo (if (member todo org-done-keywords) (quote done) (quote todo)))) (tags (let ((raw-tags (nth 5 components))) (and raw-tags (org-split-string raw-tags ":")))) (raw-value (or (nth 4 components) "")) (commentedp (let ((case-fold-search nil)) (string-match (format "^%s\\( \\|$\\)" org-comment-string) raw-value))) (archivedp (member org-archive-tag tags)) (footnote-section-p (and org-footnote-section (string= org-footnote-section raw-value))) (standard-props (let ((end (save-excursion (let* ... ...) (point))) plist) (save-excursion (while (and (null plist) (re-search-forward org-property-start-re end t)) (let (...) (if ... ...))) plist))) (time-props (save-excursion (forward-line) (if (looking-at org-planning-or-clock-line-re) (progn (let (... plist) (while ... ... ... ...) plist))))) (begin (point)) (end (min (save-excursion (org-end-of-subtree t t)) limit)) (pos-after-head (progn (forward-line) (point))) (contents-begin (save-excursion (skip-chars-forward " \r \n" end) (and (/= (point) end) (line-beginning-position)))) (contents-end (and contents-begin (progn (goto-char end) (skip-chars-backward " \r \n") (forward-line) (point))))) (if commentedp (progn (let ((case-fold-search nil)) (setq raw-value (replace-regexp-in-string (concat (regexp-quote org-comment-string) "\\(?: \\|$\\)") "" raw-value))))) (if archivedp (progn (setq tags (delete org-archive-tag tags)))) (let ((headline (list (quote headline) (nconc (list :raw-value raw-value :begin begin :end end :pre-blank (if ... 0 ...) :contents-begin contents-begin :contents-end contents-end :level level :priority (nth 3 components) :tags tags :todo-keyword todo :todo-type todo-type :post-blank (count-lines ... end) :footnote-section-p footnote-section-p :archivedp archivedp :commentedp commentedp) time-props standard-props)))) (let ((alt-title (org-element-property :ALT_TITLE headline))) (if alt-title (progn (org-element-put-property headline :alt-title (if raw-secondary-p alt-title (org-element-parse-secondary-string alt-title ... headline)))))) (org-element-put-property headline :title (if raw-secondary-p raw-value (org-element-parse-secondary-string raw-value (org-element-restriction (quote headline)) headline)))))
(save-excursion (let* ((components (org-heading-components)) (level (nth 1 components)) (todo (nth 2 components)) (todo-type (and todo (if (member todo org-done-keywords) (quote done) (quote todo)))) (tags (let ((raw-tags (nth 5 components))) (and raw-tags (org-split-string raw-tags ":")))) (raw-value (or (nth 4 components) "")) (commentedp (let ((case-fold-search nil)) (string-match (format "^%s\\( \\|$\\)" org-comment-string) raw-value))) (archivedp (member org-archive-tag tags)) (footnote-section-p (and org-footnote-section (string= org-footnote-section raw-value))) (standard-props (let ((end (save-excursion ... ...)) plist) (save-excursion (while (and ... ...) (let ... ...)) plist))) (time-props (save-excursion (forward-line) (if (looking-at org-planning-or-clock-line-re) (progn (let ... ... plist))))) (begin (point)) (end (min (save-excursion (org-end-of-subtree t t)) limit)) (pos-after-head (progn (forward-line) (point))) (contents-begin (save-excursion (skip-chars-forward " \r \n" end) (and (/= (point) end) (line-beginning-position)))) (contents-end (and contents-begin (progn (goto-char end) (skip-chars-backward " \r \n") (forward-line) (point))))) (if commentedp (progn (let ((case-fold-search nil)) (setq raw-value (replace-regexp-in-string (concat ... "\\(?: \\|$\\)") "" raw-value))))) (if archivedp (progn (setq tags (delete org-archive-tag tags)))) (let ((headline (list (quote headline) (nconc (list :raw-value raw-value :begin begin :end end :pre-blank ... :contents-begin contents-begin :contents-end contents-end :level level :priority ... :tags tags :todo-keyword todo :todo-type todo-type :post-blank ... :footnote-section-p footnote-section-p :archivedp archivedp :commentedp commentedp) time-props standard-props)))) (let ((alt-title (org-element-property :ALT_TITLE headline))) (if alt-title (progn (org-element-put-property headline :alt-title (if raw-secondary-p alt-title ...))))) (org-element-put-property headline :title (if raw-secondary-p raw-value (org-element-parse-secondary-string raw-value (org-element-restriction (quote headline)) headline))))))
org-element-headline-parser(257706 t)
(cond ((eq special (quote item)) (org-element-item-parser limit structure raw-secondary-p)) ((eq special (quote table-row)) (org-element-table-row-parser limit)) ((eq special (quote node-property)) (org-element-node-property-parser limit)) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (org-element-headline-parser limit raw-secondary-p)) ((eq special (quote section)) (org-element-section-parser limit)) ((eq special (quote first-section)) (org-element-section-parser (or (save-excursion (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (outline-next-heading))) limit))) ((not (bolp)) (org-element-paragraph-parser limit (list (point)))) ((looking-at org-planning-or-clock-line-re) (if (equal (match-string 1) org-clock-string) (org-element-clock-parser limit) (org-element-planning-parser limit))) ((org-at-heading-p) (org-element-inlinetask-parser limit raw-secondary-p)) (t (let ((affiliated (org-element--collect-affiliated-keywords limit))) (cond ((and (cdr affiliated) (>= (point) limit)) (goto-char (car affiliated)) (org-element-keyword-parser limit nil)) ((looking-at "[ ]*\\\\begin{[A-Za-z0-9*]+}\\(\\[.*?\\]\\|{.*?}\\)*[ ]*$") (org-element-latex-environment-parser limit affiliated)) ((looking-at org-drawer-regexp) (if (equal (match-string 1) "PROPERTIES") (org-element-property-drawer-parser limit affiliated) (org-element-drawer-parser limit affiliated))) ((looking-at "[ ]*:\\( \\|$\\)") (org-element-fixed-width-parser limit affiliated)) ((looking-at "[ ]*#") (goto-char (match-end 0)) (cond ((looking-at "\\(?: \\|$\\)") (beginning-of-line) (org-element-comment-parser limit affiliated)) ((looking-at "\\+BEGIN_\\(\\S-+\\)") (beginning-of-line) (let ... ...)) ((looking-at "\\+CALL:") (beginning-of-line) (org-element-babel-call-parser limit affiliated)) ((looking-at "\\+BEGIN:? ") (beginning-of-line) (org-element-dynamic-block-parser limit affiliated)) ((looking-at "\\+\\S-+:") (beginning-of-line) (org-element-keyword-parser limit affiliated)) (t (beginning-of-line) (org-element-paragraph-parser limit affiliated)))) ((looking-at org-footnote-definition-re) (org-element-footnote-definition-parser limit affiliated)) ((looking-at "[ ]*-\\{5,\\}[ ]*$") (org-element-horizontal-rule-parser limit affiliated)) ((looking-at "%%(") (org-element-diary-sexp-parser limit affiliated)) ((org-at-table-p t) (org-element-table-parser limit affiliated)) ((looking-at (org-item-re)) (org-element-plain-list-parser limit affiliated (or structure (org-element--list-struct limit)))) (t (org-element-paragraph-parser limit affiliated))))))
(let ((case-fold-search t) (raw-secondary-p (and granularity (not (eq granularity (quote object)))))) (cond ((eq special (quote item)) (org-element-item-parser limit structure raw-secondary-p)) ((eq special (quote table-row)) (org-element-table-row-parser limit)) ((eq special (quote node-property)) (org-element-node-property-parser limit)) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (org-element-headline-parser limit raw-secondary-p)) ((eq special (quote section)) (org-element-section-parser limit)) ((eq special (quote first-section)) (org-element-section-parser (or (save-excursion (let* (... ... ... ...) (outline-next-heading))) limit))) ((not (bolp)) (org-element-paragraph-parser limit (list (point)))) ((looking-at org-planning-or-clock-line-re) (if (equal (match-string 1) org-clock-string) (org-element-clock-parser limit) (org-element-planning-parser limit))) ((org-at-heading-p) (org-element-inlinetask-parser limit raw-secondary-p)) (t (let ((affiliated (org-element--collect-affiliated-keywords limit))) (cond ((and (cdr affiliated) (>= ... limit)) (goto-char (car affiliated)) (org-element-keyword-parser limit nil)) ((looking-at "[ ]*\\\\begin{[A-Za-z0-9*]+}\\(\\[.*?\\]\\|{.*?}\\)*[ ]*$") (org-element-latex-environment-parser limit affiliated)) ((looking-at org-drawer-regexp) (if (equal ... "PROPERTIES") (org-element-property-drawer-parser limit affiliated) (org-element-drawer-parser limit affiliated))) ((looking-at "[ ]*:\\( \\|$\\)") (org-element-fixed-width-parser limit affiliated)) ((looking-at "[ ]*#") (goto-char (match-end 0)) (cond (... ... ...) (... ... ...) (... ... ...) (... ... ...) (... ... ...) (t ... ...))) ((looking-at org-footnote-definition-re) (org-element-footnote-definition-parser limit affiliated)) ((looking-at "[ ]*-\\{5,\\}[ ]*$") (org-element-horizontal-rule-parser limit affiliated)) ((looking-at "%%(") (org-element-diary-sexp-parser limit affiliated)) ((org-at-table-p t) (org-element-table-parser limit affiliated)) ((looking-at (org-item-re)) (org-element-plain-list-parser limit affiliated (or structure ...))) (t (org-element-paragraph-parser limit affiliated)))))))
(save-excursion (let ((case-fold-search t) (raw-secondary-p (and granularity (not (eq granularity (quote object)))))) (cond ((eq special (quote item)) (org-element-item-parser limit structure raw-secondary-p)) ((eq special (quote table-row)) (org-element-table-row-parser limit)) ((eq special (quote node-property)) (org-element-node-property-parser limit)) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (org-element-headline-parser limit raw-secondary-p)) ((eq special (quote section)) (org-element-section-parser limit)) ((eq special (quote first-section)) (org-element-section-parser (or (save-excursion (let* ... ...)) limit))) ((not (bolp)) (org-element-paragraph-parser limit (list (point)))) ((looking-at org-planning-or-clock-line-re) (if (equal (match-string 1) org-clock-string) (org-element-clock-parser limit) (org-element-planning-parser limit))) ((org-at-heading-p) (org-element-inlinetask-parser limit raw-secondary-p)) (t (let ((affiliated (org-element--collect-affiliated-keywords limit))) (cond ((and ... ...) (goto-char ...) (org-element-keyword-parser limit nil)) ((looking-at "[ ]*\\\\begin{[A-Za-z0-9*]+}\\(\\[.*?\\]\\|{.*?}\\)*[ ]*$") (org-element-latex-environment-parser limit affiliated)) ((looking-at org-drawer-regexp) (if ... ... ...)) ((looking-at "[ ]*:\\( \\|$\\)") (org-element-fixed-width-parser limit affiliated)) ((looking-at "[ ]*#") (goto-char ...) (cond ... ... ... ... ... ...)) ((looking-at org-footnote-definition-re) (org-element-footnote-definition-parser limit affiliated)) ((looking-at "[ ]*-\\{5,\\}[ ]*$") (org-element-horizontal-rule-parser limit affiliated)) ((looking-at "%%(") (org-element-diary-sexp-parser limit affiliated)) ((org-at-table-p t) (org-element-table-parser limit affiliated)) ((looking-at ...) (org-element-plain-list-parser limit affiliated ...)) (t (org-element-paragraph-parser limit affiliated))))))))
org-element--current-element(257706 element nil nil)
(setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent)))
(if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element))
(while t (if syncp (progn (cond ((= (point) pos) (throw (quote exit) parent)) ((org-element--cache-interrupt-p time-limit) (throw (quote interrupt) nil))))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and (<= elem-end pos) (/= (point-max) elem-end)) (goto-char elem-end)) ((not (memq type org-element-greater-elements)) (throw (quote exit) element)) ((let ((cbeg (org-element-property :contents-begin element)) (cend (org-element-property :contents-end element))) (if (or syncp (and cbeg cend ... ...)) (progn (goto-char ...) (setq next nil special-flag ... parent element end cend))))) (t (throw (quote exit) element)))) (setq element nil))
(let ((end (or (org-element-property :end element) (save-excursion (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (outline-next-heading)) (point)))) (parent element) special-flag) (while t (if syncp (progn (cond ((= (point) pos) (throw (quote exit) parent)) ((org-element--cache-interrupt-p time-limit) (throw (quote interrupt) nil))))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and (<= elem-end pos) (/= (point-max) elem-end)) (goto-char elem-end)) ((not (memq type org-element-greater-elements)) (throw (quote exit) element)) ((let ((cbeg ...) (cend ...)) (if (or syncp ...) (progn ... ...)))) (t (throw (quote exit) element)))) (setq element nil)))
(let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (outline-previous-heading)) (progn (forward-line))) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp (org-element-property :parent cached) cached))) ((re-search-backward (let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let ((up cached) (pos (if (= ... pos) (1- pos) pos))) (goto-char (or (org-element-property :contents-begin cached) begin)) (while (let ((end ...)) (and (<= end pos) (goto-char end) (setq up ...)))) (cond ((not up)) ((eobp) (setq element up)) (t (setq element up next (point))))))) (let ((end (or (org-element-property :end element) (save-excursion (let* (... ... ... ...) (outline-next-heading)) (point)))) (parent element) special-flag) (while t (if syncp (progn (cond ((= ... pos) (throw ... parent)) ((org-element--cache-interrupt-p time-limit) (throw ... nil))))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and (<= elem-end pos) (/= ... elem-end)) (goto-char elem-end)) ((not (memq type org-element-greater-elements)) (throw (quote exit) element)) ((let (... ...) (if ... ...))) (t (throw (quote exit) element)))) (setq element nil))))
(save-restriction (widen) (goto-char pos) (let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (outline-previous-heading)) (progn (forward-line))) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp (org-element-property :parent cached) cached))) ((re-search-backward (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let ((up cached) (pos (if ... ... pos))) (goto-char (or (org-element-property :contents-begin cached) begin)) (while (let (...) (and ... ... ...))) (cond ((not up)) ((eobp) (setq element up)) (t (setq element up next ...)))))) (let ((end (or (org-element-property :end element) (save-excursion (let* ... ...) (point)))) (parent element) special-flag) (while t (if syncp (progn (cond (... ...) (... ...)))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and ... ...) (goto-char elem-end)) ((not ...) (throw ... element)) ((let ... ...)) (t (throw ... element)))) (setq element nil)))))
(save-excursion (save-restriction (widen) (goto-char pos) (let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* (... ... ... ...) (outline-previous-heading)) (progn (forward-line))) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp (org-element-property :parent cached) cached))) ((re-search-backward (let* (... ... ... ...) org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let ((up cached) (pos ...)) (goto-char (or ... begin)) (while (let ... ...)) (cond (...) (... ...) (t ...))))) (let ((end (or (org-element-property :end element) (save-excursion ... ...))) (parent element) special-flag) (while t (if syncp (progn (cond ... ...))) (if element nil (setq element (org-element--current-element end ... special-flag ...)) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end ...) (type ...)) (cond (... ...) (... ...) (...) (t ...))) (setq element nil))))))
(catch (quote exit) (save-excursion (save-restriction (widen) (goto-char pos) (let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* ... ...) (progn ...)) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp ... cached))) ((re-search-backward (let* ... org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let (... ...) (goto-char ...) (while ...) (cond ... ... ...)))) (let ((end (or ... ...)) (parent element) special-flag) (while t (if syncp (progn ...)) (if element nil (setq element ...) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let (... ...) (cond ... ... ... ...)) (setq element nil)))))))
org-element--parse-to(257280)
(cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync (current-buffer) origin)))) (org-element--parse-to origin)))
(let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync (current-buffer) origin)))) (org-element--parse-to origin))))
(save-restriction (widen) (let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync ... origin)))) (org-element--parse-to origin)))))
(save-excursion (save-restriction (widen) (let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if ... ... ...))) (org-element--parse-to origin))))))
org-element-at-point()
(let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let ((p drawer)) (while (and (setq p (org-element-property :parent p)) (not (eq ... ...)))) (not p))) (progn (let ((end (org-element-property :contents-end drawer))) (if end (progn (forward-line) (while (< ... end) (if ... ...) (forward-line))))))))
(while (and (null plist) (re-search-forward org-property-start-re end t)) (let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let ((p drawer)) (while (and (setq p ...) (not ...))) (not p))) (progn (let ((end (org-element-property :contents-end drawer))) (if end (progn (forward-line) (while ... ... ...))))))))
(save-excursion (while (and (null plist) (re-search-forward org-property-start-re end t)) (let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let ((p drawer)) (while (and ... ...)) (not p))) (progn (let ((end ...)) (if end (progn ... ...))))))) plist)
(let ((end (save-excursion (let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (outline-next-heading)) (point))) plist) (save-excursion (while (and (null plist) (re-search-forward org-property-start-re end t)) (let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let (...) (while ...) (not p))) (progn (let (...) (if end ...)))))) plist))
(let* ((components (org-heading-components)) (level (nth 1 components)) (todo (nth 2 components)) (todo-type (and todo (if (member todo org-done-keywords) (quote done) (quote todo)))) (tags (let ((raw-tags (nth 5 components))) (and raw-tags (org-split-string raw-tags ":")))) (raw-value (or (nth 4 components) "")) (commentedp (let ((case-fold-search nil)) (string-match (format "^%s\\( \\|$\\)" org-comment-string) raw-value))) (archivedp (member org-archive-tag tags)) (footnote-section-p (and org-footnote-section (string= org-footnote-section raw-value))) (standard-props (let ((end (save-excursion (let* ... ...) (point))) plist) (save-excursion (while (and (null plist) (re-search-forward org-property-start-re end t)) (let (...) (if ... ...))) plist))) (time-props (save-excursion (forward-line) (if (looking-at org-planning-or-clock-line-re) (progn (let (... plist) (while ... ... ... ...) plist))))) (begin (point)) (end (min (save-excursion (org-end-of-subtree t t)) limit)) (pos-after-head (progn (forward-line) (point))) (contents-begin (save-excursion (skip-chars-forward " \r \n" end) (and (/= (point) end) (line-beginning-position)))) (contents-end (and contents-begin (progn (goto-char end) (skip-chars-backward " \r \n") (forward-line) (point))))) (if commentedp (progn (let ((case-fold-search nil)) (setq raw-value (replace-regexp-in-string (concat (regexp-quote org-comment-string) "\\(?: \\|$\\)") "" raw-value))))) (if archivedp (progn (setq tags (delete org-archive-tag tags)))) (let ((headline (list (quote headline) (nconc (list :raw-value raw-value :begin begin :end end :pre-blank (if ... 0 ...) :contents-begin contents-begin :contents-end contents-end :level level :priority (nth 3 components) :tags tags :todo-keyword todo :todo-type todo-type :post-blank (count-lines ... end) :footnote-section-p footnote-section-p :archivedp archivedp :commentedp commentedp) time-props standard-props)))) (let ((alt-title (org-element-property :ALT_TITLE headline))) (if alt-title (progn (org-element-put-property headline :alt-title (if raw-secondary-p alt-title (org-element-parse-secondary-string alt-title ... headline)))))) (org-element-put-property headline :title (if raw-secondary-p raw-value (org-element-parse-secondary-string raw-value (org-element-restriction (quote headline)) headline)))))
(save-excursion (let* ((components (org-heading-components)) (level (nth 1 components)) (todo (nth 2 components)) (todo-type (and todo (if (member todo org-done-keywords) (quote done) (quote todo)))) (tags (let ((raw-tags (nth 5 components))) (and raw-tags (org-split-string raw-tags ":")))) (raw-value (or (nth 4 components) "")) (commentedp (let ((case-fold-search nil)) (string-match (format "^%s\\( \\|$\\)" org-comment-string) raw-value))) (archivedp (member org-archive-tag tags)) (footnote-section-p (and org-footnote-section (string= org-footnote-section raw-value))) (standard-props (let ((end (save-excursion ... ...)) plist) (save-excursion (while (and ... ...) (let ... ...)) plist))) (time-props (save-excursion (forward-line) (if (looking-at org-planning-or-clock-line-re) (progn (let ... ... plist))))) (begin (point)) (end (min (save-excursion (org-end-of-subtree t t)) limit)) (pos-after-head (progn (forward-line) (point))) (contents-begin (save-excursion (skip-chars-forward " \r \n" end) (and (/= (point) end) (line-beginning-position)))) (contents-end (and contents-begin (progn (goto-char end) (skip-chars-backward " \r \n") (forward-line) (point))))) (if commentedp (progn (let ((case-fold-search nil)) (setq raw-value (replace-regexp-in-string (concat ... "\\(?: \\|$\\)") "" raw-value))))) (if archivedp (progn (setq tags (delete org-archive-tag tags)))) (let ((headline (list (quote headline) (nconc (list :raw-value raw-value :begin begin :end end :pre-blank ... :contents-begin contents-begin :contents-end contents-end :level level :priority ... :tags tags :todo-keyword todo :todo-type todo-type :post-blank ... :footnote-section-p footnote-section-p :archivedp archivedp :commentedp commentedp) time-props standard-props)))) (let ((alt-title (org-element-property :ALT_TITLE headline))) (if alt-title (progn (org-element-put-property headline :alt-title (if raw-secondary-p alt-title ...))))) (org-element-put-property headline :title (if raw-secondary-p raw-value (org-element-parse-secondary-string raw-value (org-element-restriction (quote headline)) headline))))))
org-element-headline-parser(257706 t)
(cond ((eq special (quote item)) (org-element-item-parser limit structure raw-secondary-p)) ((eq special (quote table-row)) (org-element-table-row-parser limit)) ((eq special (quote node-property)) (org-element-node-property-parser limit)) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (org-element-headline-parser limit raw-secondary-p)) ((eq special (quote section)) (org-element-section-parser limit)) ((eq special (quote first-section)) (org-element-section-parser (or (save-excursion (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (outline-next-heading))) limit))) ((not (bolp)) (org-element-paragraph-parser limit (list (point)))) ((looking-at org-planning-or-clock-line-re) (if (equal (match-string 1) org-clock-string) (org-element-clock-parser limit) (org-element-planning-parser limit))) ((org-at-heading-p) (org-element-inlinetask-parser limit raw-secondary-p)) (t (let ((affiliated (org-element--collect-affiliated-keywords limit))) (cond ((and (cdr affiliated) (>= (point) limit)) (goto-char (car affiliated)) (org-element-keyword-parser limit nil)) ((looking-at "[ ]*\\\\begin{[A-Za-z0-9*]+}\\(\\[.*?\\]\\|{.*?}\\)*[ ]*$") (org-element-latex-environment-parser limit affiliated)) ((looking-at org-drawer-regexp) (if (equal (match-string 1) "PROPERTIES") (org-element-property-drawer-parser limit affiliated) (org-element-drawer-parser limit affiliated))) ((looking-at "[ ]*:\\( \\|$\\)") (org-element-fixed-width-parser limit affiliated)) ((looking-at "[ ]*#") (goto-char (match-end 0)) (cond ((looking-at "\\(?: \\|$\\)") (beginning-of-line) (org-element-comment-parser limit affiliated)) ((looking-at "\\+BEGIN_\\(\\S-+\\)") (beginning-of-line) (let ... ...)) ((looking-at "\\+CALL:") (beginning-of-line) (org-element-babel-call-parser limit affiliated)) ((looking-at "\\+BEGIN:? ") (beginning-of-line) (org-element-dynamic-block-parser limit affiliated)) ((looking-at "\\+\\S-+:") (beginning-of-line) (org-element-keyword-parser limit affiliated)) (t (beginning-of-line) (org-element-paragraph-parser limit affiliated)))) ((looking-at org-footnote-definition-re) (org-element-footnote-definition-parser limit affiliated)) ((looking-at "[ ]*-\\{5,\\}[ ]*$") (org-element-horizontal-rule-parser limit affiliated)) ((looking-at "%%(") (org-element-diary-sexp-parser limit affiliated)) ((org-at-table-p t) (org-element-table-parser limit affiliated)) ((looking-at (org-item-re)) (org-element-plain-list-parser limit affiliated (or structure (org-element--list-struct limit)))) (t (org-element-paragraph-parser limit affiliated))))))
(let ((case-fold-search t) (raw-secondary-p (and granularity (not (eq granularity (quote object)))))) (cond ((eq special (quote item)) (org-element-item-parser limit structure raw-secondary-p)) ((eq special (quote table-row)) (org-element-table-row-parser limit)) ((eq special (quote node-property)) (org-element-node-property-parser limit)) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (org-element-headline-parser limit raw-secondary-p)) ((eq special (quote section)) (org-element-section-parser limit)) ((eq special (quote first-section)) (org-element-section-parser (or (save-excursion (let* (... ... ... ...) (outline-next-heading))) limit))) ((not (bolp)) (org-element-paragraph-parser limit (list (point)))) ((looking-at org-planning-or-clock-line-re) (if (equal (match-string 1) org-clock-string) (org-element-clock-parser limit) (org-element-planning-parser limit))) ((org-at-heading-p) (org-element-inlinetask-parser limit raw-secondary-p)) (t (let ((affiliated (org-element--collect-affiliated-keywords limit))) (cond ((and (cdr affiliated) (>= ... limit)) (goto-char (car affiliated)) (org-element-keyword-parser limit nil)) ((looking-at "[ ]*\\\\begin{[A-Za-z0-9*]+}\\(\\[.*?\\]\\|{.*?}\\)*[ ]*$") (org-element-latex-environment-parser limit affiliated)) ((looking-at org-drawer-regexp) (if (equal ... "PROPERTIES") (org-element-property-drawer-parser limit affiliated) (org-element-drawer-parser limit affiliated))) ((looking-at "[ ]*:\\( \\|$\\)") (org-element-fixed-width-parser limit affiliated)) ((looking-at "[ ]*#") (goto-char (match-end 0)) (cond (... ... ...) (... ... ...) (... ... ...) (... ... ...) (... ... ...) (t ... ...))) ((looking-at org-footnote-definition-re) (org-element-footnote-definition-parser limit affiliated)) ((looking-at "[ ]*-\\{5,\\}[ ]*$") (org-element-horizontal-rule-parser limit affiliated)) ((looking-at "%%(") (org-element-diary-sexp-parser limit affiliated)) ((org-at-table-p t) (org-element-table-parser limit affiliated)) ((looking-at (org-item-re)) (org-element-plain-list-parser limit affiliated (or structure ...))) (t (org-element-paragraph-parser limit affiliated)))))))
(save-excursion (let ((case-fold-search t) (raw-secondary-p (and granularity (not (eq granularity (quote object)))))) (cond ((eq special (quote item)) (org-element-item-parser limit structure raw-secondary-p)) ((eq special (quote table-row)) (org-element-table-row-parser limit)) ((eq special (quote node-property)) (org-element-node-property-parser limit)) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (org-element-headline-parser limit raw-secondary-p)) ((eq special (quote section)) (org-element-section-parser limit)) ((eq special (quote first-section)) (org-element-section-parser (or (save-excursion (let* ... ...)) limit))) ((not (bolp)) (org-element-paragraph-parser limit (list (point)))) ((looking-at org-planning-or-clock-line-re) (if (equal (match-string 1) org-clock-string) (org-element-clock-parser limit) (org-element-planning-parser limit))) ((org-at-heading-p) (org-element-inlinetask-parser limit raw-secondary-p)) (t (let ((affiliated (org-element--collect-affiliated-keywords limit))) (cond ((and ... ...) (goto-char ...) (org-element-keyword-parser limit nil)) ((looking-at "[ ]*\\\\begin{[A-Za-z0-9*]+}\\(\\[.*?\\]\\|{.*?}\\)*[ ]*$") (org-element-latex-environment-parser limit affiliated)) ((looking-at org-drawer-regexp) (if ... ... ...)) ((looking-at "[ ]*:\\( \\|$\\)") (org-element-fixed-width-parser limit affiliated)) ((looking-at "[ ]*#") (goto-char ...) (cond ... ... ... ... ... ...)) ((looking-at org-footnote-definition-re) (org-element-footnote-definition-parser limit affiliated)) ((looking-at "[ ]*-\\{5,\\}[ ]*$") (org-element-horizontal-rule-parser limit affiliated)) ((looking-at "%%(") (org-element-diary-sexp-parser limit affiliated)) ((org-at-table-p t) (org-element-table-parser limit affiliated)) ((looking-at ...) (org-element-plain-list-parser limit affiliated ...)) (t (org-element-paragraph-parser limit affiliated))))))))
org-element--current-element(257706 element nil nil)
(setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent)))
(if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element))
(while t (if syncp (progn (cond ((= (point) pos) (throw (quote exit) parent)) ((org-element--cache-interrupt-p time-limit) (throw (quote interrupt) nil))))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and (<= elem-end pos) (/= (point-max) elem-end)) (goto-char elem-end)) ((not (memq type org-element-greater-elements)) (throw (quote exit) element)) ((let ((cbeg (org-element-property :contents-begin element)) (cend (org-element-property :contents-end element))) (if (or syncp (and cbeg cend ... ...)) (progn (goto-char ...) (setq next nil special-flag ... parent element end cend))))) (t (throw (quote exit) element)))) (setq element nil))
(let ((end (or (org-element-property :end element) (save-excursion (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (outline-next-heading)) (point)))) (parent element) special-flag) (while t (if syncp (progn (cond ((= (point) pos) (throw (quote exit) parent)) ((org-element--cache-interrupt-p time-limit) (throw (quote interrupt) nil))))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and (<= elem-end pos) (/= (point-max) elem-end)) (goto-char elem-end)) ((not (memq type org-element-greater-elements)) (throw (quote exit) element)) ((let ((cbeg ...) (cend ...)) (if (or syncp ...) (progn ... ...)))) (t (throw (quote exit) element)))) (setq element nil)))
(let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (outline-previous-heading)) (progn (forward-line))) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp (org-element-property :parent cached) cached))) ((re-search-backward (let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let ((up cached) (pos (if (= ... pos) (1- pos) pos))) (goto-char (or (org-element-property :contents-begin cached) begin)) (while (let ((end ...)) (and (<= end pos) (goto-char end) (setq up ...)))) (cond ((not up)) ((eobp) (setq element up)) (t (setq element up next (point))))))) (let ((end (or (org-element-property :end element) (save-excursion (let* (... ... ... ...) (outline-next-heading)) (point)))) (parent element) special-flag) (while t (if syncp (progn (cond ((= ... pos) (throw ... parent)) ((org-element--cache-interrupt-p time-limit) (throw ... nil))))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and (<= elem-end pos) (/= ... elem-end)) (goto-char elem-end)) ((not (memq type org-element-greater-elements)) (throw (quote exit) element)) ((let (... ...) (if ... ...))) (t (throw (quote exit) element)))) (setq element nil))))
(save-restriction (widen) (goto-char pos) (let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (outline-previous-heading)) (progn (forward-line))) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp (org-element-property :parent cached) cached))) ((re-search-backward (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let ((up cached) (pos (if ... ... pos))) (goto-char (or (org-element-property :contents-begin cached) begin)) (while (let (...) (and ... ... ...))) (cond ((not up)) ((eobp) (setq element up)) (t (setq element up next ...)))))) (let ((end (or (org-element-property :end element) (save-excursion (let* ... ...) (point)))) (parent element) special-flag) (while t (if syncp (progn (cond (... ...) (... ...)))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and ... ...) (goto-char elem-end)) ((not ...) (throw ... element)) ((let ... ...)) (t (throw ... element)))) (setq element nil)))))
(save-excursion (save-restriction (widen) (goto-char pos) (let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* (... ... ... ...) (outline-previous-heading)) (progn (forward-line))) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp (org-element-property :parent cached) cached))) ((re-search-backward (let* (... ... ... ...) org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let ((up cached) (pos ...)) (goto-char (or ... begin)) (while (let ... ...)) (cond (...) (... ...) (t ...))))) (let ((end (or (org-element-property :end element) (save-excursion ... ...))) (parent element) special-flag) (while t (if syncp (progn (cond ... ...))) (if element nil (setq element (org-element--current-element end ... special-flag ...)) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end ...) (type ...)) (cond (... ...) (... ...) (...) (t ...))) (setq element nil))))))
(catch (quote exit) (save-excursion (save-restriction (widen) (goto-char pos) (let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* ... ...) (progn ...)) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp ... cached))) ((re-search-backward (let* ... org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let (... ...) (goto-char ...) (while ...) (cond ... ... ...)))) (let ((end (or ... ...)) (parent element) special-flag) (while t (if syncp (progn ...)) (if element nil (setq element ...) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let (... ...) (cond ... ... ... ...)) (setq element nil)))))))
org-element--parse-to(257280)
(cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync (current-buffer) origin)))) (org-element--parse-to origin)))
(let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync (current-buffer) origin)))) (org-element--parse-to origin))))
(save-restriction (widen) (let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync ... origin)))) (org-element--parse-to origin)))))
(save-excursion (save-restriction (widen) (let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if ... ... ...))) (org-element--parse-to origin))))))
org-element-at-point()
(let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let ((p drawer)) (while (and (setq p (org-element-property :parent p)) (not (eq ... ...)))) (not p))) (progn (let ((end (org-element-property :contents-end drawer))) (if end (progn (forward-line) (while (< ... end) (if ... ...) (forward-line))))))))
(while (and (null plist) (re-search-forward org-property-start-re end t)) (let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let ((p drawer)) (while (and (setq p ...) (not ...))) (not p))) (progn (let ((end (org-element-property :contents-end drawer))) (if end (progn (forward-line) (while ... ... ...))))))))
(save-excursion (while (and (null plist) (re-search-forward org-property-start-re end t)) (let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let ((p drawer)) (while (and ... ...)) (not p))) (progn (let ((end ...)) (if end (progn ... ...))))))) plist)
(let ((end (save-excursion (let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (outline-next-heading)) (point))) plist) (save-excursion (while (and (null plist) (re-search-forward org-property-start-re end t)) (let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let (...) (while ...) (not p))) (progn (let (...) (if end ...)))))) plist))
(let* ((components (org-heading-components)) (level (nth 1 components)) (todo (nth 2 components)) (todo-type (and todo (if (member todo org-done-keywords) (quote done) (quote todo)))) (tags (let ((raw-tags (nth 5 components))) (and raw-tags (org-split-string raw-tags ":")))) (raw-value (or (nth 4 components) "")) (commentedp (let ((case-fold-search nil)) (string-match (format "^%s\\( \\|$\\)" org-comment-string) raw-value))) (archivedp (member org-archive-tag tags)) (footnote-section-p (and org-footnote-section (string= org-footnote-section raw-value))) (standard-props (let ((end (save-excursion (let* ... ...) (point))) plist) (save-excursion (while (and (null plist) (re-search-forward org-property-start-re end t)) (let (...) (if ... ...))) plist))) (time-props (save-excursion (forward-line) (if (looking-at org-planning-or-clock-line-re) (progn (let (... plist) (while ... ... ... ...) plist))))) (begin (point)) (end (min (save-excursion (org-end-of-subtree t t)) limit)) (pos-after-head (progn (forward-line) (point))) (contents-begin (save-excursion (skip-chars-forward " \r \n" end) (and (/= (point) end) (line-beginning-position)))) (contents-end (and contents-begin (progn (goto-char end) (skip-chars-backward " \r \n") (forward-line) (point))))) (if commentedp (progn (let ((case-fold-search nil)) (setq raw-value (replace-regexp-in-string (concat (regexp-quote org-comment-string) "\\(?: \\|$\\)") "" raw-value))))) (if archivedp (progn (setq tags (delete org-archive-tag tags)))) (let ((headline (list (quote headline) (nconc (list :raw-value raw-value :begin begin :end end :pre-blank (if ... 0 ...) :contents-begin contents-begin :contents-end contents-end :level level :priority (nth 3 components) :tags tags :todo-keyword todo :todo-type todo-type :post-blank (count-lines ... end) :footnote-section-p footnote-section-p :archivedp archivedp :commentedp commentedp) time-props standard-props)))) (let ((alt-title (org-element-property :ALT_TITLE headline))) (if alt-title (progn (org-element-put-property headline :alt-title (if raw-secondary-p alt-title (org-element-parse-secondary-string alt-title ... headline)))))) (org-element-put-property headline :title (if raw-secondary-p raw-value (org-element-parse-secondary-string raw-value (org-element-restriction (quote headline)) headline)))))
(save-excursion (let* ((components (org-heading-components)) (level (nth 1 components)) (todo (nth 2 components)) (todo-type (and todo (if (member todo org-done-keywords) (quote done) (quote todo)))) (tags (let ((raw-tags (nth 5 components))) (and raw-tags (org-split-string raw-tags ":")))) (raw-value (or (nth 4 components) "")) (commentedp (let ((case-fold-search nil)) (string-match (format "^%s\\( \\|$\\)" org-comment-string) raw-value))) (archivedp (member org-archive-tag tags)) (footnote-section-p (and org-footnote-section (string= org-footnote-section raw-value))) (standard-props (let ((end (save-excursion ... ...)) plist) (save-excursion (while (and ... ...) (let ... ...)) plist))) (time-props (save-excursion (forward-line) (if (looking-at org-planning-or-clock-line-re) (progn (let ... ... plist))))) (begin (point)) (end (min (save-excursion (org-end-of-subtree t t)) limit)) (pos-after-head (progn (forward-line) (point))) (contents-begin (save-excursion (skip-chars-forward " \r \n" end) (and (/= (point) end) (line-beginning-position)))) (contents-end (and contents-begin (progn (goto-char end) (skip-chars-backward " \r \n") (forward-line) (point))))) (if commentedp (progn (let ((case-fold-search nil)) (setq raw-value (replace-regexp-in-string (concat ... "\\(?: \\|$\\)") "" raw-value))))) (if archivedp (progn (setq tags (delete org-archive-tag tags)))) (let ((headline (list (quote headline) (nconc (list :raw-value raw-value :begin begin :end end :pre-blank ... :contents-begin contents-begin :contents-end contents-end :level level :priority ... :tags tags :todo-keyword todo :todo-type todo-type :post-blank ... :footnote-section-p footnote-section-p :archivedp archivedp :commentedp commentedp) time-props standard-props)))) (let ((alt-title (org-element-property :ALT_TITLE headline))) (if alt-title (progn (org-element-put-property headline :alt-title (if raw-secondary-p alt-title ...))))) (org-element-put-property headline :title (if raw-secondary-p raw-value (org-element-parse-secondary-string raw-value (org-element-restriction (quote headline)) headline))))))
org-element-headline-parser(257706 t)
(cond ((eq special (quote item)) (org-element-item-parser limit structure raw-secondary-p)) ((eq special (quote table-row)) (org-element-table-row-parser limit)) ((eq special (quote node-property)) (org-element-node-property-parser limit)) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (org-element-headline-parser limit raw-secondary-p)) ((eq special (quote section)) (org-element-section-parser limit)) ((eq special (quote first-section)) (org-element-section-parser (or (save-excursion (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (outline-next-heading))) limit))) ((not (bolp)) (org-element-paragraph-parser limit (list (point)))) ((looking-at org-planning-or-clock-line-re) (if (equal (match-string 1) org-clock-string) (org-element-clock-parser limit) (org-element-planning-parser limit))) ((org-at-heading-p) (org-element-inlinetask-parser limit raw-secondary-p)) (t (let ((affiliated (org-element--collect-affiliated-keywords limit))) (cond ((and (cdr affiliated) (>= (point) limit)) (goto-char (car affiliated)) (org-element-keyword-parser limit nil)) ((looking-at "[ ]*\\\\begin{[A-Za-z0-9*]+}\\(\\[.*?\\]\\|{.*?}\\)*[ ]*$") (org-element-latex-environment-parser limit affiliated)) ((looking-at org-drawer-regexp) (if (equal (match-string 1) "PROPERTIES") (org-element-property-drawer-parser limit affiliated) (org-element-drawer-parser limit affiliated))) ((looking-at "[ ]*:\\( \\|$\\)") (org-element-fixed-width-parser limit affiliated)) ((looking-at "[ ]*#") (goto-char (match-end 0)) (cond ((looking-at "\\(?: \\|$\\)") (beginning-of-line) (org-element-comment-parser limit affiliated)) ((looking-at "\\+BEGIN_\\(\\S-+\\)") (beginning-of-line) (let ... ...)) ((looking-at "\\+CALL:") (beginning-of-line) (org-element-babel-call-parser limit affiliated)) ((looking-at "\\+BEGIN:? ") (beginning-of-line) (org-element-dynamic-block-parser limit affiliated)) ((looking-at "\\+\\S-+:") (beginning-of-line) (org-element-keyword-parser limit affiliated)) (t (beginning-of-line) (org-element-paragraph-parser limit affiliated)))) ((looking-at org-footnote-definition-re) (org-element-footnote-definition-parser limit affiliated)) ((looking-at "[ ]*-\\{5,\\}[ ]*$") (org-element-horizontal-rule-parser limit affiliated)) ((looking-at "%%(") (org-element-diary-sexp-parser limit affiliated)) ((org-at-table-p t) (org-element-table-parser limit affiliated)) ((looking-at (org-item-re)) (org-element-plain-list-parser limit affiliated (or structure (org-element--list-struct limit)))) (t (org-element-paragraph-parser limit affiliated))))))
(let ((case-fold-search t) (raw-secondary-p (and granularity (not (eq granularity (quote object)))))) (cond ((eq special (quote item)) (org-element-item-parser limit structure raw-secondary-p)) ((eq special (quote table-row)) (org-element-table-row-parser limit)) ((eq special (quote node-property)) (org-element-node-property-parser limit)) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (org-element-headline-parser limit raw-secondary-p)) ((eq special (quote section)) (org-element-section-parser limit)) ((eq special (quote first-section)) (org-element-section-parser (or (save-excursion (let* (... ... ... ...) (outline-next-heading))) limit))) ((not (bolp)) (org-element-paragraph-parser limit (list (point)))) ((looking-at org-planning-or-clock-line-re) (if (equal (match-string 1) org-clock-string) (org-element-clock-parser limit) (org-element-planning-parser limit))) ((org-at-heading-p) (org-element-inlinetask-parser limit raw-secondary-p)) (t (let ((affiliated (org-element--collect-affiliated-keywords limit))) (cond ((and (cdr affiliated) (>= ... limit)) (goto-char (car affiliated)) (org-element-keyword-parser limit nil)) ((looking-at "[ ]*\\\\begin{[A-Za-z0-9*]+}\\(\\[.*?\\]\\|{.*?}\\)*[ ]*$") (org-element-latex-environment-parser limit affiliated)) ((looking-at org-drawer-regexp) (if (equal ... "PROPERTIES") (org-element-property-drawer-parser limit affiliated) (org-element-drawer-parser limit affiliated))) ((looking-at "[ ]*:\\( \\|$\\)") (org-element-fixed-width-parser limit affiliated)) ((looking-at "[ ]*#") (goto-char (match-end 0)) (cond (... ... ...) (... ... ...) (... ... ...) (... ... ...) (... ... ...) (t ... ...))) ((looking-at org-footnote-definition-re) (org-element-footnote-definition-parser limit affiliated)) ((looking-at "[ ]*-\\{5,\\}[ ]*$") (org-element-horizontal-rule-parser limit affiliated)) ((looking-at "%%(") (org-element-diary-sexp-parser limit affiliated)) ((org-at-table-p t) (org-element-table-parser limit affiliated)) ((looking-at (org-item-re)) (org-element-plain-list-parser limit affiliated (or structure ...))) (t (org-element-paragraph-parser limit affiliated)))))))
(save-excursion (let ((case-fold-search t) (raw-secondary-p (and granularity (not (eq granularity (quote object)))))) (cond ((eq special (quote item)) (org-element-item-parser limit structure raw-secondary-p)) ((eq special (quote table-row)) (org-element-table-row-parser limit)) ((eq special (quote node-property)) (org-element-node-property-parser limit)) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (org-element-headline-parser limit raw-secondary-p)) ((eq special (quote section)) (org-element-section-parser limit)) ((eq special (quote first-section)) (org-element-section-parser (or (save-excursion (let* ... ...)) limit))) ((not (bolp)) (org-element-paragraph-parser limit (list (point)))) ((looking-at org-planning-or-clock-line-re) (if (equal (match-string 1) org-clock-string) (org-element-clock-parser limit) (org-element-planning-parser limit))) ((org-at-heading-p) (org-element-inlinetask-parser limit raw-secondary-p)) (t (let ((affiliated (org-element--collect-affiliated-keywords limit))) (cond ((and ... ...) (goto-char ...) (org-element-keyword-parser limit nil)) ((looking-at "[ ]*\\\\begin{[A-Za-z0-9*]+}\\(\\[.*?\\]\\|{.*?}\\)*[ ]*$") (org-element-latex-environment-parser limit affiliated)) ((looking-at org-drawer-regexp) (if ... ... ...)) ((looking-at "[ ]*:\\( \\|$\\)") (org-element-fixed-width-parser limit affiliated)) ((looking-at "[ ]*#") (goto-char ...) (cond ... ... ... ... ... ...)) ((looking-at org-footnote-definition-re) (org-element-footnote-definition-parser limit affiliated)) ((looking-at "[ ]*-\\{5,\\}[ ]*$") (org-element-horizontal-rule-parser limit affiliated)) ((looking-at "%%(") (org-element-diary-sexp-parser limit affiliated)) ((org-at-table-p t) (org-element-table-parser limit affiliated)) ((looking-at ...) (org-element-plain-list-parser limit affiliated ...)) (t (org-element-paragraph-parser limit affiliated))))))))
org-element--current-element(257706 element nil nil)
(setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent)))
(if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element))
(while t (if syncp (progn (cond ((= (point) pos) (throw (quote exit) parent)) ((org-element--cache-interrupt-p time-limit) (throw (quote interrupt) nil))))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and (<= elem-end pos) (/= (point-max) elem-end)) (goto-char elem-end)) ((not (memq type org-element-greater-elements)) (throw (quote exit) element)) ((let ((cbeg (org-element-property :contents-begin element)) (cend (org-element-property :contents-end element))) (if (or syncp (and cbeg cend ... ...)) (progn (goto-char ...) (setq next nil special-flag ... parent element end cend))))) (t (throw (quote exit) element)))) (setq element nil))
(let ((end (or (org-element-property :end element) (save-excursion (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (outline-next-heading)) (point)))) (parent element) special-flag) (while t (if syncp (progn (cond ((= (point) pos) (throw (quote exit) parent)) ((org-element--cache-interrupt-p time-limit) (throw (quote interrupt) nil))))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and (<= elem-end pos) (/= (point-max) elem-end)) (goto-char elem-end)) ((not (memq type org-element-greater-elements)) (throw (quote exit) element)) ((let ((cbeg ...) (cend ...)) (if (or syncp ...) (progn ... ...)))) (t (throw (quote exit) element)))) (setq element nil)))
(let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (outline-previous-heading)) (progn (forward-line))) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp (org-element-property :parent cached) cached))) ((re-search-backward (let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let ((up cached) (pos (if (= ... pos) (1- pos) pos))) (goto-char (or (org-element-property :contents-begin cached) begin)) (while (let ((end ...)) (and (<= end pos) (goto-char end) (setq up ...)))) (cond ((not up)) ((eobp) (setq element up)) (t (setq element up next (point))))))) (let ((end (or (org-element-property :end element) (save-excursion (let* (... ... ... ...) (outline-next-heading)) (point)))) (parent element) special-flag) (while t (if syncp (progn (cond ((= ... pos) (throw ... parent)) ((org-element--cache-interrupt-p time-limit) (throw ... nil))))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and (<= elem-end pos) (/= ... elem-end)) (goto-char elem-end)) ((not (memq type org-element-greater-elements)) (throw (quote exit) element)) ((let (... ...) (if ... ...))) (t (throw (quote exit) element)))) (setq element nil))))
(save-restriction (widen) (goto-char pos) (let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (outline-previous-heading)) (progn (forward-line))) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp (org-element-property :parent cached) cached))) ((re-search-backward (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let ((up cached) (pos (if ... ... pos))) (goto-char (or (org-element-property :contents-begin cached) begin)) (while (let (...) (and ... ... ...))) (cond ((not up)) ((eobp) (setq element up)) (t (setq element up next ...)))))) (let ((end (or (org-element-property :end element) (save-excursion (let* ... ...) (point)))) (parent element) special-flag) (while t (if syncp (progn (cond (... ...) (... ...)))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and ... ...) (goto-char elem-end)) ((not ...) (throw ... element)) ((let ... ...)) (t (throw ... element)))) (setq element nil)))))
(save-excursion (save-restriction (widen) (goto-char pos) (let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* (... ... ... ...) (outline-previous-heading)) (progn (forward-line))) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp (org-element-property :parent cached) cached))) ((re-search-backward (let* (... ... ... ...) org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let ((up cached) (pos ...)) (goto-char (or ... begin)) (while (let ... ...)) (cond (...) (... ...) (t ...))))) (let ((end (or (org-element-property :end element) (save-excursion ... ...))) (parent element) special-flag) (while t (if syncp (progn (cond ... ...))) (if element nil (setq element (org-element--current-element end ... special-flag ...)) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end ...) (type ...)) (cond (... ...) (... ...) (...) (t ...))) (setq element nil))))))
(catch (quote exit) (save-excursion (save-restriction (widen) (goto-char pos) (let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* ... ...) (progn ...)) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp ... cached))) ((re-search-backward (let* ... org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let (... ...) (goto-char ...) (while ...) (cond ... ... ...)))) (let ((end (or ... ...)) (parent element) special-flag) (while t (if syncp (progn ...)) (if element nil (setq element ...) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let (... ...) (cond ... ... ... ...)) (setq element nil)))))))
org-element--parse-to(257280)
(cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync (current-buffer) origin)))) (org-element--parse-to origin)))
(let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync (current-buffer) origin)))) (org-element--parse-to origin))))
(save-restriction (widen) (let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync ... origin)))) (org-element--parse-to origin)))))
(save-excursion (save-restriction (widen) (let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if ... ... ...))) (org-element--parse-to origin))))))
org-element-at-point()
(let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let ((p drawer)) (while (and (setq p (org-element-property :parent p)) (not (eq ... ...)))) (not p))) (progn (let ((end (org-element-property :contents-end drawer))) (if end (progn (forward-line) (while (< ... end) (if ... ...) (forward-line))))))))
(while (and (null plist) (re-search-forward org-property-start-re end t)) (let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let ((p drawer)) (while (and (setq p ...) (not ...))) (not p))) (progn (let ((end (org-element-property :contents-end drawer))) (if end (progn (forward-line) (while ... ... ...))))))))
(save-excursion (while (and (null plist) (re-search-forward org-property-start-re end t)) (let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let ((p drawer)) (while (and ... ...)) (not p))) (progn (let ((end ...)) (if end (progn ... ...))))))) plist)
(let ((end (save-excursion (let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (outline-next-heading)) (point))) plist) (save-excursion (while (and (null plist) (re-search-forward org-property-start-re end t)) (let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let (...) (while ...) (not p))) (progn (let (...) (if end ...)))))) plist))
(let* ((components (org-heading-components)) (level (nth 1 components)) (todo (nth 2 components)) (todo-type (and todo (if (member todo org-done-keywords) (quote done) (quote todo)))) (tags (let ((raw-tags (nth 5 components))) (and raw-tags (org-split-string raw-tags ":")))) (raw-value (or (nth 4 components) "")) (commentedp (let ((case-fold-search nil)) (string-match (format "^%s\\( \\|$\\)" org-comment-string) raw-value))) (archivedp (member org-archive-tag tags)) (footnote-section-p (and org-footnote-section (string= org-footnote-section raw-value))) (standard-props (let ((end (save-excursion (let* ... ...) (point))) plist) (save-excursion (while (and (null plist) (re-search-forward org-property-start-re end t)) (let (...) (if ... ...))) plist))) (time-props (save-excursion (forward-line) (if (looking-at org-planning-or-clock-line-re) (progn (let (... plist) (while ... ... ... ...) plist))))) (begin (point)) (end (min (save-excursion (org-end-of-subtree t t)) limit)) (pos-after-head (progn (forward-line) (point))) (contents-begin (save-excursion (skip-chars-forward " \r \n" end) (and (/= (point) end) (line-beginning-position)))) (contents-end (and contents-begin (progn (goto-char end) (skip-chars-backward " \r \n") (forward-line) (point))))) (if commentedp (progn (let ((case-fold-search nil)) (setq raw-value (replace-regexp-in-string (concat (regexp-quote org-comment-string) "\\(?: \\|$\\)") "" raw-value))))) (if archivedp (progn (setq tags (delete org-archive-tag tags)))) (let ((headline (list (quote headline) (nconc (list :raw-value raw-value :begin begin :end end :pre-blank (if ... 0 ...) :contents-begin contents-begin :contents-end contents-end :level level :priority (nth 3 components) :tags tags :todo-keyword todo :todo-type todo-type :post-blank (count-lines ... end) :footnote-section-p footnote-section-p :archivedp archivedp :commentedp commentedp) time-props standard-props)))) (let ((alt-title (org-element-property :ALT_TITLE headline))) (if alt-title (progn (org-element-put-property headline :alt-title (if raw-secondary-p alt-title (org-element-parse-secondary-string alt-title ... headline)))))) (org-element-put-property headline :title (if raw-secondary-p raw-value (org-element-parse-secondary-string raw-value (org-element-restriction (quote headline)) headline)))))
(save-excursion (let* ((components (org-heading-components)) (level (nth 1 components)) (todo (nth 2 components)) (todo-type (and todo (if (member todo org-done-keywords) (quote done) (quote todo)))) (tags (let ((raw-tags (nth 5 components))) (and raw-tags (org-split-string raw-tags ":")))) (raw-value (or (nth 4 components) "")) (commentedp (let ((case-fold-search nil)) (string-match (format "^%s\\( \\|$\\)" org-comment-string) raw-value))) (archivedp (member org-archive-tag tags)) (footnote-section-p (and org-footnote-section (string= org-footnote-section raw-value))) (standard-props (let ((end (save-excursion ... ...)) plist) (save-excursion (while (and ... ...) (let ... ...)) plist))) (time-props (save-excursion (forward-line) (if (looking-at org-planning-or-clock-line-re) (progn (let ... ... plist))))) (begin (point)) (end (min (save-excursion (org-end-of-subtree t t)) limit)) (pos-after-head (progn (forward-line) (point))) (contents-begin (save-excursion (skip-chars-forward " \r \n" end) (and (/= (point) end) (line-beginning-position)))) (contents-end (and contents-begin (progn (goto-char end) (skip-chars-backward " \r \n") (forward-line) (point))))) (if commentedp (progn (let ((case-fold-search nil)) (setq raw-value (replace-regexp-in-string (concat ... "\\(?: \\|$\\)") "" raw-value))))) (if archivedp (progn (setq tags (delete org-archive-tag tags)))) (let ((headline (list (quote headline) (nconc (list :raw-value raw-value :begin begin :end end :pre-blank ... :contents-begin contents-begin :contents-end contents-end :level level :priority ... :tags tags :todo-keyword todo :todo-type todo-type :post-blank ... :footnote-section-p footnote-section-p :archivedp archivedp :commentedp commentedp) time-props standard-props)))) (let ((alt-title (org-element-property :ALT_TITLE headline))) (if alt-title (progn (org-element-put-property headline :alt-title (if raw-secondary-p alt-title ...))))) (org-element-put-property headline :title (if raw-secondary-p raw-value (org-element-parse-secondary-string raw-value (org-element-restriction (quote headline)) headline))))))
org-element-headline-parser(257706 t)
(cond ((eq special (quote item)) (org-element-item-parser limit structure raw-secondary-p)) ((eq special (quote table-row)) (org-element-table-row-parser limit)) ((eq special (quote node-property)) (org-element-node-property-parser limit)) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (org-element-headline-parser limit raw-secondary-p)) ((eq special (quote section)) (org-element-section-parser limit)) ((eq special (quote first-section)) (org-element-section-parser (or (save-excursion (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (outline-next-heading))) limit))) ((not (bolp)) (org-element-paragraph-parser limit (list (point)))) ((looking-at org-planning-or-clock-line-re) (if (equal (match-string 1) org-clock-string) (org-element-clock-parser limit) (org-element-planning-parser limit))) ((org-at-heading-p) (org-element-inlinetask-parser limit raw-secondary-p)) (t (let ((affiliated (org-element--collect-affiliated-keywords limit))) (cond ((and (cdr affiliated) (>= (point) limit)) (goto-char (car affiliated)) (org-element-keyword-parser limit nil)) ((looking-at "[ ]*\\\\begin{[A-Za-z0-9*]+}\\(\\[.*?\\]\\|{.*?}\\)*[ ]*$") (org-element-latex-environment-parser limit affiliated)) ((looking-at org-drawer-regexp) (if (equal (match-string 1) "PROPERTIES") (org-element-property-drawer-parser limit affiliated) (org-element-drawer-parser limit affiliated))) ((looking-at "[ ]*:\\( \\|$\\)") (org-element-fixed-width-parser limit affiliated)) ((looking-at "[ ]*#") (goto-char (match-end 0)) (cond ((looking-at "\\(?: \\|$\\)") (beginning-of-line) (org-element-comment-parser limit affiliated)) ((looking-at "\\+BEGIN_\\(\\S-+\\)") (beginning-of-line) (let ... ...)) ((looking-at "\\+CALL:") (beginning-of-line) (org-element-babel-call-parser limit affiliated)) ((looking-at "\\+BEGIN:? ") (beginning-of-line) (org-element-dynamic-block-parser limit affiliated)) ((looking-at "\\+\\S-+:") (beginning-of-line) (org-element-keyword-parser limit affiliated)) (t (beginning-of-line) (org-element-paragraph-parser limit affiliated)))) ((looking-at org-footnote-definition-re) (org-element-footnote-definition-parser limit affiliated)) ((looking-at "[ ]*-\\{5,\\}[ ]*$") (org-element-horizontal-rule-parser limit affiliated)) ((looking-at "%%(") (org-element-diary-sexp-parser limit affiliated)) ((org-at-table-p t) (org-element-table-parser limit affiliated)) ((looking-at (org-item-re)) (org-element-plain-list-parser limit affiliated (or structure (org-element--list-struct limit)))) (t (org-element-paragraph-parser limit affiliated))))))
(let ((case-fold-search t) (raw-secondary-p (and granularity (not (eq granularity (quote object)))))) (cond ((eq special (quote item)) (org-element-item-parser limit structure raw-secondary-p)) ((eq special (quote table-row)) (org-element-table-row-parser limit)) ((eq special (quote node-property)) (org-element-node-property-parser limit)) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (org-element-headline-parser limit raw-secondary-p)) ((eq special (quote section)) (org-element-section-parser limit)) ((eq special (quote first-section)) (org-element-section-parser (or (save-excursion (let* (... ... ... ...) (outline-next-heading))) limit))) ((not (bolp)) (org-element-paragraph-parser limit (list (point)))) ((looking-at org-planning-or-clock-line-re) (if (equal (match-string 1) org-clock-string) (org-element-clock-parser limit) (org-element-planning-parser limit))) ((org-at-heading-p) (org-element-inlinetask-parser limit raw-secondary-p)) (t (let ((affiliated (org-element--collect-affiliated-keywords limit))) (cond ((and (cdr affiliated) (>= ... limit)) (goto-char (car affiliated)) (org-element-keyword-parser limit nil)) ((looking-at "[ ]*\\\\begin{[A-Za-z0-9*]+}\\(\\[.*?\\]\\|{.*?}\\)*[ ]*$") (org-element-latex-environment-parser limit affiliated)) ((looking-at org-drawer-regexp) (if (equal ... "PROPERTIES") (org-element-property-drawer-parser limit affiliated) (org-element-drawer-parser limit affiliated))) ((looking-at "[ ]*:\\( \\|$\\)") (org-element-fixed-width-parser limit affiliated)) ((looking-at "[ ]*#") (goto-char (match-end 0)) (cond (... ... ...) (... ... ...) (... ... ...) (... ... ...) (... ... ...) (t ... ...))) ((looking-at org-footnote-definition-re) (org-element-footnote-definition-parser limit affiliated)) ((looking-at "[ ]*-\\{5,\\}[ ]*$") (org-element-horizontal-rule-parser limit affiliated)) ((looking-at "%%(") (org-element-diary-sexp-parser limit affiliated)) ((org-at-table-p t) (org-element-table-parser limit affiliated)) ((looking-at (org-item-re)) (org-element-plain-list-parser limit affiliated (or structure ...))) (t (org-element-paragraph-parser limit affiliated)))))))
(save-excursion (let ((case-fold-search t) (raw-secondary-p (and granularity (not (eq granularity (quote object)))))) (cond ((eq special (quote item)) (org-element-item-parser limit structure raw-secondary-p)) ((eq special (quote table-row)) (org-element-table-row-parser limit)) ((eq special (quote node-property)) (org-element-node-property-parser limit)) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (org-element-headline-parser limit raw-secondary-p)) ((eq special (quote section)) (org-element-section-parser limit)) ((eq special (quote first-section)) (org-element-section-parser (or (save-excursion (let* ... ...)) limit))) ((not (bolp)) (org-element-paragraph-parser limit (list (point)))) ((looking-at org-planning-or-clock-line-re) (if (equal (match-string 1) org-clock-string) (org-element-clock-parser limit) (org-element-planning-parser limit))) ((org-at-heading-p) (org-element-inlinetask-parser limit raw-secondary-p)) (t (let ((affiliated (org-element--collect-affiliated-keywords limit))) (cond ((and ... ...) (goto-char ...) (org-element-keyword-parser limit nil)) ((looking-at "[ ]*\\\\begin{[A-Za-z0-9*]+}\\(\\[.*?\\]\\|{.*?}\\)*[ ]*$") (org-element-latex-environment-parser limit affiliated)) ((looking-at org-drawer-regexp) (if ... ... ...)) ((looking-at "[ ]*:\\( \\|$\\)") (org-element-fixed-width-parser limit affiliated)) ((looking-at "[ ]*#") (goto-char ...) (cond ... ... ... ... ... ...)) ((looking-at org-footnote-definition-re) (org-element-footnote-definition-parser limit affiliated)) ((looking-at "[ ]*-\\{5,\\}[ ]*$") (org-element-horizontal-rule-parser limit affiliated)) ((looking-at "%%(") (org-element-diary-sexp-parser limit affiliated)) ((org-at-table-p t) (org-element-table-parser limit affiliated)) ((looking-at ...) (org-element-plain-list-parser limit affiliated ...)) (t (org-element-paragraph-parser limit affiliated))))))))
org-element--current-element(257706 element nil nil)
(setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent)))
(if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element))
(while t (if syncp (progn (cond ((= (point) pos) (throw (quote exit) parent)) ((org-element--cache-interrupt-p time-limit) (throw (quote interrupt) nil))))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and (<= elem-end pos) (/= (point-max) elem-end)) (goto-char elem-end)) ((not (memq type org-element-greater-elements)) (throw (quote exit) element)) ((let ((cbeg (org-element-property :contents-begin element)) (cend (org-element-property :contents-end element))) (if (or syncp (and cbeg cend ... ...)) (progn (goto-char ...) (setq next nil special-flag ... parent element end cend))))) (t (throw (quote exit) element)))) (setq element nil))
(let ((end (or (org-element-property :end element) (save-excursion (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (outline-next-heading)) (point)))) (parent element) special-flag) (while t (if syncp (progn (cond ((= (point) pos) (throw (quote exit) parent)) ((org-element--cache-interrupt-p time-limit) (throw (quote interrupt) nil))))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and (<= elem-end pos) (/= (point-max) elem-end)) (goto-char elem-end)) ((not (memq type org-element-greater-elements)) (throw (quote exit) element)) ((let ((cbeg ...) (cend ...)) (if (or syncp ...) (progn ... ...)))) (t (throw (quote exit) element)))) (setq element nil)))
(let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (outline-previous-heading)) (progn (forward-line))) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp (org-element-property :parent cached) cached))) ((re-search-backward (let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let ((up cached) (pos (if (= ... pos) (1- pos) pos))) (goto-char (or (org-element-property :contents-begin cached) begin)) (while (let ((end ...)) (and (<= end pos) (goto-char end) (setq up ...)))) (cond ((not up)) ((eobp) (setq element up)) (t (setq element up next (point))))))) (let ((end (or (org-element-property :end element) (save-excursion (let* (... ... ... ...) (outline-next-heading)) (point)))) (parent element) special-flag) (while t (if syncp (progn (cond ((= ... pos) (throw ... parent)) ((org-element--cache-interrupt-p time-limit) (throw ... nil))))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and (<= elem-end pos) (/= ... elem-end)) (goto-char elem-end)) ((not (memq type org-element-greater-elements)) (throw (quote exit) element)) ((let (... ...) (if ... ...))) (t (throw (quote exit) element)))) (setq element nil))))
(save-restriction (widen) (goto-char pos) (let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (outline-previous-heading)) (progn (forward-line))) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp (org-element-property :parent cached) cached))) ((re-search-backward (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let ((up cached) (pos (if ... ... pos))) (goto-char (or (org-element-property :contents-begin cached) begin)) (while (let (...) (and ... ... ...))) (cond ((not up)) ((eobp) (setq element up)) (t (setq element up next ...)))))) (let ((end (or (org-element-property :end element) (save-excursion (let* ... ...) (point)))) (parent element) special-flag) (while t (if syncp (progn (cond (... ...) (... ...)))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and ... ...) (goto-char elem-end)) ((not ...) (throw ... element)) ((let ... ...)) (t (throw ... element)))) (setq element nil)))))
(save-excursion (save-restriction (widen) (goto-char pos) (let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* (... ... ... ...) (outline-previous-heading)) (progn (forward-line))) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp (org-element-property :parent cached) cached))) ((re-search-backward (let* (... ... ... ...) org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let ((up cached) (pos ...)) (goto-char (or ... begin)) (while (let ... ...)) (cond (...) (... ...) (t ...))))) (let ((end (or (org-element-property :end element) (save-excursion ... ...))) (parent element) special-flag) (while t (if syncp (progn (cond ... ...))) (if element nil (setq element (org-element--current-element end ... special-flag ...)) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end ...) (type ...)) (cond (... ...) (... ...) (...) (t ...))) (setq element nil))))))
(catch (quote exit) (save-excursion (save-restriction (widen) (goto-char pos) (let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* ... ...) (progn ...)) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp ... cached))) ((re-search-backward (let* ... org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let (... ...) (goto-char ...) (while ...) (cond ... ... ...)))) (let ((end (or ... ...)) (parent element) special-flag) (while t (if syncp (progn ...)) (if element nil (setq element ...) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let (... ...) (cond ... ... ... ...)) (setq element nil)))))))
org-element--parse-to(257280)
(cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync (current-buffer) origin)))) (org-element--parse-to origin)))
(let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync (current-buffer) origin)))) (org-element--parse-to origin))))
(save-restriction (widen) (let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync ... origin)))) (org-element--parse-to origin)))))
(save-excursion (save-restriction (widen) (let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if ... ... ...))) (org-element--parse-to origin))))))
org-element-at-point()
(let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let ((p drawer)) (while (and (setq p (org-element-property :parent p)) (not (eq ... ...)))) (not p))) (progn (let ((end (org-element-property :contents-end drawer))) (if end (progn (forward-line) (while (< ... end) (if ... ...) (forward-line))))))))
(while (and (null plist) (re-search-forward org-property-start-re end t)) (let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let ((p drawer)) (while (and (setq p ...) (not ...))) (not p))) (progn (let ((end (org-element-property :contents-end drawer))) (if end (progn (forward-line) (while ... ... ...))))))))
(save-excursion (while (and (null plist) (re-search-forward org-property-start-re end t)) (let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let ((p drawer)) (while (and ... ...)) (not p))) (progn (let ((end ...)) (if end (progn ... ...))))))) plist)
(let ((end (save-excursion (let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (outline-next-heading)) (point))) plist) (save-excursion (while (and (null plist) (re-search-forward org-property-start-re end t)) (let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let (...) (while ...) (not p))) (progn (let (...) (if end ...)))))) plist))
(let* ((components (org-heading-components)) (level (nth 1 components)) (todo (nth 2 components)) (todo-type (and todo (if (member todo org-done-keywords) (quote done) (quote todo)))) (tags (let ((raw-tags (nth 5 components))) (and raw-tags (org-split-string raw-tags ":")))) (raw-value (or (nth 4 components) "")) (commentedp (let ((case-fold-search nil)) (string-match (format "^%s\\( \\|$\\)" org-comment-string) raw-value))) (archivedp (member org-archive-tag tags)) (footnote-section-p (and org-footnote-section (string= org-footnote-section raw-value))) (standard-props (let ((end (save-excursion (let* ... ...) (point))) plist) (save-excursion (while (and (null plist) (re-search-forward org-property-start-re end t)) (let (...) (if ... ...))) plist))) (time-props (save-excursion (forward-line) (if (looking-at org-planning-or-clock-line-re) (progn (let (... plist) (while ... ... ... ...) plist))))) (begin (point)) (end (min (save-excursion (org-end-of-subtree t t)) limit)) (pos-after-head (progn (forward-line) (point))) (contents-begin (save-excursion (skip-chars-forward " \r \n" end) (and (/= (point) end) (line-beginning-position)))) (contents-end (and contents-begin (progn (goto-char end) (skip-chars-backward " \r \n") (forward-line) (point))))) (if commentedp (progn (let ((case-fold-search nil)) (setq raw-value (replace-regexp-in-string (concat (regexp-quote org-comment-string) "\\(?: \\|$\\)") "" raw-value))))) (if archivedp (progn (setq tags (delete org-archive-tag tags)))) (let ((headline (list (quote headline) (nconc (list :raw-value raw-value :begin begin :end end :pre-blank (if ... 0 ...) :contents-begin contents-begin :contents-end contents-end :level level :priority (nth 3 components) :tags tags :todo-keyword todo :todo-type todo-type :post-blank (count-lines ... end) :footnote-section-p footnote-section-p :archivedp archivedp :commentedp commentedp) time-props standard-props)))) (let ((alt-title (org-element-property :ALT_TITLE headline))) (if alt-title (progn (org-element-put-property headline :alt-title (if raw-secondary-p alt-title (org-element-parse-secondary-string alt-title ... headline)))))) (org-element-put-property headline :title (if raw-secondary-p raw-value (org-element-parse-secondary-string raw-value (org-element-restriction (quote headline)) headline)))))
(save-excursion (let* ((components (org-heading-components)) (level (nth 1 components)) (todo (nth 2 components)) (todo-type (and todo (if (member todo org-done-keywords) (quote done) (quote todo)))) (tags (let ((raw-tags (nth 5 components))) (and raw-tags (org-split-string raw-tags ":")))) (raw-value (or (nth 4 components) "")) (commentedp (let ((case-fold-search nil)) (string-match (format "^%s\\( \\|$\\)" org-comment-string) raw-value))) (archivedp (member org-archive-tag tags)) (footnote-section-p (and org-footnote-section (string= org-footnote-section raw-value))) (standard-props (let ((end (save-excursion ... ...)) plist) (save-excursion (while (and ... ...) (let ... ...)) plist))) (time-props (save-excursion (forward-line) (if (looking-at org-planning-or-clock-line-re) (progn (let ... ... plist))))) (begin (point)) (end (min (save-excursion (org-end-of-subtree t t)) limit)) (pos-after-head (progn (forward-line) (point))) (contents-begin (save-excursion (skip-chars-forward " \r \n" end) (and (/= (point) end) (line-beginning-position)))) (contents-end (and contents-begin (progn (goto-char end) (skip-chars-backward " \r \n") (forward-line) (point))))) (if commentedp (progn (let ((case-fold-search nil)) (setq raw-value (replace-regexp-in-string (concat ... "\\(?: \\|$\\)") "" raw-value))))) (if archivedp (progn (setq tags (delete org-archive-tag tags)))) (let ((headline (list (quote headline) (nconc (list :raw-value raw-value :begin begin :end end :pre-blank ... :contents-begin contents-begin :contents-end contents-end :level level :priority ... :tags tags :todo-keyword todo :todo-type todo-type :post-blank ... :footnote-section-p footnote-section-p :archivedp archivedp :commentedp commentedp) time-props standard-props)))) (let ((alt-title (org-element-property :ALT_TITLE headline))) (if alt-title (progn (org-element-put-property headline :alt-title (if raw-secondary-p alt-title ...))))) (org-element-put-property headline :title (if raw-secondary-p raw-value (org-element-parse-secondary-string raw-value (org-element-restriction (quote headline)) headline))))))
org-element-headline-parser(257706 t)
(cond ((eq special (quote item)) (org-element-item-parser limit structure raw-secondary-p)) ((eq special (quote table-row)) (org-element-table-row-parser limit)) ((eq special (quote node-property)) (org-element-node-property-parser limit)) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (org-element-headline-parser limit raw-secondary-p)) ((eq special (quote section)) (org-element-section-parser limit)) ((eq special (quote first-section)) (org-element-section-parser (or (save-excursion (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (outline-next-heading))) limit))) ((not (bolp)) (org-element-paragraph-parser limit (list (point)))) ((looking-at org-planning-or-clock-line-re) (if (equal (match-string 1) org-clock-string) (org-element-clock-parser limit) (org-element-planning-parser limit))) ((org-at-heading-p) (org-element-inlinetask-parser limit raw-secondary-p)) (t (let ((affiliated (org-element--collect-affiliated-keywords limit))) (cond ((and (cdr affiliated) (>= (point) limit)) (goto-char (car affiliated)) (org-element-keyword-parser limit nil)) ((looking-at "[ ]*\\\\begin{[A-Za-z0-9*]+}\\(\\[.*?\\]\\|{.*?}\\)*[ ]*$") (org-element-latex-environment-parser limit affiliated)) ((looking-at org-drawer-regexp) (if (equal (match-string 1) "PROPERTIES") (org-element-property-drawer-parser limit affiliated) (org-element-drawer-parser limit affiliated))) ((looking-at "[ ]*:\\( \\|$\\)") (org-element-fixed-width-parser limit affiliated)) ((looking-at "[ ]*#") (goto-char (match-end 0)) (cond ((looking-at "\\(?: \\|$\\)") (beginning-of-line) (org-element-comment-parser limit affiliated)) ((looking-at "\\+BEGIN_\\(\\S-+\\)") (beginning-of-line) (let ... ...)) ((looking-at "\\+CALL:") (beginning-of-line) (org-element-babel-call-parser limit affiliated)) ((looking-at "\\+BEGIN:? ") (beginning-of-line) (org-element-dynamic-block-parser limit affiliated)) ((looking-at "\\+\\S-+:") (beginning-of-line) (org-element-keyword-parser limit affiliated)) (t (beginning-of-line) (org-element-paragraph-parser limit affiliated)))) ((looking-at org-footnote-definition-re) (org-element-footnote-definition-parser limit affiliated)) ((looking-at "[ ]*-\\{5,\\}[ ]*$") (org-element-horizontal-rule-parser limit affiliated)) ((looking-at "%%(") (org-element-diary-sexp-parser limit affiliated)) ((org-at-table-p t) (org-element-table-parser limit affiliated)) ((looking-at (org-item-re)) (org-element-plain-list-parser limit affiliated (or structure (org-element--list-struct limit)))) (t (org-element-paragraph-parser limit affiliated))))))
(let ((case-fold-search t) (raw-secondary-p (and granularity (not (eq granularity (quote object)))))) (cond ((eq special (quote item)) (org-element-item-parser limit structure raw-secondary-p)) ((eq special (quote table-row)) (org-element-table-row-parser limit)) ((eq special (quote node-property)) (org-element-node-property-parser limit)) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (org-element-headline-parser limit raw-secondary-p)) ((eq special (quote section)) (org-element-section-parser limit)) ((eq special (quote first-section)) (org-element-section-parser (or (save-excursion (let* (... ... ... ...) (outline-next-heading))) limit))) ((not (bolp)) (org-element-paragraph-parser limit (list (point)))) ((looking-at org-planning-or-clock-line-re) (if (equal (match-string 1) org-clock-string) (org-element-clock-parser limit) (org-element-planning-parser limit))) ((org-at-heading-p) (org-element-inlinetask-parser limit raw-secondary-p)) (t (let ((affiliated (org-element--collect-affiliated-keywords limit))) (cond ((and (cdr affiliated) (>= ... limit)) (goto-char (car affiliated)) (org-element-keyword-parser limit nil)) ((looking-at "[ ]*\\\\begin{[A-Za-z0-9*]+}\\(\\[.*?\\]\\|{.*?}\\)*[ ]*$") (org-element-latex-environment-parser limit affiliated)) ((looking-at org-drawer-regexp) (if (equal ... "PROPERTIES") (org-element-property-drawer-parser limit affiliated) (org-element-drawer-parser limit affiliated))) ((looking-at "[ ]*:\\( \\|$\\)") (org-element-fixed-width-parser limit affiliated)) ((looking-at "[ ]*#") (goto-char (match-end 0)) (cond (... ... ...) (... ... ...) (... ... ...) (... ... ...) (... ... ...) (t ... ...))) ((looking-at org-footnote-definition-re) (org-element-footnote-definition-parser limit affiliated)) ((looking-at "[ ]*-\\{5,\\}[ ]*$") (org-element-horizontal-rule-parser limit affiliated)) ((looking-at "%%(") (org-element-diary-sexp-parser limit affiliated)) ((org-at-table-p t) (org-element-table-parser limit affiliated)) ((looking-at (org-item-re)) (org-element-plain-list-parser limit affiliated (or structure ...))) (t (org-element-paragraph-parser limit affiliated)))))))
(save-excursion (let ((case-fold-search t) (raw-secondary-p (and granularity (not (eq granularity (quote object)))))) (cond ((eq special (quote item)) (org-element-item-parser limit structure raw-secondary-p)) ((eq special (quote table-row)) (org-element-table-row-parser limit)) ((eq special (quote node-property)) (org-element-node-property-parser limit)) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (org-element-headline-parser limit raw-secondary-p)) ((eq special (quote section)) (org-element-section-parser limit)) ((eq special (quote first-section)) (org-element-section-parser (or (save-excursion (let* ... ...)) limit))) ((not (bolp)) (org-element-paragraph-parser limit (list (point)))) ((looking-at org-planning-or-clock-line-re) (if (equal (match-string 1) org-clock-string) (org-element-clock-parser limit) (org-element-planning-parser limit))) ((org-at-heading-p) (org-element-inlinetask-parser limit raw-secondary-p)) (t (let ((affiliated (org-element--collect-affiliated-keywords limit))) (cond ((and ... ...) (goto-char ...) (org-element-keyword-parser limit nil)) ((looking-at "[ ]*\\\\begin{[A-Za-z0-9*]+}\\(\\[.*?\\]\\|{.*?}\\)*[ ]*$") (org-element-latex-environment-parser limit affiliated)) ((looking-at org-drawer-regexp) (if ... ... ...)) ((looking-at "[ ]*:\\( \\|$\\)") (org-element-fixed-width-parser limit affiliated)) ((looking-at "[ ]*#") (goto-char ...) (cond ... ... ... ... ... ...)) ((looking-at org-footnote-definition-re) (org-element-footnote-definition-parser limit affiliated)) ((looking-at "[ ]*-\\{5,\\}[ ]*$") (org-element-horizontal-rule-parser limit affiliated)) ((looking-at "%%(") (org-element-diary-sexp-parser limit affiliated)) ((org-at-table-p t) (org-element-table-parser limit affiliated)) ((looking-at ...) (org-element-plain-list-parser limit affiliated ...)) (t (org-element-paragraph-parser limit affiliated))))))))
org-element--current-element(257706 element nil nil)
(setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent)))
(if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element))
(while t (if syncp (progn (cond ((= (point) pos) (throw (quote exit) parent)) ((org-element--cache-interrupt-p time-limit) (throw (quote interrupt) nil))))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and (<= elem-end pos) (/= (point-max) elem-end)) (goto-char elem-end)) ((not (memq type org-element-greater-elements)) (throw (quote exit) element)) ((let ((cbeg (org-element-property :contents-begin element)) (cend (org-element-property :contents-end element))) (if (or syncp (and cbeg cend ... ...)) (progn (goto-char ...) (setq next nil special-flag ... parent element end cend))))) (t (throw (quote exit) element)))) (setq element nil))
(let ((end (or (org-element-property :end element) (save-excursion (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (outline-next-heading)) (point)))) (parent element) special-flag) (while t (if syncp (progn (cond ((= (point) pos) (throw (quote exit) parent)) ((org-element--cache-interrupt-p time-limit) (throw (quote interrupt) nil))))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and (<= elem-end pos) (/= (point-max) elem-end)) (goto-char elem-end)) ((not (memq type org-element-greater-elements)) (throw (quote exit) element)) ((let ((cbeg ...) (cend ...)) (if (or syncp ...) (progn ... ...)))) (t (throw (quote exit) element)))) (setq element nil)))
(let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (outline-previous-heading)) (progn (forward-line))) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp (org-element-property :parent cached) cached))) ((re-search-backward (let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let ((up cached) (pos (if (= ... pos) (1- pos) pos))) (goto-char (or (org-element-property :contents-begin cached) begin)) (while (let ((end ...)) (and (<= end pos) (goto-char end) (setq up ...)))) (cond ((not up)) ((eobp) (setq element up)) (t (setq element up next (point))))))) (let ((end (or (org-element-property :end element) (save-excursion (let* (... ... ... ...) (outline-next-heading)) (point)))) (parent element) special-flag) (while t (if syncp (progn (cond ((= ... pos) (throw ... parent)) ((org-element--cache-interrupt-p time-limit) (throw ... nil))))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and (<= elem-end pos) (/= ... elem-end)) (goto-char elem-end)) ((not (memq type org-element-greater-elements)) (throw (quote exit) element)) ((let (... ...) (if ... ...))) (t (throw (quote exit) element)))) (setq element nil))))
(save-restriction (widen) (goto-char pos) (let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (outline-previous-heading)) (progn (forward-line))) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp (org-element-property :parent cached) cached))) ((re-search-backward (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let ((up cached) (pos (if ... ... pos))) (goto-char (or (org-element-property :contents-begin cached) begin)) (while (let (...) (and ... ... ...))) (cond ((not up)) ((eobp) (setq element up)) (t (setq element up next ...)))))) (let ((end (or (org-element-property :end element) (save-excursion (let* ... ...) (point)))) (parent element) special-flag) (while t (if syncp (progn (cond (... ...) (... ...)))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and ... ...) (goto-char elem-end)) ((not ...) (throw ... element)) ((let ... ...)) (t (throw ... element)))) (setq element nil)))))
(save-excursion (save-restriction (widen) (goto-char pos) (let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* (... ... ... ...) (outline-previous-heading)) (progn (forward-line))) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp (org-element-property :parent cached) cached))) ((re-search-backward (let* (... ... ... ...) org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let ((up cached) (pos ...)) (goto-char (or ... begin)) (while (let ... ...)) (cond (...) (... ...) (t ...))))) (let ((end (or (org-element-property :end element) (save-excursion ... ...))) (parent element) special-flag) (while t (if syncp (progn (cond ... ...))) (if element nil (setq element (org-element--current-element end ... special-flag ...)) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end ...) (type ...)) (cond (... ...) (... ...) (...) (t ...))) (setq element nil))))))
(catch (quote exit) (save-excursion (save-restriction (widen) (goto-char pos) (let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* ... ...) (progn ...)) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp ... cached))) ((re-search-backward (let* ... org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let (... ...) (goto-char ...) (while ...) (cond ... ... ...)))) (let ((end (or ... ...)) (parent element) special-flag) (while t (if syncp (progn ...)) (if element nil (setq element ...) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let (... ...) (cond ... ... ... ...)) (setq element nil)))))))
org-element--parse-to(257280)
(cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync (current-buffer) origin)))) (org-element--parse-to origin)))
(let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync (current-buffer) origin)))) (org-element--parse-to origin))))
(save-restriction (widen) (let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync ... origin)))) (org-element--parse-to origin)))))
(save-excursion (save-restriction (widen) (let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if ... ... ...))) (org-element--parse-to origin))))))
org-element-at-point()
(let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let ((p drawer)) (while (and (setq p (org-element-property :parent p)) (not (eq ... ...)))) (not p))) (progn (let ((end (org-element-property :contents-end drawer))) (if end (progn (forward-line) (while (< ... end) (if ... ...) (forward-line))))))))
(while (and (null plist) (re-search-forward org-property-start-re end t)) (let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let ((p drawer)) (while (and (setq p ...) (not ...))) (not p))) (progn (let ((end (org-element-property :contents-end drawer))) (if end (progn (forward-line) (while ... ... ...))))))))
(save-excursion (while (and (null plist) (re-search-forward org-property-start-re end t)) (let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let ((p drawer)) (while (and ... ...)) (not p))) (progn (let ((end ...)) (if end (progn ... ...))))))) plist)
(let ((end (save-excursion (let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (outline-next-heading)) (point))) plist) (save-excursion (while (and (null plist) (re-search-forward org-property-start-re end t)) (let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let (...) (while ...) (not p))) (progn (let (...) (if end ...)))))) plist))
(let* ((components (org-heading-components)) (level (nth 1 components)) (todo (nth 2 components)) (todo-type (and todo (if (member todo org-done-keywords) (quote done) (quote todo)))) (tags (let ((raw-tags (nth 5 components))) (and raw-tags (org-split-string raw-tags ":")))) (raw-value (or (nth 4 components) "")) (commentedp (let ((case-fold-search nil)) (string-match (format "^%s\\( \\|$\\)" org-comment-string) raw-value))) (archivedp (member org-archive-tag tags)) (footnote-section-p (and org-footnote-section (string= org-footnote-section raw-value))) (standard-props (let ((end (save-excursion (let* ... ...) (point))) plist) (save-excursion (while (and (null plist) (re-search-forward org-property-start-re end t)) (let (...) (if ... ...))) plist))) (time-props (save-excursion (forward-line) (if (looking-at org-planning-or-clock-line-re) (progn (let (... plist) (while ... ... ... ...) plist))))) (begin (point)) (end (min (save-excursion (org-end-of-subtree t t)) limit)) (pos-after-head (progn (forward-line) (point))) (contents-begin (save-excursion (skip-chars-forward " \r \n" end) (and (/= (point) end) (line-beginning-position)))) (contents-end (and contents-begin (progn (goto-char end) (skip-chars-backward " \r \n") (forward-line) (point))))) (if commentedp (progn (let ((case-fold-search nil)) (setq raw-value (replace-regexp-in-string (concat (regexp-quote org-comment-string) "\\(?: \\|$\\)") "" raw-value))))) (if archivedp (progn (setq tags (delete org-archive-tag tags)))) (let ((headline (list (quote headline) (nconc (list :raw-value raw-value :begin begin :end end :pre-blank (if ... 0 ...) :contents-begin contents-begin :contents-end contents-end :level level :priority (nth 3 components) :tags tags :todo-keyword todo :todo-type todo-type :post-blank (count-lines ... end) :footnote-section-p footnote-section-p :archivedp archivedp :commentedp commentedp) time-props standard-props)))) (let ((alt-title (org-element-property :ALT_TITLE headline))) (if alt-title (progn (org-element-put-property headline :alt-title (if raw-secondary-p alt-title (org-element-parse-secondary-string alt-title ... headline)))))) (org-element-put-property headline :title (if raw-secondary-p raw-value (org-element-parse-secondary-string raw-value (org-element-restriction (quote headline)) headline)))))
(save-excursion (let* ((components (org-heading-components)) (level (nth 1 components)) (todo (nth 2 components)) (todo-type (and todo (if (member todo org-done-keywords) (quote done) (quote todo)))) (tags (let ((raw-tags (nth 5 components))) (and raw-tags (org-split-string raw-tags ":")))) (raw-value (or (nth 4 components) "")) (commentedp (let ((case-fold-search nil)) (string-match (format "^%s\\( \\|$\\)" org-comment-string) raw-value))) (archivedp (member org-archive-tag tags)) (footnote-section-p (and org-footnote-section (string= org-footnote-section raw-value))) (standard-props (let ((end (save-excursion ... ...)) plist) (save-excursion (while (and ... ...) (let ... ...)) plist))) (time-props (save-excursion (forward-line) (if (looking-at org-planning-or-clock-line-re) (progn (let ... ... plist))))) (begin (point)) (end (min (save-excursion (org-end-of-subtree t t)) limit)) (pos-after-head (progn (forward-line) (point))) (contents-begin (save-excursion (skip-chars-forward " \r \n" end) (and (/= (point) end) (line-beginning-position)))) (contents-end (and contents-begin (progn (goto-char end) (skip-chars-backward " \r \n") (forward-line) (point))))) (if commentedp (progn (let ((case-fold-search nil)) (setq raw-value (replace-regexp-in-string (concat ... "\\(?: \\|$\\)") "" raw-value))))) (if archivedp (progn (setq tags (delete org-archive-tag tags)))) (let ((headline (list (quote headline) (nconc (list :raw-value raw-value :begin begin :end end :pre-blank ... :contents-begin contents-begin :contents-end contents-end :level level :priority ... :tags tags :todo-keyword todo :todo-type todo-type :post-blank ... :footnote-section-p footnote-section-p :archivedp archivedp :commentedp commentedp) time-props standard-props)))) (let ((alt-title (org-element-property :ALT_TITLE headline))) (if alt-title (progn (org-element-put-property headline :alt-title (if raw-secondary-p alt-title ...))))) (org-element-put-property headline :title (if raw-secondary-p raw-value (org-element-parse-secondary-string raw-value (org-element-restriction (quote headline)) headline))))))
org-element-headline-parser(257706 t)
(cond ((eq special (quote item)) (org-element-item-parser limit structure raw-secondary-p)) ((eq special (quote table-row)) (org-element-table-row-parser limit)) ((eq special (quote node-property)) (org-element-node-property-parser limit)) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (org-element-headline-parser limit raw-secondary-p)) ((eq special (quote section)) (org-element-section-parser limit)) ((eq special (quote first-section)) (org-element-section-parser (or (save-excursion (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (outline-next-heading))) limit))) ((not (bolp)) (org-element-paragraph-parser limit (list (point)))) ((looking-at org-planning-or-clock-line-re) (if (equal (match-string 1) org-clock-string) (org-element-clock-parser limit) (org-element-planning-parser limit))) ((org-at-heading-p) (org-element-inlinetask-parser limit raw-secondary-p)) (t (let ((affiliated (org-element--collect-affiliated-keywords limit))) (cond ((and (cdr affiliated) (>= (point) limit)) (goto-char (car affiliated)) (org-element-keyword-parser limit nil)) ((looking-at "[ ]*\\\\begin{[A-Za-z0-9*]+}\\(\\[.*?\\]\\|{.*?}\\)*[ ]*$") (org-element-latex-environment-parser limit affiliated)) ((looking-at org-drawer-regexp) (if (equal (match-string 1) "PROPERTIES") (org-element-property-drawer-parser limit affiliated) (org-element-drawer-parser limit affiliated))) ((looking-at "[ ]*:\\( \\|$\\)") (org-element-fixed-width-parser limit affiliated)) ((looking-at "[ ]*#") (goto-char (match-end 0)) (cond ((looking-at "\\(?: \\|$\\)") (beginning-of-line) (org-element-comment-parser limit affiliated)) ((looking-at "\\+BEGIN_\\(\\S-+\\)") (beginning-of-line) (let ... ...)) ((looking-at "\\+CALL:") (beginning-of-line) (org-element-babel-call-parser limit affiliated)) ((looking-at "\\+BEGIN:? ") (beginning-of-line) (org-element-dynamic-block-parser limit affiliated)) ((looking-at "\\+\\S-+:") (beginning-of-line) (org-element-keyword-parser limit affiliated)) (t (beginning-of-line) (org-element-paragraph-parser limit affiliated)))) ((looking-at org-footnote-definition-re) (org-element-footnote-definition-parser limit affiliated)) ((looking-at "[ ]*-\\{5,\\}[ ]*$") (org-element-horizontal-rule-parser limit affiliated)) ((looking-at "%%(") (org-element-diary-sexp-parser limit affiliated)) ((org-at-table-p t) (org-element-table-parser limit affiliated)) ((looking-at (org-item-re)) (org-element-plain-list-parser limit affiliated (or structure (org-element--list-struct limit)))) (t (org-element-paragraph-parser limit affiliated))))))
(let ((case-fold-search t) (raw-secondary-p (and granularity (not (eq granularity (quote object)))))) (cond ((eq special (quote item)) (org-element-item-parser limit structure raw-secondary-p)) ((eq special (quote table-row)) (org-element-table-row-parser limit)) ((eq special (quote node-property)) (org-element-node-property-parser limit)) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (org-element-headline-parser limit raw-secondary-p)) ((eq special (quote section)) (org-element-section-parser limit)) ((eq special (quote first-section)) (org-element-section-parser (or (save-excursion (let* (... ... ... ...) (outline-next-heading))) limit))) ((not (bolp)) (org-element-paragraph-parser limit (list (point)))) ((looking-at org-planning-or-clock-line-re) (if (equal (match-string 1) org-clock-string) (org-element-clock-parser limit) (org-element-planning-parser limit))) ((org-at-heading-p) (org-element-inlinetask-parser limit raw-secondary-p)) (t (let ((affiliated (org-element--collect-affiliated-keywords limit))) (cond ((and (cdr affiliated) (>= ... limit)) (goto-char (car affiliated)) (org-element-keyword-parser limit nil)) ((looking-at "[ ]*\\\\begin{[A-Za-z0-9*]+}\\(\\[.*?\\]\\|{.*?}\\)*[ ]*$") (org-element-latex-environment-parser limit affiliated)) ((looking-at org-drawer-regexp) (if (equal ... "PROPERTIES") (org-element-property-drawer-parser limit affiliated) (org-element-drawer-parser limit affiliated))) ((looking-at "[ ]*:\\( \\|$\\)") (org-element-fixed-width-parser limit affiliated)) ((looking-at "[ ]*#") (goto-char (match-end 0)) (cond (... ... ...) (... ... ...) (... ... ...) (... ... ...) (... ... ...) (t ... ...))) ((looking-at org-footnote-definition-re) (org-element-footnote-definition-parser limit affiliated)) ((looking-at "[ ]*-\\{5,\\}[ ]*$") (org-element-horizontal-rule-parser limit affiliated)) ((looking-at "%%(") (org-element-diary-sexp-parser limit affiliated)) ((org-at-table-p t) (org-element-table-parser limit affiliated)) ((looking-at (org-item-re)) (org-element-plain-list-parser limit affiliated (or structure ...))) (t (org-element-paragraph-parser limit affiliated)))))))
(save-excursion (let ((case-fold-search t) (raw-secondary-p (and granularity (not (eq granularity (quote object)))))) (cond ((eq special (quote item)) (org-element-item-parser limit structure raw-secondary-p)) ((eq special (quote table-row)) (org-element-table-row-parser limit)) ((eq special (quote node-property)) (org-element-node-property-parser limit)) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (org-element-headline-parser limit raw-secondary-p)) ((eq special (quote section)) (org-element-section-parser limit)) ((eq special (quote first-section)) (org-element-section-parser (or (save-excursion (let* ... ...)) limit))) ((not (bolp)) (org-element-paragraph-parser limit (list (point)))) ((looking-at org-planning-or-clock-line-re) (if (equal (match-string 1) org-clock-string) (org-element-clock-parser limit) (org-element-planning-parser limit))) ((org-at-heading-p) (org-element-inlinetask-parser limit raw-secondary-p)) (t (let ((affiliated (org-element--collect-affiliated-keywords limit))) (cond ((and ... ...) (goto-char ...) (org-element-keyword-parser limit nil)) ((looking-at "[ ]*\\\\begin{[A-Za-z0-9*]+}\\(\\[.*?\\]\\|{.*?}\\)*[ ]*$") (org-element-latex-environment-parser limit affiliated)) ((looking-at org-drawer-regexp) (if ... ... ...)) ((looking-at "[ ]*:\\( \\|$\\)") (org-element-fixed-width-parser limit affiliated)) ((looking-at "[ ]*#") (goto-char ...) (cond ... ... ... ... ... ...)) ((looking-at org-footnote-definition-re) (org-element-footnote-definition-parser limit affiliated)) ((looking-at "[ ]*-\\{5,\\}[ ]*$") (org-element-horizontal-rule-parser limit affiliated)) ((looking-at "%%(") (org-element-diary-sexp-parser limit affiliated)) ((org-at-table-p t) (org-element-table-parser limit affiliated)) ((looking-at ...) (org-element-plain-list-parser limit affiliated ...)) (t (org-element-paragraph-parser limit affiliated))))))))
org-element--current-element(257706 element nil nil)
(setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent)))
(if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element))
(while t (if syncp (progn (cond ((= (point) pos) (throw (quote exit) parent)) ((org-element--cache-interrupt-p time-limit) (throw (quote interrupt) nil))))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and (<= elem-end pos) (/= (point-max) elem-end)) (goto-char elem-end)) ((not (memq type org-element-greater-elements)) (throw (quote exit) element)) ((let ((cbeg (org-element-property :contents-begin element)) (cend (org-element-property :contents-end element))) (if (or syncp (and cbeg cend ... ...)) (progn (goto-char ...) (setq next nil special-flag ... parent element end cend))))) (t (throw (quote exit) element)))) (setq element nil))
(let ((end (or (org-element-property :end element) (save-excursion (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (outline-next-heading)) (point)))) (parent element) special-flag) (while t (if syncp (progn (cond ((= (point) pos) (throw (quote exit) parent)) ((org-element--cache-interrupt-p time-limit) (throw (quote interrupt) nil))))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and (<= elem-end pos) (/= (point-max) elem-end)) (goto-char elem-end)) ((not (memq type org-element-greater-elements)) (throw (quote exit) element)) ((let ((cbeg ...) (cend ...)) (if (or syncp ...) (progn ... ...)))) (t (throw (quote exit) element)))) (setq element nil)))
(let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (outline-previous-heading)) (progn (forward-line))) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp (org-element-property :parent cached) cached))) ((re-search-backward (let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let ((up cached) (pos (if (= ... pos) (1- pos) pos))) (goto-char (or (org-element-property :contents-begin cached) begin)) (while (let ((end ...)) (and (<= end pos) (goto-char end) (setq up ...)))) (cond ((not up)) ((eobp) (setq element up)) (t (setq element up next (point))))))) (let ((end (or (org-element-property :end element) (save-excursion (let* (... ... ... ...) (outline-next-heading)) (point)))) (parent element) special-flag) (while t (if syncp (progn (cond ((= ... pos) (throw ... parent)) ((org-element--cache-interrupt-p time-limit) (throw ... nil))))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and (<= elem-end pos) (/= ... elem-end)) (goto-char elem-end)) ((not (memq type org-element-greater-elements)) (throw (quote exit) element)) ((let (... ...) (if ... ...))) (t (throw (quote exit) element)))) (setq element nil))))
(save-restriction (widen) (goto-char pos) (let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (outline-previous-heading)) (progn (forward-line))) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp (org-element-property :parent cached) cached))) ((re-search-backward (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let ((up cached) (pos (if ... ... pos))) (goto-char (or (org-element-property :contents-begin cached) begin)) (while (let (...) (and ... ... ...))) (cond ((not up)) ((eobp) (setq element up)) (t (setq element up next ...)))))) (let ((end (or (org-element-property :end element) (save-excursion (let* ... ...) (point)))) (parent element) special-flag) (while t (if syncp (progn (cond (... ...) (... ...)))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and ... ...) (goto-char elem-end)) ((not ...) (throw ... element)) ((let ... ...)) (t (throw ... element)))) (setq element nil)))))
(save-excursion (save-restriction (widen) (goto-char pos) (let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* (... ... ... ...) (outline-previous-heading)) (progn (forward-line))) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp (org-element-property :parent cached) cached))) ((re-search-backward (let* (... ... ... ...) org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let ((up cached) (pos ...)) (goto-char (or ... begin)) (while (let ... ...)) (cond (...) (... ...) (t ...))))) (let ((end (or (org-element-property :end element) (save-excursion ... ...))) (parent element) special-flag) (while t (if syncp (progn (cond ... ...))) (if element nil (setq element (org-element--current-element end ... special-flag ...)) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end ...) (type ...)) (cond (... ...) (... ...) (...) (t ...))) (setq element nil))))))
(catch (quote exit) (save-excursion (save-restriction (widen) (goto-char pos) (let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* ... ...) (progn ...)) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp ... cached))) ((re-search-backward (let* ... org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let (... ...) (goto-char ...) (while ...) (cond ... ... ...)))) (let ((end (or ... ...)) (parent element) special-flag) (while t (if syncp (progn ...)) (if element nil (setq element ...) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let (... ...) (cond ... ... ... ...)) (setq element nil)))))))
org-element--parse-to(257280)
(cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync (current-buffer) origin)))) (org-element--parse-to origin)))
(let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync (current-buffer) origin)))) (org-element--parse-to origin))))
(save-restriction (widen) (let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync ... origin)))) (org-element--parse-to origin)))))
(save-excursion (save-restriction (widen) (let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if ... ... ...))) (org-element--parse-to origin))))))
org-element-at-point()
(let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let ((p drawer)) (while (and (setq p (org-element-property :parent p)) (not (eq ... ...)))) (not p))) (progn (let ((end (org-element-property :contents-end drawer))) (if end (progn (forward-line) (while (< ... end) (if ... ...) (forward-line))))))))
(while (and (null plist) (re-search-forward org-property-start-re end t)) (let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let ((p drawer)) (while (and (setq p ...) (not ...))) (not p))) (progn (let ((end (org-element-property :contents-end drawer))) (if end (progn (forward-line) (while ... ... ...))))))))
(save-excursion (while (and (null plist) (re-search-forward org-property-start-re end t)) (let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let ((p drawer)) (while (and ... ...)) (not p))) (progn (let ((end ...)) (if end (progn ... ...))))))) plist)
(let ((end (save-excursion (let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (outline-next-heading)) (point))) plist) (save-excursion (while (and (null plist) (re-search-forward org-property-start-re end t)) (let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let (...) (while ...) (not p))) (progn (let (...) (if end ...)))))) plist))
(let* ((components (org-heading-components)) (level (nth 1 components)) (todo (nth 2 components)) (todo-type (and todo (if (member todo org-done-keywords) (quote done) (quote todo)))) (tags (let ((raw-tags (nth 5 components))) (and raw-tags (org-split-string raw-tags ":")))) (raw-value (or (nth 4 components) "")) (commentedp (let ((case-fold-search nil)) (string-match (format "^%s\\( \\|$\\)" org-comment-string) raw-value))) (archivedp (member org-archive-tag tags)) (footnote-section-p (and org-footnote-section (string= org-footnote-section raw-value))) (standard-props (let ((end (save-excursion (let* ... ...) (point))) plist) (save-excursion (while (and (null plist) (re-search-forward org-property-start-re end t)) (let (...) (if ... ...))) plist))) (time-props (save-excursion (forward-line) (if (looking-at org-planning-or-clock-line-re) (progn (let (... plist) (while ... ... ... ...) plist))))) (begin (point)) (end (min (save-excursion (org-end-of-subtree t t)) limit)) (pos-after-head (progn (forward-line) (point))) (contents-begin (save-excursion (skip-chars-forward " \r \n" end) (and (/= (point) end) (line-beginning-position)))) (contents-end (and contents-begin (progn (goto-char end) (skip-chars-backward " \r \n") (forward-line) (point))))) (if commentedp (progn (let ((case-fold-search nil)) (setq raw-value (replace-regexp-in-string (concat (regexp-quote org-comment-string) "\\(?: \\|$\\)") "" raw-value))))) (if archivedp (progn (setq tags (delete org-archive-tag tags)))) (let ((headline (list (quote headline) (nconc (list :raw-value raw-value :begin begin :end end :pre-blank (if ... 0 ...) :contents-begin contents-begin :contents-end contents-end :level level :priority (nth 3 components) :tags tags :todo-keyword todo :todo-type todo-type :post-blank (count-lines ... end) :footnote-section-p footnote-section-p :archivedp archivedp :commentedp commentedp) time-props standard-props)))) (let ((alt-title (org-element-property :ALT_TITLE headline))) (if alt-title (progn (org-element-put-property headline :alt-title (if raw-secondary-p alt-title (org-element-parse-secondary-string alt-title ... headline)))))) (org-element-put-property headline :title (if raw-secondary-p raw-value (org-element-parse-secondary-string raw-value (org-element-restriction (quote headline)) headline)))))
(save-excursion (let* ((components (org-heading-components)) (level (nth 1 components)) (todo (nth 2 components)) (todo-type (and todo (if (member todo org-done-keywords) (quote done) (quote todo)))) (tags (let ((raw-tags (nth 5 components))) (and raw-tags (org-split-string raw-tags ":")))) (raw-value (or (nth 4 components) "")) (commentedp (let ((case-fold-search nil)) (string-match (format "^%s\\( \\|$\\)" org-comment-string) raw-value))) (archivedp (member org-archive-tag tags)) (footnote-section-p (and org-footnote-section (string= org-footnote-section raw-value))) (standard-props (let ((end (save-excursion ... ...)) plist) (save-excursion (while (and ... ...) (let ... ...)) plist))) (time-props (save-excursion (forward-line) (if (looking-at org-planning-or-clock-line-re) (progn (let ... ... plist))))) (begin (point)) (end (min (save-excursion (org-end-of-subtree t t)) limit)) (pos-after-head (progn (forward-line) (point))) (contents-begin (save-excursion (skip-chars-forward " \r \n" end) (and (/= (point) end) (line-beginning-position)))) (contents-end (and contents-begin (progn (goto-char end) (skip-chars-backward " \r \n") (forward-line) (point))))) (if commentedp (progn (let ((case-fold-search nil)) (setq raw-value (replace-regexp-in-string (concat ... "\\(?: \\|$\\)") "" raw-value))))) (if archivedp (progn (setq tags (delete org-archive-tag tags)))) (let ((headline (list (quote headline) (nconc (list :raw-value raw-value :begin begin :end end :pre-blank ... :contents-begin contents-begin :contents-end contents-end :level level :priority ... :tags tags :todo-keyword todo :todo-type todo-type :post-blank ... :footnote-section-p footnote-section-p :archivedp archivedp :commentedp commentedp) time-props standard-props)))) (let ((alt-title (org-element-property :ALT_TITLE headline))) (if alt-title (progn (org-element-put-property headline :alt-title (if raw-secondary-p alt-title ...))))) (org-element-put-property headline :title (if raw-secondary-p raw-value (org-element-parse-secondary-string raw-value (org-element-restriction (quote headline)) headline))))))
org-element-headline-parser(257706 t)
(cond ((eq special (quote item)) (org-element-item-parser limit structure raw-secondary-p)) ((eq special (quote table-row)) (org-element-table-row-parser limit)) ((eq special (quote node-property)) (org-element-node-property-parser limit)) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (org-element-headline-parser limit raw-secondary-p)) ((eq special (quote section)) (org-element-section-parser limit)) ((eq special (quote first-section)) (org-element-section-parser (or (save-excursion (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (outline-next-heading))) limit))) ((not (bolp)) (org-element-paragraph-parser limit (list (point)))) ((looking-at org-planning-or-clock-line-re) (if (equal (match-string 1) org-clock-string) (org-element-clock-parser limit) (org-element-planning-parser limit))) ((org-at-heading-p) (org-element-inlinetask-parser limit raw-secondary-p)) (t (let ((affiliated (org-element--collect-affiliated-keywords limit))) (cond ((and (cdr affiliated) (>= (point) limit)) (goto-char (car affiliated)) (org-element-keyword-parser limit nil)) ((looking-at "[ ]*\\\\begin{[A-Za-z0-9*]+}\\(\\[.*?\\]\\|{.*?}\\)*[ ]*$") (org-element-latex-environment-parser limit affiliated)) ((looking-at org-drawer-regexp) (if (equal (match-string 1) "PROPERTIES") (org-element-property-drawer-parser limit affiliated) (org-element-drawer-parser limit affiliated))) ((looking-at "[ ]*:\\( \\|$\\)") (org-element-fixed-width-parser limit affiliated)) ((looking-at "[ ]*#") (goto-char (match-end 0)) (cond ((looking-at "\\(?: \\|$\\)") (beginning-of-line) (org-element-comment-parser limit affiliated)) ((looking-at "\\+BEGIN_\\(\\S-+\\)") (beginning-of-line) (let ... ...)) ((looking-at "\\+CALL:") (beginning-of-line) (org-element-babel-call-parser limit affiliated)) ((looking-at "\\+BEGIN:? ") (beginning-of-line) (org-element-dynamic-block-parser limit affiliated)) ((looking-at "\\+\\S-+:") (beginning-of-line) (org-element-keyword-parser limit affiliated)) (t (beginning-of-line) (org-element-paragraph-parser limit affiliated)))) ((looking-at org-footnote-definition-re) (org-element-footnote-definition-parser limit affiliated)) ((looking-at "[ ]*-\\{5,\\}[ ]*$") (org-element-horizontal-rule-parser limit affiliated)) ((looking-at "%%(") (org-element-diary-sexp-parser limit affiliated)) ((org-at-table-p t) (org-element-table-parser limit affiliated)) ((looking-at (org-item-re)) (org-element-plain-list-parser limit affiliated (or structure (org-element--list-struct limit)))) (t (org-element-paragraph-parser limit affiliated))))))
(let ((case-fold-search t) (raw-secondary-p (and granularity (not (eq granularity (quote object)))))) (cond ((eq special (quote item)) (org-element-item-parser limit structure raw-secondary-p)) ((eq special (quote table-row)) (org-element-table-row-parser limit)) ((eq special (quote node-property)) (org-element-node-property-parser limit)) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (org-element-headline-parser limit raw-secondary-p)) ((eq special (quote section)) (org-element-section-parser limit)) ((eq special (quote first-section)) (org-element-section-parser (or (save-excursion (let* (... ... ... ...) (outline-next-heading))) limit))) ((not (bolp)) (org-element-paragraph-parser limit (list (point)))) ((looking-at org-planning-or-clock-line-re) (if (equal (match-string 1) org-clock-string) (org-element-clock-parser limit) (org-element-planning-parser limit))) ((org-at-heading-p) (org-element-inlinetask-parser limit raw-secondary-p)) (t (let ((affiliated (org-element--collect-affiliated-keywords limit))) (cond ((and (cdr affiliated) (>= ... limit)) (goto-char (car affiliated)) (org-element-keyword-parser limit nil)) ((looking-at "[ ]*\\\\begin{[A-Za-z0-9*]+}\\(\\[.*?\\]\\|{.*?}\\)*[ ]*$") (org-element-latex-environment-parser limit affiliated)) ((looking-at org-drawer-regexp) (if (equal ... "PROPERTIES") (org-element-property-drawer-parser limit affiliated) (org-element-drawer-parser limit affiliated))) ((looking-at "[ ]*:\\( \\|$\\)") (org-element-fixed-width-parser limit affiliated)) ((looking-at "[ ]*#") (goto-char (match-end 0)) (cond (... ... ...) (... ... ...) (... ... ...) (... ... ...) (... ... ...) (t ... ...))) ((looking-at org-footnote-definition-re) (org-element-footnote-definition-parser limit affiliated)) ((looking-at "[ ]*-\\{5,\\}[ ]*$") (org-element-horizontal-rule-parser limit affiliated)) ((looking-at "%%(") (org-element-diary-sexp-parser limit affiliated)) ((org-at-table-p t) (org-element-table-parser limit affiliated)) ((looking-at (org-item-re)) (org-element-plain-list-parser limit affiliated (or structure ...))) (t (org-element-paragraph-parser limit affiliated)))))))
(save-excursion (let ((case-fold-search t) (raw-secondary-p (and granularity (not (eq granularity (quote object)))))) (cond ((eq special (quote item)) (org-element-item-parser limit structure raw-secondary-p)) ((eq special (quote table-row)) (org-element-table-row-parser limit)) ((eq special (quote node-property)) (org-element-node-property-parser limit)) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (org-element-headline-parser limit raw-secondary-p)) ((eq special (quote section)) (org-element-section-parser limit)) ((eq special (quote first-section)) (org-element-section-parser (or (save-excursion (let* ... ...)) limit))) ((not (bolp)) (org-element-paragraph-parser limit (list (point)))) ((looking-at org-planning-or-clock-line-re) (if (equal (match-string 1) org-clock-string) (org-element-clock-parser limit) (org-element-planning-parser limit))) ((org-at-heading-p) (org-element-inlinetask-parser limit raw-secondary-p)) (t (let ((affiliated (org-element--collect-affiliated-keywords limit))) (cond ((and ... ...) (goto-char ...) (org-element-keyword-parser limit nil)) ((looking-at "[ ]*\\\\begin{[A-Za-z0-9*]+}\\(\\[.*?\\]\\|{.*?}\\)*[ ]*$") (org-element-latex-environment-parser limit affiliated)) ((looking-at org-drawer-regexp) (if ... ... ...)) ((looking-at "[ ]*:\\( \\|$\\)") (org-element-fixed-width-parser limit affiliated)) ((looking-at "[ ]*#") (goto-char ...) (cond ... ... ... ... ... ...)) ((looking-at org-footnote-definition-re) (org-element-footnote-definition-parser limit affiliated)) ((looking-at "[ ]*-\\{5,\\}[ ]*$") (org-element-horizontal-rule-parser limit affiliated)) ((looking-at "%%(") (org-element-diary-sexp-parser limit affiliated)) ((org-at-table-p t) (org-element-table-parser limit affiliated)) ((looking-at ...) (org-element-plain-list-parser limit affiliated ...)) (t (org-element-paragraph-parser limit affiliated))))))))
org-element--current-element(257706 element nil nil)
(setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent)))
(if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element))
(while t (if syncp (progn (cond ((= (point) pos) (throw (quote exit) parent)) ((org-element--cache-interrupt-p time-limit) (throw (quote interrupt) nil))))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and (<= elem-end pos) (/= (point-max) elem-end)) (goto-char elem-end)) ((not (memq type org-element-greater-elements)) (throw (quote exit) element)) ((let ((cbeg (org-element-property :contents-begin element)) (cend (org-element-property :contents-end element))) (if (or syncp (and cbeg cend ... ...)) (progn (goto-char ...) (setq next nil special-flag ... parent element end cend))))) (t (throw (quote exit) element)))) (setq element nil))
(let ((end (or (org-element-property :end element) (save-excursion (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (outline-next-heading)) (point)))) (parent element) special-flag) (while t (if syncp (progn (cond ((= (point) pos) (throw (quote exit) parent)) ((org-element--cache-interrupt-p time-limit) (throw (quote interrupt) nil))))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and (<= elem-end pos) (/= (point-max) elem-end)) (goto-char elem-end)) ((not (memq type org-element-greater-elements)) (throw (quote exit) element)) ((let ((cbeg ...) (cend ...)) (if (or syncp ...) (progn ... ...)))) (t (throw (quote exit) element)))) (setq element nil)))
(let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (outline-previous-heading)) (progn (forward-line))) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp (org-element-property :parent cached) cached))) ((re-search-backward (let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let ((up cached) (pos (if (= ... pos) (1- pos) pos))) (goto-char (or (org-element-property :contents-begin cached) begin)) (while (let ((end ...)) (and (<= end pos) (goto-char end) (setq up ...)))) (cond ((not up)) ((eobp) (setq element up)) (t (setq element up next (point))))))) (let ((end (or (org-element-property :end element) (save-excursion (let* (... ... ... ...) (outline-next-heading)) (point)))) (parent element) special-flag) (while t (if syncp (progn (cond ((= ... pos) (throw ... parent)) ((org-element--cache-interrupt-p time-limit) (throw ... nil))))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and (<= elem-end pos) (/= ... elem-end)) (goto-char elem-end)) ((not (memq type org-element-greater-elements)) (throw (quote exit) element)) ((let (... ...) (if ... ...))) (t (throw (quote exit) element)))) (setq element nil))))
(save-restriction (widen) (goto-char pos) (let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (outline-previous-heading)) (progn (forward-line))) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp (org-element-property :parent cached) cached))) ((re-search-backward (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let ((up cached) (pos (if ... ... pos))) (goto-char (or (org-element-property :contents-begin cached) begin)) (while (let (...) (and ... ... ...))) (cond ((not up)) ((eobp) (setq element up)) (t (setq element up next ...)))))) (let ((end (or (org-element-property :end element) (save-excursion (let* ... ...) (point)))) (parent element) special-flag) (while t (if syncp (progn (cond (... ...) (... ...)))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and ... ...) (goto-char elem-end)) ((not ...) (throw ... element)) ((let ... ...)) (t (throw ... element)))) (setq element nil)))))
(save-excursion (save-restriction (widen) (goto-char pos) (let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* (... ... ... ...) (outline-previous-heading)) (progn (forward-line))) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp (org-element-property :parent cached) cached))) ((re-search-backward (let* (... ... ... ...) org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let ((up cached) (pos ...)) (goto-char (or ... begin)) (while (let ... ...)) (cond (...) (... ...) (t ...))))) (let ((end (or (org-element-property :end element) (save-excursion ... ...))) (parent element) special-flag) (while t (if syncp (progn (cond ... ...))) (if element nil (setq element (org-element--current-element end ... special-flag ...)) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end ...) (type ...)) (cond (... ...) (... ...) (...) (t ...))) (setq element nil))))))
(catch (quote exit) (save-excursion (save-restriction (widen) (goto-char pos) (let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* ... ...) (progn ...)) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp ... cached))) ((re-search-backward (let* ... org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let (... ...) (goto-char ...) (while ...) (cond ... ... ...)))) (let ((end (or ... ...)) (parent element) special-flag) (while t (if syncp (progn ...)) (if element nil (setq element ...) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let (... ...) (cond ... ... ... ...)) (setq element nil)))))))
org-element--parse-to(257280)
(cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync (current-buffer) origin)))) (org-element--parse-to origin)))
(let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync (current-buffer) origin)))) (org-element--parse-to origin))))
(save-restriction (widen) (let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync ... origin)))) (org-element--parse-to origin)))))
(save-excursion (save-restriction (widen) (let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if ... ... ...))) (org-element--parse-to origin))))))
org-element-at-point()
(let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let ((p drawer)) (while (and (setq p (org-element-property :parent p)) (not (eq ... ...)))) (not p))) (progn (let ((end (org-element-property :contents-end drawer))) (if end (progn (forward-line) (while (< ... end) (if ... ...) (forward-line))))))))
(while (and (null plist) (re-search-forward org-property-start-re end t)) (let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let ((p drawer)) (while (and (setq p ...) (not ...))) (not p))) (progn (let ((end (org-element-property :contents-end drawer))) (if end (progn (forward-line) (while ... ... ...))))))))
(save-excursion (while (and (null plist) (re-search-forward org-property-start-re end t)) (let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let ((p drawer)) (while (and ... ...)) (not p))) (progn (let ((end ...)) (if end (progn ... ...))))))) plist)
(let ((end (save-excursion (let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (outline-next-heading)) (point))) plist) (save-excursion (while (and (null plist) (re-search-forward org-property-start-re end t)) (let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let (...) (while ...) (not p))) (progn (let (...) (if end ...)))))) plist))
(let* ((components (org-heading-components)) (level (nth 1 components)) (todo (nth 2 components)) (todo-type (and todo (if (member todo org-done-keywords) (quote done) (quote todo)))) (tags (let ((raw-tags (nth 5 components))) (and raw-tags (org-split-string raw-tags ":")))) (raw-value (or (nth 4 components) "")) (commentedp (let ((case-fold-search nil)) (string-match (format "^%s\\( \\|$\\)" org-comment-string) raw-value))) (archivedp (member org-archive-tag tags)) (footnote-section-p (and org-footnote-section (string= org-footnote-section raw-value))) (standard-props (let ((end (save-excursion (let* ... ...) (point))) plist) (save-excursion (while (and (null plist) (re-search-forward org-property-start-re end t)) (let (...) (if ... ...))) plist))) (time-props (save-excursion (forward-line) (if (looking-at org-planning-or-clock-line-re) (progn (let (... plist) (while ... ... ... ...) plist))))) (begin (point)) (end (min (save-excursion (org-end-of-subtree t t)) limit)) (pos-after-head (progn (forward-line) (point))) (contents-begin (save-excursion (skip-chars-forward " \r \n" end) (and (/= (point) end) (line-beginning-position)))) (contents-end (and contents-begin (progn (goto-char end) (skip-chars-backward " \r \n") (forward-line) (point))))) (if commentedp (progn (let ((case-fold-search nil)) (setq raw-value (replace-regexp-in-string (concat (regexp-quote org-comment-string) "\\(?: \\|$\\)") "" raw-value))))) (if archivedp (progn (setq tags (delete org-archive-tag tags)))) (let ((headline (list (quote headline) (nconc (list :raw-value raw-value :begin begin :end end :pre-blank (if ... 0 ...) :contents-begin contents-begin :contents-end contents-end :level level :priority (nth 3 components) :tags tags :todo-keyword todo :todo-type todo-type :post-blank (count-lines ... end) :footnote-section-p footnote-section-p :archivedp archivedp :commentedp commentedp) time-props standard-props)))) (let ((alt-title (org-element-property :ALT_TITLE headline))) (if alt-title (progn (org-element-put-property headline :alt-title (if raw-secondary-p alt-title (org-element-parse-secondary-string alt-title ... headline)))))) (org-element-put-property headline :title (if raw-secondary-p raw-value (org-element-parse-secondary-string raw-value (org-element-restriction (quote headline)) headline)))))
(save-excursion (let* ((components (org-heading-components)) (level (nth 1 components)) (todo (nth 2 components)) (todo-type (and todo (if (member todo org-done-keywords) (quote done) (quote todo)))) (tags (let ((raw-tags (nth 5 components))) (and raw-tags (org-split-string raw-tags ":")))) (raw-value (or (nth 4 components) "")) (commentedp (let ((case-fold-search nil)) (string-match (format "^%s\\( \\|$\\)" org-comment-string) raw-value))) (archivedp (member org-archive-tag tags)) (footnote-section-p (and org-footnote-section (string= org-footnote-section raw-value))) (standard-props (let ((end (save-excursion ... ...)) plist) (save-excursion (while (and ... ...) (let ... ...)) plist))) (time-props (save-excursion (forward-line) (if (looking-at org-planning-or-clock-line-re) (progn (let ... ... plist))))) (begin (point)) (end (min (save-excursion (org-end-of-subtree t t)) limit)) (pos-after-head (progn (forward-line) (point))) (contents-begin (save-excursion (skip-chars-forward " \r \n" end) (and (/= (point) end) (line-beginning-position)))) (contents-end (and contents-begin (progn (goto-char end) (skip-chars-backward " \r \n") (forward-line) (point))))) (if commentedp (progn (let ((case-fold-search nil)) (setq raw-value (replace-regexp-in-string (concat ... "\\(?: \\|$\\)") "" raw-value))))) (if archivedp (progn (setq tags (delete org-archive-tag tags)))) (let ((headline (list (quote headline) (nconc (list :raw-value raw-value :begin begin :end end :pre-blank ... :contents-begin contents-begin :contents-end contents-end :level level :priority ... :tags tags :todo-keyword todo :todo-type todo-type :post-blank ... :footnote-section-p footnote-section-p :archivedp archivedp :commentedp commentedp) time-props standard-props)))) (let ((alt-title (org-element-property :ALT_TITLE headline))) (if alt-title (progn (org-element-put-property headline :alt-title (if raw-secondary-p alt-title ...))))) (org-element-put-property headline :title (if raw-secondary-p raw-value (org-element-parse-secondary-string raw-value (org-element-restriction (quote headline)) headline))))))
org-element-headline-parser(257706 t)
(cond ((eq special (quote item)) (org-element-item-parser limit structure raw-secondary-p)) ((eq special (quote table-row)) (org-element-table-row-parser limit)) ((eq special (quote node-property)) (org-element-node-property-parser limit)) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (org-element-headline-parser limit raw-secondary-p)) ((eq special (quote section)) (org-element-section-parser limit)) ((eq special (quote first-section)) (org-element-section-parser (or (save-excursion (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (outline-next-heading))) limit))) ((not (bolp)) (org-element-paragraph-parser limit (list (point)))) ((looking-at org-planning-or-clock-line-re) (if (equal (match-string 1) org-clock-string) (org-element-clock-parser limit) (org-element-planning-parser limit))) ((org-at-heading-p) (org-element-inlinetask-parser limit raw-secondary-p)) (t (let ((affiliated (org-element--collect-affiliated-keywords limit))) (cond ((and (cdr affiliated) (>= (point) limit)) (goto-char (car affiliated)) (org-element-keyword-parser limit nil)) ((looking-at "[ ]*\\\\begin{[A-Za-z0-9*]+}\\(\\[.*?\\]\\|{.*?}\\)*[ ]*$") (org-element-latex-environment-parser limit affiliated)) ((looking-at org-drawer-regexp) (if (equal (match-string 1) "PROPERTIES") (org-element-property-drawer-parser limit affiliated) (org-element-drawer-parser limit affiliated))) ((looking-at "[ ]*:\\( \\|$\\)") (org-element-fixed-width-parser limit affiliated)) ((looking-at "[ ]*#") (goto-char (match-end 0)) (cond ((looking-at "\\(?: \\|$\\)") (beginning-of-line) (org-element-comment-parser limit affiliated)) ((looking-at "\\+BEGIN_\\(\\S-+\\)") (beginning-of-line) (let ... ...)) ((looking-at "\\+CALL:") (beginning-of-line) (org-element-babel-call-parser limit affiliated)) ((looking-at "\\+BEGIN:? ") (beginning-of-line) (org-element-dynamic-block-parser limit affiliated)) ((looking-at "\\+\\S-+:") (beginning-of-line) (org-element-keyword-parser limit affiliated)) (t (beginning-of-line) (org-element-paragraph-parser limit affiliated)))) ((looking-at org-footnote-definition-re) (org-element-footnote-definition-parser limit affiliated)) ((looking-at "[ ]*-\\{5,\\}[ ]*$") (org-element-horizontal-rule-parser limit affiliated)) ((looking-at "%%(") (org-element-diary-sexp-parser limit affiliated)) ((org-at-table-p t) (org-element-table-parser limit affiliated)) ((looking-at (org-item-re)) (org-element-plain-list-parser limit affiliated (or structure (org-element--list-struct limit)))) (t (org-element-paragraph-parser limit affiliated))))))
(let ((case-fold-search t) (raw-secondary-p (and granularity (not (eq granularity (quote object)))))) (cond ((eq special (quote item)) (org-element-item-parser limit structure raw-secondary-p)) ((eq special (quote table-row)) (org-element-table-row-parser limit)) ((eq special (quote node-property)) (org-element-node-property-parser limit)) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (org-element-headline-parser limit raw-secondary-p)) ((eq special (quote section)) (org-element-section-parser limit)) ((eq special (quote first-section)) (org-element-section-parser (or (save-excursion (let* (... ... ... ...) (outline-next-heading))) limit))) ((not (bolp)) (org-element-paragraph-parser limit (list (point)))) ((looking-at org-planning-or-clock-line-re) (if (equal (match-string 1) org-clock-string) (org-element-clock-parser limit) (org-element-planning-parser limit))) ((org-at-heading-p) (org-element-inlinetask-parser limit raw-secondary-p)) (t (let ((affiliated (org-element--collect-affiliated-keywords limit))) (cond ((and (cdr affiliated) (>= ... limit)) (goto-char (car affiliated)) (org-element-keyword-parser limit nil)) ((looking-at "[ ]*\\\\begin{[A-Za-z0-9*]+}\\(\\[.*?\\]\\|{.*?}\\)*[ ]*$") (org-element-latex-environment-parser limit affiliated)) ((looking-at org-drawer-regexp) (if (equal ... "PROPERTIES") (org-element-property-drawer-parser limit affiliated) (org-element-drawer-parser limit affiliated))) ((looking-at "[ ]*:\\( \\|$\\)") (org-element-fixed-width-parser limit affiliated)) ((looking-at "[ ]*#") (goto-char (match-end 0)) (cond (... ... ...) (... ... ...) (... ... ...) (... ... ...) (... ... ...) (t ... ...))) ((looking-at org-footnote-definition-re) (org-element-footnote-definition-parser limit affiliated)) ((looking-at "[ ]*-\\{5,\\}[ ]*$") (org-element-horizontal-rule-parser limit affiliated)) ((looking-at "%%(") (org-element-diary-sexp-parser limit affiliated)) ((org-at-table-p t) (org-element-table-parser limit affiliated)) ((looking-at (org-item-re)) (org-element-plain-list-parser limit affiliated (or structure ...))) (t (org-element-paragraph-parser limit affiliated)))))))
(save-excursion (let ((case-fold-search t) (raw-secondary-p (and granularity (not (eq granularity (quote object)))))) (cond ((eq special (quote item)) (org-element-item-parser limit structure raw-secondary-p)) ((eq special (quote table-row)) (org-element-table-row-parser limit)) ((eq special (quote node-property)) (org-element-node-property-parser limit)) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (org-element-headline-parser limit raw-secondary-p)) ((eq special (quote section)) (org-element-section-parser limit)) ((eq special (quote first-section)) (org-element-section-parser (or (save-excursion (let* ... ...)) limit))) ((not (bolp)) (org-element-paragraph-parser limit (list (point)))) ((looking-at org-planning-or-clock-line-re) (if (equal (match-string 1) org-clock-string) (org-element-clock-parser limit) (org-element-planning-parser limit))) ((org-at-heading-p) (org-element-inlinetask-parser limit raw-secondary-p)) (t (let ((affiliated (org-element--collect-affiliated-keywords limit))) (cond ((and ... ...) (goto-char ...) (org-element-keyword-parser limit nil)) ((looking-at "[ ]*\\\\begin{[A-Za-z0-9*]+}\\(\\[.*?\\]\\|{.*?}\\)*[ ]*$") (org-element-latex-environment-parser limit affiliated)) ((looking-at org-drawer-regexp) (if ... ... ...)) ((looking-at "[ ]*:\\( \\|$\\)") (org-element-fixed-width-parser limit affiliated)) ((looking-at "[ ]*#") (goto-char ...) (cond ... ... ... ... ... ...)) ((looking-at org-footnote-definition-re) (org-element-footnote-definition-parser limit affiliated)) ((looking-at "[ ]*-\\{5,\\}[ ]*$") (org-element-horizontal-rule-parser limit affiliated)) ((looking-at "%%(") (org-element-diary-sexp-parser limit affiliated)) ((org-at-table-p t) (org-element-table-parser limit affiliated)) ((looking-at ...) (org-element-plain-list-parser limit affiliated ...)) (t (org-element-paragraph-parser limit affiliated))))))))
org-element--current-element(257706 element nil nil)
(setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent)))
(if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element))
(while t (if syncp (progn (cond ((= (point) pos) (throw (quote exit) parent)) ((org-element--cache-interrupt-p time-limit) (throw (quote interrupt) nil))))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and (<= elem-end pos) (/= (point-max) elem-end)) (goto-char elem-end)) ((not (memq type org-element-greater-elements)) (throw (quote exit) element)) ((let ((cbeg (org-element-property :contents-begin element)) (cend (org-element-property :contents-end element))) (if (or syncp (and cbeg cend ... ...)) (progn (goto-char ...) (setq next nil special-flag ... parent element end cend))))) (t (throw (quote exit) element)))) (setq element nil))
(let ((end (or (org-element-property :end element) (save-excursion (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (outline-next-heading)) (point)))) (parent element) special-flag) (while t (if syncp (progn (cond ((= (point) pos) (throw (quote exit) parent)) ((org-element--cache-interrupt-p time-limit) (throw (quote interrupt) nil))))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and (<= elem-end pos) (/= (point-max) elem-end)) (goto-char elem-end)) ((not (memq type org-element-greater-elements)) (throw (quote exit) element)) ((let ((cbeg ...) (cend ...)) (if (or syncp ...) (progn ... ...)))) (t (throw (quote exit) element)))) (setq element nil)))
(let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (outline-previous-heading)) (progn (forward-line))) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp (org-element-property :parent cached) cached))) ((re-search-backward (let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let ((up cached) (pos (if (= ... pos) (1- pos) pos))) (goto-char (or (org-element-property :contents-begin cached) begin)) (while (let ((end ...)) (and (<= end pos) (goto-char end) (setq up ...)))) (cond ((not up)) ((eobp) (setq element up)) (t (setq element up next (point))))))) (let ((end (or (org-element-property :end element) (save-excursion (let* (... ... ... ...) (outline-next-heading)) (point)))) (parent element) special-flag) (while t (if syncp (progn (cond ((= ... pos) (throw ... parent)) ((org-element--cache-interrupt-p time-limit) (throw ... nil))))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and (<= elem-end pos) (/= ... elem-end)) (goto-char elem-end)) ((not (memq type org-element-greater-elements)) (throw (quote exit) element)) ((let (... ...) (if ... ...))) (t (throw (quote exit) element)))) (setq element nil))))
(save-restriction (widen) (goto-char pos) (let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (outline-previous-heading)) (progn (forward-line))) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp (org-element-property :parent cached) cached))) ((re-search-backward (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let ((up cached) (pos (if ... ... pos))) (goto-char (or (org-element-property :contents-begin cached) begin)) (while (let (...) (and ... ... ...))) (cond ((not up)) ((eobp) (setq element up)) (t (setq element up next ...)))))) (let ((end (or (org-element-property :end element) (save-excursion (let* ... ...) (point)))) (parent element) special-flag) (while t (if syncp (progn (cond (... ...) (... ...)))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and ... ...) (goto-char elem-end)) ((not ...) (throw ... element)) ((let ... ...)) (t (throw ... element)))) (setq element nil)))))
(save-excursion (save-restriction (widen) (goto-char pos) (let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* (... ... ... ...) (outline-previous-heading)) (progn (forward-line))) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp (org-element-property :parent cached) cached))) ((re-search-backward (let* (... ... ... ...) org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let ((up cached) (pos ...)) (goto-char (or ... begin)) (while (let ... ...)) (cond (...) (... ...) (t ...))))) (let ((end (or (org-element-property :end element) (save-excursion ... ...))) (parent element) special-flag) (while t (if syncp (progn (cond ... ...))) (if element nil (setq element (org-element--current-element end ... special-flag ...)) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end ...) (type ...)) (cond (... ...) (... ...) (...) (t ...))) (setq element nil))))))
(catch (quote exit) (save-excursion (save-restriction (widen) (goto-char pos) (let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* ... ...) (progn ...)) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp ... cached))) ((re-search-backward (let* ... org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let (... ...) (goto-char ...) (while ...) (cond ... ... ...)))) (let ((end (or ... ...)) (parent element) special-flag) (while t (if syncp (progn ...)) (if element nil (setq element ...) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let (... ...) (cond ... ... ... ...)) (setq element nil)))))))
org-element--parse-to(257280)
(cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync (current-buffer) origin)))) (org-element--parse-to origin)))
(let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync (current-buffer) origin)))) (org-element--parse-to origin))))
(save-restriction (widen) (let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync ... origin)))) (org-element--parse-to origin)))))
(save-excursion (save-restriction (widen) (let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if ... ... ...))) (org-element--parse-to origin))))))
org-element-at-point()
(let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let ((p drawer)) (while (and (setq p (org-element-property :parent p)) (not (eq ... ...)))) (not p))) (progn (let ((end (org-element-property :contents-end drawer))) (if end (progn (forward-line) (while (< ... end) (if ... ...) (forward-line))))))))
(while (and (null plist) (re-search-forward org-property-start-re end t)) (let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let ((p drawer)) (while (and (setq p ...) (not ...))) (not p))) (progn (let ((end (org-element-property :contents-end drawer))) (if end (progn (forward-line) (while ... ... ...))))))))
(save-excursion (while (and (null plist) (re-search-forward org-property-start-re end t)) (let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let ((p drawer)) (while (and ... ...)) (not p))) (progn (let ((end ...)) (if end (progn ... ...))))))) plist)
(let ((end (save-excursion (let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (outline-next-heading)) (point))) plist) (save-excursion (while (and (null plist) (re-search-forward org-property-start-re end t)) (let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let (...) (while ...) (not p))) (progn (let (...) (if end ...)))))) plist))
(let* ((components (org-heading-components)) (level (nth 1 components)) (todo (nth 2 components)) (todo-type (and todo (if (member todo org-done-keywords) (quote done) (quote todo)))) (tags (let ((raw-tags (nth 5 components))) (and raw-tags (org-split-string raw-tags ":")))) (raw-value (or (nth 4 components) "")) (commentedp (let ((case-fold-search nil)) (string-match (format "^%s\\( \\|$\\)" org-comment-string) raw-value))) (archivedp (member org-archive-tag tags)) (footnote-section-p (and org-footnote-section (string= org-footnote-section raw-value))) (standard-props (let ((end (save-excursion (let* ... ...) (point))) plist) (save-excursion (while (and (null plist) (re-search-forward org-property-start-re end t)) (let (...) (if ... ...))) plist))) (time-props (save-excursion (forward-line) (if (looking-at org-planning-or-clock-line-re) (progn (let (... plist) (while ... ... ... ...) plist))))) (begin (point)) (end (min (save-excursion (org-end-of-subtree t t)) limit)) (pos-after-head (progn (forward-line) (point))) (contents-begin (save-excursion (skip-chars-forward " \r \n" end) (and (/= (point) end) (line-beginning-position)))) (contents-end (and contents-begin (progn (goto-char end) (skip-chars-backward " \r \n") (forward-line) (point))))) (if commentedp (progn (let ((case-fold-search nil)) (setq raw-value (replace-regexp-in-string (concat (regexp-quote org-comment-string) "\\(?: \\|$\\)") "" raw-value))))) (if archivedp (progn (setq tags (delete org-archive-tag tags)))) (let ((headline (list (quote headline) (nconc (list :raw-value raw-value :begin begin :end end :pre-blank (if ... 0 ...) :contents-begin contents-begin :contents-end contents-end :level level :priority (nth 3 components) :tags tags :todo-keyword todo :todo-type todo-type :post-blank (count-lines ... end) :footnote-section-p footnote-section-p :archivedp archivedp :commentedp commentedp) time-props standard-props)))) (let ((alt-title (org-element-property :ALT_TITLE headline))) (if alt-title (progn (org-element-put-property headline :alt-title (if raw-secondary-p alt-title (org-element-parse-secondary-string alt-title ... headline)))))) (org-element-put-property headline :title (if raw-secondary-p raw-value (org-element-parse-secondary-string raw-value (org-element-restriction (quote headline)) headline)))))
(save-excursion (let* ((components (org-heading-components)) (level (nth 1 components)) (todo (nth 2 components)) (todo-type (and todo (if (member todo org-done-keywords) (quote done) (quote todo)))) (tags (let ((raw-tags (nth 5 components))) (and raw-tags (org-split-string raw-tags ":")))) (raw-value (or (nth 4 components) "")) (commentedp (let ((case-fold-search nil)) (string-match (format "^%s\\( \\|$\\)" org-comment-string) raw-value))) (archivedp (member org-archive-tag tags)) (footnote-section-p (and org-footnote-section (string= org-footnote-section raw-value))) (standard-props (let ((end (save-excursion ... ...)) plist) (save-excursion (while (and ... ...) (let ... ...)) plist))) (time-props (save-excursion (forward-line) (if (looking-at org-planning-or-clock-line-re) (progn (let ... ... plist))))) (begin (point)) (end (min (save-excursion (org-end-of-subtree t t)) limit)) (pos-after-head (progn (forward-line) (point))) (contents-begin (save-excursion (skip-chars-forward " \r \n" end) (and (/= (point) end) (line-beginning-position)))) (contents-end (and contents-begin (progn (goto-char end) (skip-chars-backward " \r \n") (forward-line) (point))))) (if commentedp (progn (let ((case-fold-search nil)) (setq raw-value (replace-regexp-in-string (concat ... "\\(?: \\|$\\)") "" raw-value))))) (if archivedp (progn (setq tags (delete org-archive-tag tags)))) (let ((headline (list (quote headline) (nconc (list :raw-value raw-value :begin begin :end end :pre-blank ... :contents-begin contents-begin :contents-end contents-end :level level :priority ... :tags tags :todo-keyword todo :todo-type todo-type :post-blank ... :footnote-section-p footnote-section-p :archivedp archivedp :commentedp commentedp) time-props standard-props)))) (let ((alt-title (org-element-property :ALT_TITLE headline))) (if alt-title (progn (org-element-put-property headline :alt-title (if raw-secondary-p alt-title ...))))) (org-element-put-property headline :title (if raw-secondary-p raw-value (org-element-parse-secondary-string raw-value (org-element-restriction (quote headline)) headline))))))
org-element-headline-parser(257706 t)
(cond ((eq special (quote item)) (org-element-item-parser limit structure raw-secondary-p)) ((eq special (quote table-row)) (org-element-table-row-parser limit)) ((eq special (quote node-property)) (org-element-node-property-parser limit)) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (org-element-headline-parser limit raw-secondary-p)) ((eq special (quote section)) (org-element-section-parser limit)) ((eq special (quote first-section)) (org-element-section-parser (or (save-excursion (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (outline-next-heading))) limit))) ((not (bolp)) (org-element-paragraph-parser limit (list (point)))) ((looking-at org-planning-or-clock-line-re) (if (equal (match-string 1) org-clock-string) (org-element-clock-parser limit) (org-element-planning-parser limit))) ((org-at-heading-p) (org-element-inlinetask-parser limit raw-secondary-p)) (t (let ((affiliated (org-element--collect-affiliated-keywords limit))) (cond ((and (cdr affiliated) (>= (point) limit)) (goto-char (car affiliated)) (org-element-keyword-parser limit nil)) ((looking-at "[ ]*\\\\begin{[A-Za-z0-9*]+}\\(\\[.*?\\]\\|{.*?}\\)*[ ]*$") (org-element-latex-environment-parser limit affiliated)) ((looking-at org-drawer-regexp) (if (equal (match-string 1) "PROPERTIES") (org-element-property-drawer-parser limit affiliated) (org-element-drawer-parser limit affiliated))) ((looking-at "[ ]*:\\( \\|$\\)") (org-element-fixed-width-parser limit affiliated)) ((looking-at "[ ]*#") (goto-char (match-end 0)) (cond ((looking-at "\\(?: \\|$\\)") (beginning-of-line) (org-element-comment-parser limit affiliated)) ((looking-at "\\+BEGIN_\\(\\S-+\\)") (beginning-of-line) (let ... ...)) ((looking-at "\\+CALL:") (beginning-of-line) (org-element-babel-call-parser limit affiliated)) ((looking-at "\\+BEGIN:? ") (beginning-of-line) (org-element-dynamic-block-parser limit affiliated)) ((looking-at "\\+\\S-+:") (beginning-of-line) (org-element-keyword-parser limit affiliated)) (t (beginning-of-line) (org-element-paragraph-parser limit affiliated)))) ((looking-at org-footnote-definition-re) (org-element-footnote-definition-parser limit affiliated)) ((looking-at "[ ]*-\\{5,\\}[ ]*$") (org-element-horizontal-rule-parser limit affiliated)) ((looking-at "%%(") (org-element-diary-sexp-parser limit affiliated)) ((org-at-table-p t) (org-element-table-parser limit affiliated)) ((looking-at (org-item-re)) (org-element-plain-list-parser limit affiliated (or structure (org-element--list-struct limit)))) (t (org-element-paragraph-parser limit affiliated))))))
(let ((case-fold-search t) (raw-secondary-p (and granularity (not (eq granularity (quote object)))))) (cond ((eq special (quote item)) (org-element-item-parser limit structure raw-secondary-p)) ((eq special (quote table-row)) (org-element-table-row-parser limit)) ((eq special (quote node-property)) (org-element-node-property-parser limit)) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (org-element-headline-parser limit raw-secondary-p)) ((eq special (quote section)) (org-element-section-parser limit)) ((eq special (quote first-section)) (org-element-section-parser (or (save-excursion (let* (... ... ... ...) (outline-next-heading))) limit))) ((not (bolp)) (org-element-paragraph-parser limit (list (point)))) ((looking-at org-planning-or-clock-line-re) (if (equal (match-string 1) org-clock-string) (org-element-clock-parser limit) (org-element-planning-parser limit))) ((org-at-heading-p) (org-element-inlinetask-parser limit raw-secondary-p)) (t (let ((affiliated (org-element--collect-affiliated-keywords limit))) (cond ((and (cdr affiliated) (>= ... limit)) (goto-char (car affiliated)) (org-element-keyword-parser limit nil)) ((looking-at "[ ]*\\\\begin{[A-Za-z0-9*]+}\\(\\[.*?\\]\\|{.*?}\\)*[ ]*$") (org-element-latex-environment-parser limit affiliated)) ((looking-at org-drawer-regexp) (if (equal ... "PROPERTIES") (org-element-property-drawer-parser limit affiliated) (org-element-drawer-parser limit affiliated))) ((looking-at "[ ]*:\\( \\|$\\)") (org-element-fixed-width-parser limit affiliated)) ((looking-at "[ ]*#") (goto-char (match-end 0)) (cond (... ... ...) (... ... ...) (... ... ...) (... ... ...) (... ... ...) (t ... ...))) ((looking-at org-footnote-definition-re) (org-element-footnote-definition-parser limit affiliated)) ((looking-at "[ ]*-\\{5,\\}[ ]*$") (org-element-horizontal-rule-parser limit affiliated)) ((looking-at "%%(") (org-element-diary-sexp-parser limit affiliated)) ((org-at-table-p t) (org-element-table-parser limit affiliated)) ((looking-at (org-item-re)) (org-element-plain-list-parser limit affiliated (or structure ...))) (t (org-element-paragraph-parser limit affiliated)))))))
(save-excursion (let ((case-fold-search t) (raw-secondary-p (and granularity (not (eq granularity (quote object)))))) (cond ((eq special (quote item)) (org-element-item-parser limit structure raw-secondary-p)) ((eq special (quote table-row)) (org-element-table-row-parser limit)) ((eq special (quote node-property)) (org-element-node-property-parser limit)) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (org-element-headline-parser limit raw-secondary-p)) ((eq special (quote section)) (org-element-section-parser limit)) ((eq special (quote first-section)) (org-element-section-parser (or (save-excursion (let* ... ...)) limit))) ((not (bolp)) (org-element-paragraph-parser limit (list (point)))) ((looking-at org-planning-or-clock-line-re) (if (equal (match-string 1) org-clock-string) (org-element-clock-parser limit) (org-element-planning-parser limit))) ((org-at-heading-p) (org-element-inlinetask-parser limit raw-secondary-p)) (t (let ((affiliated (org-element--collect-affiliated-keywords limit))) (cond ((and ... ...) (goto-char ...) (org-element-keyword-parser limit nil)) ((looking-at "[ ]*\\\\begin{[A-Za-z0-9*]+}\\(\\[.*?\\]\\|{.*?}\\)*[ ]*$") (org-element-latex-environment-parser limit affiliated)) ((looking-at org-drawer-regexp) (if ... ... ...)) ((looking-at "[ ]*:\\( \\|$\\)") (org-element-fixed-width-parser limit affiliated)) ((looking-at "[ ]*#") (goto-char ...) (cond ... ... ... ... ... ...)) ((looking-at org-footnote-definition-re) (org-element-footnote-definition-parser limit affiliated)) ((looking-at "[ ]*-\\{5,\\}[ ]*$") (org-element-horizontal-rule-parser limit affiliated)) ((looking-at "%%(") (org-element-diary-sexp-parser limit affiliated)) ((org-at-table-p t) (org-element-table-parser limit affiliated)) ((looking-at ...) (org-element-plain-list-parser limit affiliated ...)) (t (org-element-paragraph-parser limit affiliated))))))))
org-element--current-element(257706 element nil nil)
(setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent)))
(if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element))
(while t (if syncp (progn (cond ((= (point) pos) (throw (quote exit) parent)) ((org-element--cache-interrupt-p time-limit) (throw (quote interrupt) nil))))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and (<= elem-end pos) (/= (point-max) elem-end)) (goto-char elem-end)) ((not (memq type org-element-greater-elements)) (throw (quote exit) element)) ((let ((cbeg (org-element-property :contents-begin element)) (cend (org-element-property :contents-end element))) (if (or syncp (and cbeg cend ... ...)) (progn (goto-char ...) (setq next nil special-flag ... parent element end cend))))) (t (throw (quote exit) element)))) (setq element nil))
(let ((end (or (org-element-property :end element) (save-excursion (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (outline-next-heading)) (point)))) (parent element) special-flag) (while t (if syncp (progn (cond ((= (point) pos) (throw (quote exit) parent)) ((org-element--cache-interrupt-p time-limit) (throw (quote interrupt) nil))))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and (<= elem-end pos) (/= (point-max) elem-end)) (goto-char elem-end)) ((not (memq type org-element-greater-elements)) (throw (quote exit) element)) ((let ((cbeg ...) (cend ...)) (if (or syncp ...) (progn ... ...)))) (t (throw (quote exit) element)))) (setq element nil)))
(let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (outline-previous-heading)) (progn (forward-line))) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp (org-element-property :parent cached) cached))) ((re-search-backward (let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let ((up cached) (pos (if (= ... pos) (1- pos) pos))) (goto-char (or (org-element-property :contents-begin cached) begin)) (while (let ((end ...)) (and (<= end pos) (goto-char end) (setq up ...)))) (cond ((not up)) ((eobp) (setq element up)) (t (setq element up next (point))))))) (let ((end (or (org-element-property :end element) (save-excursion (let* (... ... ... ...) (outline-next-heading)) (point)))) (parent element) special-flag) (while t (if syncp (progn (cond ((= ... pos) (throw ... parent)) ((org-element--cache-interrupt-p time-limit) (throw ... nil))))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and (<= elem-end pos) (/= ... elem-end)) (goto-char elem-end)) ((not (memq type org-element-greater-elements)) (throw (quote exit) element)) ((let (... ...) (if ... ...))) (t (throw (quote exit) element)))) (setq element nil))))
(save-restriction (widen) (goto-char pos) (let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (outline-previous-heading)) (progn (forward-line))) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp (org-element-property :parent cached) cached))) ((re-search-backward (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let ((up cached) (pos (if ... ... pos))) (goto-char (or (org-element-property :contents-begin cached) begin)) (while (let (...) (and ... ... ...))) (cond ((not up)) ((eobp) (setq element up)) (t (setq element up next ...)))))) (let ((end (or (org-element-property :end element) (save-excursion (let* ... ...) (point)))) (parent element) special-flag) (while t (if syncp (progn (cond (... ...) (... ...)))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and ... ...) (goto-char elem-end)) ((not ...) (throw ... element)) ((let ... ...)) (t (throw ... element)))) (setq element nil)))))
(save-excursion (save-restriction (widen) (goto-char pos) (let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* (... ... ... ...) (outline-previous-heading)) (progn (forward-line))) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp (org-element-property :parent cached) cached))) ((re-search-backward (let* (... ... ... ...) org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let ((up cached) (pos ...)) (goto-char (or ... begin)) (while (let ... ...)) (cond (...) (... ...) (t ...))))) (let ((end (or (org-element-property :end element) (save-excursion ... ...))) (parent element) special-flag) (while t (if syncp (progn (cond ... ...))) (if element nil (setq element (org-element--current-element end ... special-flag ...)) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end ...) (type ...)) (cond (... ...) (... ...) (...) (t ...))) (setq element nil))))))
(catch (quote exit) (save-excursion (save-restriction (widen) (goto-char pos) (let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* ... ...) (progn ...)) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp ... cached))) ((re-search-backward (let* ... org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let (... ...) (goto-char ...) (while ...) (cond ... ... ...)))) (let ((end (or ... ...)) (parent element) special-flag) (while t (if syncp (progn ...)) (if element nil (setq element ...) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let (... ...) (cond ... ... ... ...)) (setq element nil)))))))
org-element--parse-to(257280)
(cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync (current-buffer) origin)))) (org-element--parse-to origin)))
(let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync (current-buffer) origin)))) (org-element--parse-to origin))))
(save-restriction (widen) (let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync ... origin)))) (org-element--parse-to origin)))))
(save-excursion (save-restriction (widen) (let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if ... ... ...))) (org-element--parse-to origin))))))
org-element-at-point()
(let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let ((p drawer)) (while (and (setq p (org-element-property :parent p)) (not (eq ... ...)))) (not p))) (progn (let ((end (org-element-property :contents-end drawer))) (if end (progn (forward-line) (while (< ... end) (if ... ...) (forward-line))))))))
(while (and (null plist) (re-search-forward org-property-start-re end t)) (let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let ((p drawer)) (while (and (setq p ...) (not ...))) (not p))) (progn (let ((end (org-element-property :contents-end drawer))) (if end (progn (forward-line) (while ... ... ...))))))))
(save-excursion (while (and (null plist) (re-search-forward org-property-start-re end t)) (let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let ((p drawer)) (while (and ... ...)) (not p))) (progn (let ((end ...)) (if end (progn ... ...))))))) plist)
(let ((end (save-excursion (let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (outline-next-heading)) (point))) plist) (save-excursion (while (and (null plist) (re-search-forward org-property-start-re end t)) (let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let (...) (while ...) (not p))) (progn (let (...) (if end ...)))))) plist))
(let* ((components (org-heading-components)) (level (nth 1 components)) (todo (nth 2 components)) (todo-type (and todo (if (member todo org-done-keywords) (quote done) (quote todo)))) (tags (let ((raw-tags (nth 5 components))) (and raw-tags (org-split-string raw-tags ":")))) (raw-value (or (nth 4 components) "")) (commentedp (let ((case-fold-search nil)) (string-match (format "^%s\\( \\|$\\)" org-comment-string) raw-value))) (archivedp (member org-archive-tag tags)) (footnote-section-p (and org-footnote-section (string= org-footnote-section raw-value))) (standard-props (let ((end (save-excursion (let* ... ...) (point))) plist) (save-excursion (while (and (null plist) (re-search-forward org-property-start-re end t)) (let (...) (if ... ...))) plist))) (time-props (save-excursion (forward-line) (if (looking-at org-planning-or-clock-line-re) (progn (let (... plist) (while ... ... ... ...) plist))))) (begin (point)) (end (min (save-excursion (org-end-of-subtree t t)) limit)) (pos-after-head (progn (forward-line) (point))) (contents-begin (save-excursion (skip-chars-forward " \r \n" end) (and (/= (point) end) (line-beginning-position)))) (contents-end (and contents-begin (progn (goto-char end) (skip-chars-backward " \r \n") (forward-line) (point))))) (if commentedp (progn (let ((case-fold-search nil)) (setq raw-value (replace-regexp-in-string (concat (regexp-quote org-comment-string) "\\(?: \\|$\\)") "" raw-value))))) (if archivedp (progn (setq tags (delete org-archive-tag tags)))) (let ((headline (list (quote headline) (nconc (list :raw-value raw-value :begin begin :end end :pre-blank (if ... 0 ...) :contents-begin contents-begin :contents-end contents-end :level level :priority (nth 3 components) :tags tags :todo-keyword todo :todo-type todo-type :post-blank (count-lines ... end) :footnote-section-p footnote-section-p :archivedp archivedp :commentedp commentedp) time-props standard-props)))) (let ((alt-title (org-element-property :ALT_TITLE headline))) (if alt-title (progn (org-element-put-property headline :alt-title (if raw-secondary-p alt-title (org-element-parse-secondary-string alt-title ... headline)))))) (org-element-put-property headline :title (if raw-secondary-p raw-value (org-element-parse-secondary-string raw-value (org-element-restriction (quote headline)) headline)))))
(save-excursion (let* ((components (org-heading-components)) (level (nth 1 components)) (todo (nth 2 components)) (todo-type (and todo (if (member todo org-done-keywords) (quote done) (quote todo)))) (tags (let ((raw-tags (nth 5 components))) (and raw-tags (org-split-string raw-tags ":")))) (raw-value (or (nth 4 components) "")) (commentedp (let ((case-fold-search nil)) (string-match (format "^%s\\( \\|$\\)" org-comment-string) raw-value))) (archivedp (member org-archive-tag tags)) (footnote-section-p (and org-footnote-section (string= org-footnote-section raw-value))) (standard-props (let ((end (save-excursion ... ...)) plist) (save-excursion (while (and ... ...) (let ... ...)) plist))) (time-props (save-excursion (forward-line) (if (looking-at org-planning-or-clock-line-re) (progn (let ... ... plist))))) (begin (point)) (end (min (save-excursion (org-end-of-subtree t t)) limit)) (pos-after-head (progn (forward-line) (point))) (contents-begin (save-excursion (skip-chars-forward " \r \n" end) (and (/= (point) end) (line-beginning-position)))) (contents-end (and contents-begin (progn (goto-char end) (skip-chars-backward " \r \n") (forward-line) (point))))) (if commentedp (progn (let ((case-fold-search nil)) (setq raw-value (replace-regexp-in-string (concat ... "\\(?: \\|$\\)") "" raw-value))))) (if archivedp (progn (setq tags (delete org-archive-tag tags)))) (let ((headline (list (quote headline) (nconc (list :raw-value raw-value :begin begin :end end :pre-blank ... :contents-begin contents-begin :contents-end contents-end :level level :priority ... :tags tags :todo-keyword todo :todo-type todo-type :post-blank ... :footnote-section-p footnote-section-p :archivedp archivedp :commentedp commentedp) time-props standard-props)))) (let ((alt-title (org-element-property :ALT_TITLE headline))) (if alt-title (progn (org-element-put-property headline :alt-title (if raw-secondary-p alt-title ...))))) (org-element-put-property headline :title (if raw-secondary-p raw-value (org-element-parse-secondary-string raw-value (org-element-restriction (quote headline)) headline))))))
org-element-headline-parser(257706 t)
(cond ((eq special (quote item)) (org-element-item-parser limit structure raw-secondary-p)) ((eq special (quote table-row)) (org-element-table-row-parser limit)) ((eq special (quote node-property)) (org-element-node-property-parser limit)) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (org-element-headline-parser limit raw-secondary-p)) ((eq special (quote section)) (org-element-section-parser limit)) ((eq special (quote first-section)) (org-element-section-parser (or (save-excursion (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (outline-next-heading))) limit))) ((not (bolp)) (org-element-paragraph-parser limit (list (point)))) ((looking-at org-planning-or-clock-line-re) (if (equal (match-string 1) org-clock-string) (org-element-clock-parser limit) (org-element-planning-parser limit))) ((org-at-heading-p) (org-element-inlinetask-parser limit raw-secondary-p)) (t (let ((affiliated (org-element--collect-affiliated-keywords limit))) (cond ((and (cdr affiliated) (>= (point) limit)) (goto-char (car affiliated)) (org-element-keyword-parser limit nil)) ((looking-at "[ ]*\\\\begin{[A-Za-z0-9*]+}\\(\\[.*?\\]\\|{.*?}\\)*[ ]*$") (org-element-latex-environment-parser limit affiliated)) ((looking-at org-drawer-regexp) (if (equal (match-string 1) "PROPERTIES") (org-element-property-drawer-parser limit affiliated) (org-element-drawer-parser limit affiliated))) ((looking-at "[ ]*:\\( \\|$\\)") (org-element-fixed-width-parser limit affiliated)) ((looking-at "[ ]*#") (goto-char (match-end 0)) (cond ((looking-at "\\(?: \\|$\\)") (beginning-of-line) (org-element-comment-parser limit affiliated)) ((looking-at "\\+BEGIN_\\(\\S-+\\)") (beginning-of-line) (let ... ...)) ((looking-at "\\+CALL:") (beginning-of-line) (org-element-babel-call-parser limit affiliated)) ((looking-at "\\+BEGIN:? ") (beginning-of-line) (org-element-dynamic-block-parser limit affiliated)) ((looking-at "\\+\\S-+:") (beginning-of-line) (org-element-keyword-parser limit affiliated)) (t (beginning-of-line) (org-element-paragraph-parser limit affiliated)))) ((looking-at org-footnote-definition-re) (org-element-footnote-definition-parser limit affiliated)) ((looking-at "[ ]*-\\{5,\\}[ ]*$") (org-element-horizontal-rule-parser limit affiliated)) ((looking-at "%%(") (org-element-diary-sexp-parser limit affiliated)) ((org-at-table-p t) (org-element-table-parser limit affiliated)) ((looking-at (org-item-re)) (org-element-plain-list-parser limit affiliated (or structure (org-element--list-struct limit)))) (t (org-element-paragraph-parser limit affiliated))))))
(let ((case-fold-search t) (raw-secondary-p (and granularity (not (eq granularity (quote object)))))) (cond ((eq special (quote item)) (org-element-item-parser limit structure raw-secondary-p)) ((eq special (quote table-row)) (org-element-table-row-parser limit)) ((eq special (quote node-property)) (org-element-node-property-parser limit)) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (org-element-headline-parser limit raw-secondary-p)) ((eq special (quote section)) (org-element-section-parser limit)) ((eq special (quote first-section)) (org-element-section-parser (or (save-excursion (let* (... ... ... ...) (outline-next-heading))) limit))) ((not (bolp)) (org-element-paragraph-parser limit (list (point)))) ((looking-at org-planning-or-clock-line-re) (if (equal (match-string 1) org-clock-string) (org-element-clock-parser limit) (org-element-planning-parser limit))) ((org-at-heading-p) (org-element-inlinetask-parser limit raw-secondary-p)) (t (let ((affiliated (org-element--collect-affiliated-keywords limit))) (cond ((and (cdr affiliated) (>= ... limit)) (goto-char (car affiliated)) (org-element-keyword-parser limit nil)) ((looking-at "[ ]*\\\\begin{[A-Za-z0-9*]+}\\(\\[.*?\\]\\|{.*?}\\)*[ ]*$") (org-element-latex-environment-parser limit affiliated)) ((looking-at org-drawer-regexp) (if (equal ... "PROPERTIES") (org-element-property-drawer-parser limit affiliated) (org-element-drawer-parser limit affiliated))) ((looking-at "[ ]*:\\( \\|$\\)") (org-element-fixed-width-parser limit affiliated)) ((looking-at "[ ]*#") (goto-char (match-end 0)) (cond (... ... ...) (... ... ...) (... ... ...) (... ... ...) (... ... ...) (t ... ...))) ((looking-at org-footnote-definition-re) (org-element-footnote-definition-parser limit affiliated)) ((looking-at "[ ]*-\\{5,\\}[ ]*$") (org-element-horizontal-rule-parser limit affiliated)) ((looking-at "%%(") (org-element-diary-sexp-parser limit affiliated)) ((org-at-table-p t) (org-element-table-parser limit affiliated)) ((looking-at (org-item-re)) (org-element-plain-list-parser limit affiliated (or structure ...))) (t (org-element-paragraph-parser limit affiliated)))))))
(save-excursion (let ((case-fold-search t) (raw-secondary-p (and granularity (not (eq granularity (quote object)))))) (cond ((eq special (quote item)) (org-element-item-parser limit structure raw-secondary-p)) ((eq special (quote table-row)) (org-element-table-row-parser limit)) ((eq special (quote node-property)) (org-element-node-property-parser limit)) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (org-element-headline-parser limit raw-secondary-p)) ((eq special (quote section)) (org-element-section-parser limit)) ((eq special (quote first-section)) (org-element-section-parser (or (save-excursion (let* ... ...)) limit))) ((not (bolp)) (org-element-paragraph-parser limit (list (point)))) ((looking-at org-planning-or-clock-line-re) (if (equal (match-string 1) org-clock-string) (org-element-clock-parser limit) (org-element-planning-parser limit))) ((org-at-heading-p) (org-element-inlinetask-parser limit raw-secondary-p)) (t (let ((affiliated (org-element--collect-affiliated-keywords limit))) (cond ((and ... ...) (goto-char ...) (org-element-keyword-parser limit nil)) ((looking-at "[ ]*\\\\begin{[A-Za-z0-9*]+}\\(\\[.*?\\]\\|{.*?}\\)*[ ]*$") (org-element-latex-environment-parser limit affiliated)) ((looking-at org-drawer-regexp) (if ... ... ...)) ((looking-at "[ ]*:\\( \\|$\\)") (org-element-fixed-width-parser limit affiliated)) ((looking-at "[ ]*#") (goto-char ...) (cond ... ... ... ... ... ...)) ((looking-at org-footnote-definition-re) (org-element-footnote-definition-parser limit affiliated)) ((looking-at "[ ]*-\\{5,\\}[ ]*$") (org-element-horizontal-rule-parser limit affiliated)) ((looking-at "%%(") (org-element-diary-sexp-parser limit affiliated)) ((org-at-table-p t) (org-element-table-parser limit affiliated)) ((looking-at ...) (org-element-plain-list-parser limit affiliated ...)) (t (org-element-paragraph-parser limit affiliated))))))))
org-element--current-element(257706 element nil nil)
(setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent)))
(if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element))
(while t (if syncp (progn (cond ((= (point) pos) (throw (quote exit) parent)) ((org-element--cache-interrupt-p time-limit) (throw (quote interrupt) nil))))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and (<= elem-end pos) (/= (point-max) elem-end)) (goto-char elem-end)) ((not (memq type org-element-greater-elements)) (throw (quote exit) element)) ((let ((cbeg (org-element-property :contents-begin element)) (cend (org-element-property :contents-end element))) (if (or syncp (and cbeg cend ... ...)) (progn (goto-char ...) (setq next nil special-flag ... parent element end cend))))) (t (throw (quote exit) element)))) (setq element nil))
(let ((end (or (org-element-property :end element) (save-excursion (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (outline-next-heading)) (point)))) (parent element) special-flag) (while t (if syncp (progn (cond ((= (point) pos) (throw (quote exit) parent)) ((org-element--cache-interrupt-p time-limit) (throw (quote interrupt) nil))))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and (<= elem-end pos) (/= (point-max) elem-end)) (goto-char elem-end)) ((not (memq type org-element-greater-elements)) (throw (quote exit) element)) ((let ((cbeg ...) (cend ...)) (if (or syncp ...) (progn ... ...)))) (t (throw (quote exit) element)))) (setq element nil)))
(let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (outline-previous-heading)) (progn (forward-line))) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp (org-element-property :parent cached) cached))) ((re-search-backward (let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let ((up cached) (pos (if (= ... pos) (1- pos) pos))) (goto-char (or (org-element-property :contents-begin cached) begin)) (while (let ((end ...)) (and (<= end pos) (goto-char end) (setq up ...)))) (cond ((not up)) ((eobp) (setq element up)) (t (setq element up next (point))))))) (let ((end (or (org-element-property :end element) (save-excursion (let* (... ... ... ...) (outline-next-heading)) (point)))) (parent element) special-flag) (while t (if syncp (progn (cond ((= ... pos) (throw ... parent)) ((org-element--cache-interrupt-p time-limit) (throw ... nil))))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and (<= elem-end pos) (/= ... elem-end)) (goto-char elem-end)) ((not (memq type org-element-greater-elements)) (throw (quote exit) element)) ((let (... ...) (if ... ...))) (t (throw (quote exit) element)))) (setq element nil))))
(save-restriction (widen) (goto-char pos) (let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (outline-previous-heading)) (progn (forward-line))) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp (org-element-property :parent cached) cached))) ((re-search-backward (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let ((up cached) (pos (if ... ... pos))) (goto-char (or (org-element-property :contents-begin cached) begin)) (while (let (...) (and ... ... ...))) (cond ((not up)) ((eobp) (setq element up)) (t (setq element up next ...)))))) (let ((end (or (org-element-property :end element) (save-excursion (let* ... ...) (point)))) (parent element) special-flag) (while t (if syncp (progn (cond (... ...) (... ...)))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and ... ...) (goto-char elem-end)) ((not ...) (throw ... element)) ((let ... ...)) (t (throw ... element)))) (setq element nil)))))
(save-excursion (save-restriction (widen) (goto-char pos) (let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* (... ... ... ...) (outline-previous-heading)) (progn (forward-line))) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp (org-element-property :parent cached) cached))) ((re-search-backward (let* (... ... ... ...) org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let ((up cached) (pos ...)) (goto-char (or ... begin)) (while (let ... ...)) (cond (...) (... ...) (t ...))))) (let ((end (or (org-element-property :end element) (save-excursion ... ...))) (parent element) special-flag) (while t (if syncp (progn (cond ... ...))) (if element nil (setq element (org-element--current-element end ... special-flag ...)) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end ...) (type ...)) (cond (... ...) (... ...) (...) (t ...))) (setq element nil))))))
(catch (quote exit) (save-excursion (save-restriction (widen) (goto-char pos) (let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* ... ...) (progn ...)) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp ... cached))) ((re-search-backward (let* ... org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let (... ...) (goto-char ...) (while ...) (cond ... ... ...)))) (let ((end (or ... ...)) (parent element) special-flag) (while t (if syncp (progn ...)) (if element nil (setq element ...) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let (... ...) (cond ... ... ... ...)) (setq element nil)))))))
org-element--parse-to(257280)
(cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync (current-buffer) origin)))) (org-element--parse-to origin)))
(let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync (current-buffer) origin)))) (org-element--parse-to origin))))
(save-restriction (widen) (let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync ... origin)))) (org-element--parse-to origin)))))
(save-excursion (save-restriction (widen) (let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if ... ... ...))) (org-element--parse-to origin))))))
org-element-at-point()
(let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let ((p drawer)) (while (and (setq p (org-element-property :parent p)) (not (eq ... ...)))) (not p))) (progn (let ((end (org-element-property :contents-end drawer))) (if end (progn (forward-line) (while (< ... end) (if ... ...) (forward-line))))))))
(while (and (null plist) (re-search-forward org-property-start-re end t)) (let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let ((p drawer)) (while (and (setq p ...) (not ...))) (not p))) (progn (let ((end (org-element-property :contents-end drawer))) (if end (progn (forward-line) (while ... ... ...))))))))
(save-excursion (while (and (null plist) (re-search-forward org-property-start-re end t)) (let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let ((p drawer)) (while (and ... ...)) (not p))) (progn (let ((end ...)) (if end (progn ... ...))))))) plist)
(let ((end (save-excursion (let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (outline-next-heading)) (point))) plist) (save-excursion (while (and (null plist) (re-search-forward org-property-start-re end t)) (let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let (...) (while ...) (not p))) (progn (let (...) (if end ...)))))) plist))
(let* ((components (org-heading-components)) (level (nth 1 components)) (todo (nth 2 components)) (todo-type (and todo (if (member todo org-done-keywords) (quote done) (quote todo)))) (tags (let ((raw-tags (nth 5 components))) (and raw-tags (org-split-string raw-tags ":")))) (raw-value (or (nth 4 components) "")) (commentedp (let ((case-fold-search nil)) (string-match (format "^%s\\( \\|$\\)" org-comment-string) raw-value))) (archivedp (member org-archive-tag tags)) (footnote-section-p (and org-footnote-section (string= org-footnote-section raw-value))) (standard-props (let ((end (save-excursion (let* ... ...) (point))) plist) (save-excursion (while (and (null plist) (re-search-forward org-property-start-re end t)) (let (...) (if ... ...))) plist))) (time-props (save-excursion (forward-line) (if (looking-at org-planning-or-clock-line-re) (progn (let (... plist) (while ... ... ... ...) plist))))) (begin (point)) (end (min (save-excursion (org-end-of-subtree t t)) limit)) (pos-after-head (progn (forward-line) (point))) (contents-begin (save-excursion (skip-chars-forward " \r \n" end) (and (/= (point) end) (line-beginning-position)))) (contents-end (and contents-begin (progn (goto-char end) (skip-chars-backward " \r \n") (forward-line) (point))))) (if commentedp (progn (let ((case-fold-search nil)) (setq raw-value (replace-regexp-in-string (concat (regexp-quote org-comment-string) "\\(?: \\|$\\)") "" raw-value))))) (if archivedp (progn (setq tags (delete org-archive-tag tags)))) (let ((headline (list (quote headline) (nconc (list :raw-value raw-value :begin begin :end end :pre-blank (if ... 0 ...) :contents-begin contents-begin :contents-end contents-end :level level :priority (nth 3 components) :tags tags :todo-keyword todo :todo-type todo-type :post-blank (count-lines ... end) :footnote-section-p footnote-section-p :archivedp archivedp :commentedp commentedp) time-props standard-props)))) (let ((alt-title (org-element-property :ALT_TITLE headline))) (if alt-title (progn (org-element-put-property headline :alt-title (if raw-secondary-p alt-title (org-element-parse-secondary-string alt-title ... headline)))))) (org-element-put-property headline :title (if raw-secondary-p raw-value (org-element-parse-secondary-string raw-value (org-element-restriction (quote headline)) headline)))))
(save-excursion (let* ((components (org-heading-components)) (level (nth 1 components)) (todo (nth 2 components)) (todo-type (and todo (if (member todo org-done-keywords) (quote done) (quote todo)))) (tags (let ((raw-tags (nth 5 components))) (and raw-tags (org-split-string raw-tags ":")))) (raw-value (or (nth 4 components) "")) (commentedp (let ((case-fold-search nil)) (string-match (format "^%s\\( \\|$\\)" org-comment-string) raw-value))) (archivedp (member org-archive-tag tags)) (footnote-section-p (and org-footnote-section (string= org-footnote-section raw-value))) (standard-props (let ((end (save-excursion ... ...)) plist) (save-excursion (while (and ... ...) (let ... ...)) plist))) (time-props (save-excursion (forward-line) (if (looking-at org-planning-or-clock-line-re) (progn (let ... ... plist))))) (begin (point)) (end (min (save-excursion (org-end-of-subtree t t)) limit)) (pos-after-head (progn (forward-line) (point))) (contents-begin (save-excursion (skip-chars-forward " \r \n" end) (and (/= (point) end) (line-beginning-position)))) (contents-end (and contents-begin (progn (goto-char end) (skip-chars-backward " \r \n") (forward-line) (point))))) (if commentedp (progn (let ((case-fold-search nil)) (setq raw-value (replace-regexp-in-string (concat ... "\\(?: \\|$\\)") "" raw-value))))) (if archivedp (progn (setq tags (delete org-archive-tag tags)))) (let ((headline (list (quote headline) (nconc (list :raw-value raw-value :begin begin :end end :pre-blank ... :contents-begin contents-begin :contents-end contents-end :level level :priority ... :tags tags :todo-keyword todo :todo-type todo-type :post-blank ... :footnote-section-p footnote-section-p :archivedp archivedp :commentedp commentedp) time-props standard-props)))) (let ((alt-title (org-element-property :ALT_TITLE headline))) (if alt-title (progn (org-element-put-property headline :alt-title (if raw-secondary-p alt-title ...))))) (org-element-put-property headline :title (if raw-secondary-p raw-value (org-element-parse-secondary-string raw-value (org-element-restriction (quote headline)) headline))))))
org-element-headline-parser(257706 t)
(cond ((eq special (quote item)) (org-element-item-parser limit structure raw-secondary-p)) ((eq special (quote table-row)) (org-element-table-row-parser limit)) ((eq special (quote node-property)) (org-element-node-property-parser limit)) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (org-element-headline-parser limit raw-secondary-p)) ((eq special (quote section)) (org-element-section-parser limit)) ((eq special (quote first-section)) (org-element-section-parser (or (save-excursion (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (outline-next-heading))) limit))) ((not (bolp)) (org-element-paragraph-parser limit (list (point)))) ((looking-at org-planning-or-clock-line-re) (if (equal (match-string 1) org-clock-string) (org-element-clock-parser limit) (org-element-planning-parser limit))) ((org-at-heading-p) (org-element-inlinetask-parser limit raw-secondary-p)) (t (let ((affiliated (org-element--collect-affiliated-keywords limit))) (cond ((and (cdr affiliated) (>= (point) limit)) (goto-char (car affiliated)) (org-element-keyword-parser limit nil)) ((looking-at "[ ]*\\\\begin{[A-Za-z0-9*]+}\\(\\[.*?\\]\\|{.*?}\\)*[ ]*$") (org-element-latex-environment-parser limit affiliated)) ((looking-at org-drawer-regexp) (if (equal (match-string 1) "PROPERTIES") (org-element-property-drawer-parser limit affiliated) (org-element-drawer-parser limit affiliated))) ((looking-at "[ ]*:\\( \\|$\\)") (org-element-fixed-width-parser limit affiliated)) ((looking-at "[ ]*#") (goto-char (match-end 0)) (cond ((looking-at "\\(?: \\|$\\)") (beginning-of-line) (org-element-comment-parser limit affiliated)) ((looking-at "\\+BEGIN_\\(\\S-+\\)") (beginning-of-line) (let ... ...)) ((looking-at "\\+CALL:") (beginning-of-line) (org-element-babel-call-parser limit affiliated)) ((looking-at "\\+BEGIN:? ") (beginning-of-line) (org-element-dynamic-block-parser limit affiliated)) ((looking-at "\\+\\S-+:") (beginning-of-line) (org-element-keyword-parser limit affiliated)) (t (beginning-of-line) (org-element-paragraph-parser limit affiliated)))) ((looking-at org-footnote-definition-re) (org-element-footnote-definition-parser limit affiliated)) ((looking-at "[ ]*-\\{5,\\}[ ]*$") (org-element-horizontal-rule-parser limit affiliated)) ((looking-at "%%(") (org-element-diary-sexp-parser limit affiliated)) ((org-at-table-p t) (org-element-table-parser limit affiliated)) ((looking-at (org-item-re)) (org-element-plain-list-parser limit affiliated (or structure (org-element--list-struct limit)))) (t (org-element-paragraph-parser limit affiliated))))))
(let ((case-fold-search t) (raw-secondary-p (and granularity (not (eq granularity (quote object)))))) (cond ((eq special (quote item)) (org-element-item-parser limit structure raw-secondary-p)) ((eq special (quote table-row)) (org-element-table-row-parser limit)) ((eq special (quote node-property)) (org-element-node-property-parser limit)) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (org-element-headline-parser limit raw-secondary-p)) ((eq special (quote section)) (org-element-section-parser limit)) ((eq special (quote first-section)) (org-element-section-parser (or (save-excursion (let* (... ... ... ...) (outline-next-heading))) limit))) ((not (bolp)) (org-element-paragraph-parser limit (list (point)))) ((looking-at org-planning-or-clock-line-re) (if (equal (match-string 1) org-clock-string) (org-element-clock-parser limit) (org-element-planning-parser limit))) ((org-at-heading-p) (org-element-inlinetask-parser limit raw-secondary-p)) (t (let ((affiliated (org-element--collect-affiliated-keywords limit))) (cond ((and (cdr affiliated) (>= ... limit)) (goto-char (car affiliated)) (org-element-keyword-parser limit nil)) ((looking-at "[ ]*\\\\begin{[A-Za-z0-9*]+}\\(\\[.*?\\]\\|{.*?}\\)*[ ]*$") (org-element-latex-environment-parser limit affiliated)) ((looking-at org-drawer-regexp) (if (equal ... "PROPERTIES") (org-element-property-drawer-parser limit affiliated) (org-element-drawer-parser limit affiliated))) ((looking-at "[ ]*:\\( \\|$\\)") (org-element-fixed-width-parser limit affiliated)) ((looking-at "[ ]*#") (goto-char (match-end 0)) (cond (... ... ...) (... ... ...) (... ... ...) (... ... ...) (... ... ...) (t ... ...))) ((looking-at org-footnote-definition-re) (org-element-footnote-definition-parser limit affiliated)) ((looking-at "[ ]*-\\{5,\\}[ ]*$") (org-element-horizontal-rule-parser limit affiliated)) ((looking-at "%%(") (org-element-diary-sexp-parser limit affiliated)) ((org-at-table-p t) (org-element-table-parser limit affiliated)) ((looking-at (org-item-re)) (org-element-plain-list-parser limit affiliated (or structure ...))) (t (org-element-paragraph-parser limit affiliated)))))))
(save-excursion (let ((case-fold-search t) (raw-secondary-p (and granularity (not (eq granularity (quote object)))))) (cond ((eq special (quote item)) (org-element-item-parser limit structure raw-secondary-p)) ((eq special (quote table-row)) (org-element-table-row-parser limit)) ((eq special (quote node-property)) (org-element-node-property-parser limit)) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (org-element-headline-parser limit raw-secondary-p)) ((eq special (quote section)) (org-element-section-parser limit)) ((eq special (quote first-section)) (org-element-section-parser (or (save-excursion (let* ... ...)) limit))) ((not (bolp)) (org-element-paragraph-parser limit (list (point)))) ((looking-at org-planning-or-clock-line-re) (if (equal (match-string 1) org-clock-string) (org-element-clock-parser limit) (org-element-planning-parser limit))) ((org-at-heading-p) (org-element-inlinetask-parser limit raw-secondary-p)) (t (let ((affiliated (org-element--collect-affiliated-keywords limit))) (cond ((and ... ...) (goto-char ...) (org-element-keyword-parser limit nil)) ((looking-at "[ ]*\\\\begin{[A-Za-z0-9*]+}\\(\\[.*?\\]\\|{.*?}\\)*[ ]*$") (org-element-latex-environment-parser limit affiliated)) ((looking-at org-drawer-regexp) (if ... ... ...)) ((looking-at "[ ]*:\\( \\|$\\)") (org-element-fixed-width-parser limit affiliated)) ((looking-at "[ ]*#") (goto-char ...) (cond ... ... ... ... ... ...)) ((looking-at org-footnote-definition-re) (org-element-footnote-definition-parser limit affiliated)) ((looking-at "[ ]*-\\{5,\\}[ ]*$") (org-element-horizontal-rule-parser limit affiliated)) ((looking-at "%%(") (org-element-diary-sexp-parser limit affiliated)) ((org-at-table-p t) (org-element-table-parser limit affiliated)) ((looking-at ...) (org-element-plain-list-parser limit affiliated ...)) (t (org-element-paragraph-parser limit affiliated))))))))
org-element--current-element(257706 element nil nil)
(setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent)))
(if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element))
(while t (if syncp (progn (cond ((= (point) pos) (throw (quote exit) parent)) ((org-element--cache-interrupt-p time-limit) (throw (quote interrupt) nil))))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and (<= elem-end pos) (/= (point-max) elem-end)) (goto-char elem-end)) ((not (memq type org-element-greater-elements)) (throw (quote exit) element)) ((let ((cbeg (org-element-property :contents-begin element)) (cend (org-element-property :contents-end element))) (if (or syncp (and cbeg cend ... ...)) (progn (goto-char ...) (setq next nil special-flag ... parent element end cend))))) (t (throw (quote exit) element)))) (setq element nil))
(let ((end (or (org-element-property :end element) (save-excursion (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (outline-next-heading)) (point)))) (parent element) special-flag) (while t (if syncp (progn (cond ((= (point) pos) (throw (quote exit) parent)) ((org-element--cache-interrupt-p time-limit) (throw (quote interrupt) nil))))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and (<= elem-end pos) (/= (point-max) elem-end)) (goto-char elem-end)) ((not (memq type org-element-greater-elements)) (throw (quote exit) element)) ((let ((cbeg ...) (cend ...)) (if (or syncp ...) (progn ... ...)))) (t (throw (quote exit) element)))) (setq element nil)))
(let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (outline-previous-heading)) (progn (forward-line))) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp (org-element-property :parent cached) cached))) ((re-search-backward (let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let ((up cached) (pos (if (= ... pos) (1- pos) pos))) (goto-char (or (org-element-property :contents-begin cached) begin)) (while (let ((end ...)) (and (<= end pos) (goto-char end) (setq up ...)))) (cond ((not up)) ((eobp) (setq element up)) (t (setq element up next (point))))))) (let ((end (or (org-element-property :end element) (save-excursion (let* (... ... ... ...) (outline-next-heading)) (point)))) (parent element) special-flag) (while t (if syncp (progn (cond ((= ... pos) (throw ... parent)) ((org-element--cache-interrupt-p time-limit) (throw ... nil))))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and (<= elem-end pos) (/= ... elem-end)) (goto-char elem-end)) ((not (memq type org-element-greater-elements)) (throw (quote exit) element)) ((let (... ...) (if ... ...))) (t (throw (quote exit) element)))) (setq element nil))))
(save-restriction (widen) (goto-char pos) (let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (outline-previous-heading)) (progn (forward-line))) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp (org-element-property :parent cached) cached))) ((re-search-backward (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let ((up cached) (pos (if ... ... pos))) (goto-char (or (org-element-property :contents-begin cached) begin)) (while (let (...) (and ... ... ...))) (cond ((not up)) ((eobp) (setq element up)) (t (setq element up next ...)))))) (let ((end (or (org-element-property :end element) (save-excursion (let* ... ...) (point)))) (parent element) special-flag) (while t (if syncp (progn (cond (... ...) (... ...)))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and ... ...) (goto-char elem-end)) ((not ...) (throw ... element)) ((let ... ...)) (t (throw ... element)))) (setq element nil)))))
(save-excursion (save-restriction (widen) (goto-char pos) (let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* (... ... ... ...) (outline-previous-heading)) (progn (forward-line))) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp (org-element-property :parent cached) cached))) ((re-search-backward (let* (... ... ... ...) org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let ((up cached) (pos ...)) (goto-char (or ... begin)) (while (let ... ...)) (cond (...) (... ...) (t ...))))) (let ((end (or (org-element-property :end element) (save-excursion ... ...))) (parent element) special-flag) (while t (if syncp (progn (cond ... ...))) (if element nil (setq element (org-element--current-element end ... special-flag ...)) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end ...) (type ...)) (cond (... ...) (... ...) (...) (t ...))) (setq element nil))))))
(catch (quote exit) (save-excursion (save-restriction (widen) (goto-char pos) (let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* ... ...) (progn ...)) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp ... cached))) ((re-search-backward (let* ... org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let (... ...) (goto-char ...) (while ...) (cond ... ... ...)))) (let ((end (or ... ...)) (parent element) special-flag) (while t (if syncp (progn ...)) (if element nil (setq element ...) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let (... ...) (cond ... ... ... ...)) (setq element nil)))))))
org-element--parse-to(257280)
(cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync (current-buffer) origin)))) (org-element--parse-to origin)))
(let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync (current-buffer) origin)))) (org-element--parse-to origin))))
(save-restriction (widen) (let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync ... origin)))) (org-element--parse-to origin)))))
(save-excursion (save-restriction (widen) (let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if ... ... ...))) (org-element--parse-to origin))))))
org-element-at-point()
(let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let ((p drawer)) (while (and (setq p (org-element-property :parent p)) (not (eq ... ...)))) (not p))) (progn (let ((end (org-element-property :contents-end drawer))) (if end (progn (forward-line) (while (< ... end) (if ... ...) (forward-line))))))))
(while (and (null plist) (re-search-forward org-property-start-re end t)) (let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let ((p drawer)) (while (and (setq p ...) (not ...))) (not p))) (progn (let ((end (org-element-property :contents-end drawer))) (if end (progn (forward-line) (while ... ... ...))))))))
(save-excursion (while (and (null plist) (re-search-forward org-property-start-re end t)) (let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let ((p drawer)) (while (and ... ...)) (not p))) (progn (let ((end ...)) (if end (progn ... ...))))))) plist)
(let ((end (save-excursion (let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (outline-next-heading)) (point))) plist) (save-excursion (while (and (null plist) (re-search-forward org-property-start-re end t)) (let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let (...) (while ...) (not p))) (progn (let (...) (if end ...)))))) plist))
(let* ((components (org-heading-components)) (level (nth 1 components)) (todo (nth 2 components)) (todo-type (and todo (if (member todo org-done-keywords) (quote done) (quote todo)))) (tags (let ((raw-tags (nth 5 components))) (and raw-tags (org-split-string raw-tags ":")))) (raw-value (or (nth 4 components) "")) (commentedp (let ((case-fold-search nil)) (string-match (format "^%s\\( \\|$\\)" org-comment-string) raw-value))) (archivedp (member org-archive-tag tags)) (footnote-section-p (and org-footnote-section (string= org-footnote-section raw-value))) (standard-props (let ((end (save-excursion (let* ... ...) (point))) plist) (save-excursion (while (and (null plist) (re-search-forward org-property-start-re end t)) (let (...) (if ... ...))) plist))) (time-props (save-excursion (forward-line) (if (looking-at org-planning-or-clock-line-re) (progn (let (... plist) (while ... ... ... ...) plist))))) (begin (point)) (end (min (save-excursion (org-end-of-subtree t t)) limit)) (pos-after-head (progn (forward-line) (point))) (contents-begin (save-excursion (skip-chars-forward " \r \n" end) (and (/= (point) end) (line-beginning-position)))) (contents-end (and contents-begin (progn (goto-char end) (skip-chars-backward " \r \n") (forward-line) (point))))) (if commentedp (progn (let ((case-fold-search nil)) (setq raw-value (replace-regexp-in-string (concat (regexp-quote org-comment-string) "\\(?: \\|$\\)") "" raw-value))))) (if archivedp (progn (setq tags (delete org-archive-tag tags)))) (let ((headline (list (quote headline) (nconc (list :raw-value raw-value :begin begin :end end :pre-blank (if ... 0 ...) :contents-begin contents-begin :contents-end contents-end :level level :priority (nth 3 components) :tags tags :todo-keyword todo :todo-type todo-type :post-blank (count-lines ... end) :footnote-section-p footnote-section-p :archivedp archivedp :commentedp commentedp) time-props standard-props)))) (let ((alt-title (org-element-property :ALT_TITLE headline))) (if alt-title (progn (org-element-put-property headline :alt-title (if raw-secondary-p alt-title (org-element-parse-secondary-string alt-title ... headline)))))) (org-element-put-property headline :title (if raw-secondary-p raw-value (org-element-parse-secondary-string raw-value (org-element-restriction (quote headline)) headline)))))
(save-excursion (let* ((components (org-heading-components)) (level (nth 1 components)) (todo (nth 2 components)) (todo-type (and todo (if (member todo org-done-keywords) (quote done) (quote todo)))) (tags (let ((raw-tags (nth 5 components))) (and raw-tags (org-split-string raw-tags ":")))) (raw-value (or (nth 4 components) "")) (commentedp (let ((case-fold-search nil)) (string-match (format "^%s\\( \\|$\\)" org-comment-string) raw-value))) (archivedp (member org-archive-tag tags)) (footnote-section-p (and org-footnote-section (string= org-footnote-section raw-value))) (standard-props (let ((end (save-excursion ... ...)) plist) (save-excursion (while (and ... ...) (let ... ...)) plist))) (time-props (save-excursion (forward-line) (if (looking-at org-planning-or-clock-line-re) (progn (let ... ... plist))))) (begin (point)) (end (min (save-excursion (org-end-of-subtree t t)) limit)) (pos-after-head (progn (forward-line) (point))) (contents-begin (save-excursion (skip-chars-forward " \r \n" end) (and (/= (point) end) (line-beginning-position)))) (contents-end (and contents-begin (progn (goto-char end) (skip-chars-backward " \r \n") (forward-line) (point))))) (if commentedp (progn (let ((case-fold-search nil)) (setq raw-value (replace-regexp-in-string (concat ... "\\(?: \\|$\\)") "" raw-value))))) (if archivedp (progn (setq tags (delete org-archive-tag tags)))) (let ((headline (list (quote headline) (nconc (list :raw-value raw-value :begin begin :end end :pre-blank ... :contents-begin contents-begin :contents-end contents-end :level level :priority ... :tags tags :todo-keyword todo :todo-type todo-type :post-blank ... :footnote-section-p footnote-section-p :archivedp archivedp :commentedp commentedp) time-props standard-props)))) (let ((alt-title (org-element-property :ALT_TITLE headline))) (if alt-title (progn (org-element-put-property headline :alt-title (if raw-secondary-p alt-title ...))))) (org-element-put-property headline :title (if raw-secondary-p raw-value (org-element-parse-secondary-string raw-value (org-element-restriction (quote headline)) headline))))))
org-element-headline-parser(257706 t)
(cond ((eq special (quote item)) (org-element-item-parser limit structure raw-secondary-p)) ((eq special (quote table-row)) (org-element-table-row-parser limit)) ((eq special (quote node-property)) (org-element-node-property-parser limit)) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (org-element-headline-parser limit raw-secondary-p)) ((eq special (quote section)) (org-element-section-parser limit)) ((eq special (quote first-section)) (org-element-section-parser (or (save-excursion (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (outline-next-heading))) limit))) ((not (bolp)) (org-element-paragraph-parser limit (list (point)))) ((looking-at org-planning-or-clock-line-re) (if (equal (match-string 1) org-clock-string) (org-element-clock-parser limit) (org-element-planning-parser limit))) ((org-at-heading-p) (org-element-inlinetask-parser limit raw-secondary-p)) (t (let ((affiliated (org-element--collect-affiliated-keywords limit))) (cond ((and (cdr affiliated) (>= (point) limit)) (goto-char (car affiliated)) (org-element-keyword-parser limit nil)) ((looking-at "[ ]*\\\\begin{[A-Za-z0-9*]+}\\(\\[.*?\\]\\|{.*?}\\)*[ ]*$") (org-element-latex-environment-parser limit affiliated)) ((looking-at org-drawer-regexp) (if (equal (match-string 1) "PROPERTIES") (org-element-property-drawer-parser limit affiliated) (org-element-drawer-parser limit affiliated))) ((looking-at "[ ]*:\\( \\|$\\)") (org-element-fixed-width-parser limit affiliated)) ((looking-at "[ ]*#") (goto-char (match-end 0)) (cond ((looking-at "\\(?: \\|$\\)") (beginning-of-line) (org-element-comment-parser limit affiliated)) ((looking-at "\\+BEGIN_\\(\\S-+\\)") (beginning-of-line) (let ... ...)) ((looking-at "\\+CALL:") (beginning-of-line) (org-element-babel-call-parser limit affiliated)) ((looking-at "\\+BEGIN:? ") (beginning-of-line) (org-element-dynamic-block-parser limit affiliated)) ((looking-at "\\+\\S-+:") (beginning-of-line) (org-element-keyword-parser limit affiliated)) (t (beginning-of-line) (org-element-paragraph-parser limit affiliated)))) ((looking-at org-footnote-definition-re) (org-element-footnote-definition-parser limit affiliated)) ((looking-at "[ ]*-\\{5,\\}[ ]*$") (org-element-horizontal-rule-parser limit affiliated)) ((looking-at "%%(") (org-element-diary-sexp-parser limit affiliated)) ((org-at-table-p t) (org-element-table-parser limit affiliated)) ((looking-at (org-item-re)) (org-element-plain-list-parser limit affiliated (or structure (org-element--list-struct limit)))) (t (org-element-paragraph-parser limit affiliated))))))
(let ((case-fold-search t) (raw-secondary-p (and granularity (not (eq granularity (quote object)))))) (cond ((eq special (quote item)) (org-element-item-parser limit structure raw-secondary-p)) ((eq special (quote table-row)) (org-element-table-row-parser limit)) ((eq special (quote node-property)) (org-element-node-property-parser limit)) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (org-element-headline-parser limit raw-secondary-p)) ((eq special (quote section)) (org-element-section-parser limit)) ((eq special (quote first-section)) (org-element-section-parser (or (save-excursion (let* (... ... ... ...) (outline-next-heading))) limit))) ((not (bolp)) (org-element-paragraph-parser limit (list (point)))) ((looking-at org-planning-or-clock-line-re) (if (equal (match-string 1) org-clock-string) (org-element-clock-parser limit) (org-element-planning-parser limit))) ((org-at-heading-p) (org-element-inlinetask-parser limit raw-secondary-p)) (t (let ((affiliated (org-element--collect-affiliated-keywords limit))) (cond ((and (cdr affiliated) (>= ... limit)) (goto-char (car affiliated)) (org-element-keyword-parser limit nil)) ((looking-at "[ ]*\\\\begin{[A-Za-z0-9*]+}\\(\\[.*?\\]\\|{.*?}\\)*[ ]*$") (org-element-latex-environment-parser limit affiliated)) ((looking-at org-drawer-regexp) (if (equal ... "PROPERTIES") (org-element-property-drawer-parser limit affiliated) (org-element-drawer-parser limit affiliated))) ((looking-at "[ ]*:\\( \\|$\\)") (org-element-fixed-width-parser limit affiliated)) ((looking-at "[ ]*#") (goto-char (match-end 0)) (cond (... ... ...) (... ... ...) (... ... ...) (... ... ...) (... ... ...) (t ... ...))) ((looking-at org-footnote-definition-re) (org-element-footnote-definition-parser limit affiliated)) ((looking-at "[ ]*-\\{5,\\}[ ]*$") (org-element-horizontal-rule-parser limit affiliated)) ((looking-at "%%(") (org-element-diary-sexp-parser limit affiliated)) ((org-at-table-p t) (org-element-table-parser limit affiliated)) ((looking-at (org-item-re)) (org-element-plain-list-parser limit affiliated (or structure ...))) (t (org-element-paragraph-parser limit affiliated)))))))
(save-excursion (let ((case-fold-search t) (raw-secondary-p (and granularity (not (eq granularity (quote object)))))) (cond ((eq special (quote item)) (org-element-item-parser limit structure raw-secondary-p)) ((eq special (quote table-row)) (org-element-table-row-parser limit)) ((eq special (quote node-property)) (org-element-node-property-parser limit)) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (org-element-headline-parser limit raw-secondary-p)) ((eq special (quote section)) (org-element-section-parser limit)) ((eq special (quote first-section)) (org-element-section-parser (or (save-excursion (let* ... ...)) limit))) ((not (bolp)) (org-element-paragraph-parser limit (list (point)))) ((looking-at org-planning-or-clock-line-re) (if (equal (match-string 1) org-clock-string) (org-element-clock-parser limit) (org-element-planning-parser limit))) ((org-at-heading-p) (org-element-inlinetask-parser limit raw-secondary-p)) (t (let ((affiliated (org-element--collect-affiliated-keywords limit))) (cond ((and ... ...) (goto-char ...) (org-element-keyword-parser limit nil)) ((looking-at "[ ]*\\\\begin{[A-Za-z0-9*]+}\\(\\[.*?\\]\\|{.*?}\\)*[ ]*$") (org-element-latex-environment-parser limit affiliated)) ((looking-at org-drawer-regexp) (if ... ... ...)) ((looking-at "[ ]*:\\( \\|$\\)") (org-element-fixed-width-parser limit affiliated)) ((looking-at "[ ]*#") (goto-char ...) (cond ... ... ... ... ... ...)) ((looking-at org-footnote-definition-re) (org-element-footnote-definition-parser limit affiliated)) ((looking-at "[ ]*-\\{5,\\}[ ]*$") (org-element-horizontal-rule-parser limit affiliated)) ((looking-at "%%(") (org-element-diary-sexp-parser limit affiliated)) ((org-at-table-p t) (org-element-table-parser limit affiliated)) ((looking-at ...) (org-element-plain-list-parser limit affiliated ...)) (t (org-element-paragraph-parser limit affiliated))))))))
org-element--current-element(257706 element nil nil)
(setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent)))
(if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element))
(while t (if syncp (progn (cond ((= (point) pos) (throw (quote exit) parent)) ((org-element--cache-interrupt-p time-limit) (throw (quote interrupt) nil))))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and (<= elem-end pos) (/= (point-max) elem-end)) (goto-char elem-end)) ((not (memq type org-element-greater-elements)) (throw (quote exit) element)) ((let ((cbeg (org-element-property :contents-begin element)) (cend (org-element-property :contents-end element))) (if (or syncp (and cbeg cend ... ...)) (progn (goto-char ...) (setq next nil special-flag ... parent element end cend))))) (t (throw (quote exit) element)))) (setq element nil))
(let ((end (or (org-element-property :end element) (save-excursion (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (outline-next-heading)) (point)))) (parent element) special-flag) (while t (if syncp (progn (cond ((= (point) pos) (throw (quote exit) parent)) ((org-element--cache-interrupt-p time-limit) (throw (quote interrupt) nil))))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and (<= elem-end pos) (/= (point-max) elem-end)) (goto-char elem-end)) ((not (memq type org-element-greater-elements)) (throw (quote exit) element)) ((let ((cbeg ...) (cend ...)) (if (or syncp ...) (progn ... ...)))) (t (throw (quote exit) element)))) (setq element nil)))
(let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (outline-previous-heading)) (progn (forward-line))) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp (org-element-property :parent cached) cached))) ((re-search-backward (let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let ((up cached) (pos (if (= ... pos) (1- pos) pos))) (goto-char (or (org-element-property :contents-begin cached) begin)) (while (let ((end ...)) (and (<= end pos) (goto-char end) (setq up ...)))) (cond ((not up)) ((eobp) (setq element up)) (t (setq element up next (point))))))) (let ((end (or (org-element-property :end element) (save-excursion (let* (... ... ... ...) (outline-next-heading)) (point)))) (parent element) special-flag) (while t (if syncp (progn (cond ((= ... pos) (throw ... parent)) ((org-element--cache-interrupt-p time-limit) (throw ... nil))))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and (<= elem-end pos) (/= ... elem-end)) (goto-char elem-end)) ((not (memq type org-element-greater-elements)) (throw (quote exit) element)) ((let (... ...) (if ... ...))) (t (throw (quote exit) element)))) (setq element nil))))
(save-restriction (widen) (goto-char pos) (let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (outline-previous-heading)) (progn (forward-line))) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp (org-element-property :parent cached) cached))) ((re-search-backward (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let ((up cached) (pos (if ... ... pos))) (goto-char (or (org-element-property :contents-begin cached) begin)) (while (let (...) (and ... ... ...))) (cond ((not up)) ((eobp) (setq element up)) (t (setq element up next ...)))))) (let ((end (or (org-element-property :end element) (save-excursion (let* ... ...) (point)))) (parent element) special-flag) (while t (if syncp (progn (cond (... ...) (... ...)))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and ... ...) (goto-char elem-end)) ((not ...) (throw ... element)) ((let ... ...)) (t (throw ... element)))) (setq element nil)))))
(save-excursion (save-restriction (widen) (goto-char pos) (let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* (... ... ... ...) (outline-previous-heading)) (progn (forward-line))) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp (org-element-property :parent cached) cached))) ((re-search-backward (let* (... ... ... ...) org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let ((up cached) (pos ...)) (goto-char (or ... begin)) (while (let ... ...)) (cond (...) (... ...) (t ...))))) (let ((end (or (org-element-property :end element) (save-excursion ... ...))) (parent element) special-flag) (while t (if syncp (progn (cond ... ...))) (if element nil (setq element (org-element--current-element end ... special-flag ...)) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end ...) (type ...)) (cond (... ...) (... ...) (...) (t ...))) (setq element nil))))))
(catch (quote exit) (save-excursion (save-restriction (widen) (goto-char pos) (let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* ... ...) (progn ...)) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp ... cached))) ((re-search-backward (let* ... org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let (... ...) (goto-char ...) (while ...) (cond ... ... ...)))) (let ((end (or ... ...)) (parent element) special-flag) (while t (if syncp (progn ...)) (if element nil (setq element ...) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let (... ...) (cond ... ... ... ...)) (setq element nil)))))))
org-element--parse-to(257280)
(cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync (current-buffer) origin)))) (org-element--parse-to origin)))
(let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync (current-buffer) origin)))) (org-element--parse-to origin))))
(save-restriction (widen) (let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync ... origin)))) (org-element--parse-to origin)))))
(save-excursion (save-restriction (widen) (let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if ... ... ...))) (org-element--parse-to origin))))))
org-element-at-point()
(let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let ((p drawer)) (while (and (setq p (org-element-property :parent p)) (not (eq ... ...)))) (not p))) (progn (let ((end (org-element-property :contents-end drawer))) (if end (progn (forward-line) (while (< ... end) (if ... ...) (forward-line))))))))
(while (and (null plist) (re-search-forward org-property-start-re end t)) (let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let ((p drawer)) (while (and (setq p ...) (not ...))) (not p))) (progn (let ((end (org-element-property :contents-end drawer))) (if end (progn (forward-line) (while ... ... ...))))))))
(save-excursion (while (and (null plist) (re-search-forward org-property-start-re end t)) (let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let ((p drawer)) (while (and ... ...)) (not p))) (progn (let ((end ...)) (if end (progn ... ...))))))) plist)
(let ((end (save-excursion (let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (outline-next-heading)) (point))) plist) (save-excursion (while (and (null plist) (re-search-forward org-property-start-re end t)) (let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let (...) (while ...) (not p))) (progn (let (...) (if end ...)))))) plist))
(let* ((components (org-heading-components)) (level (nth 1 components)) (todo (nth 2 components)) (todo-type (and todo (if (member todo org-done-keywords) (quote done) (quote todo)))) (tags (let ((raw-tags (nth 5 components))) (and raw-tags (org-split-string raw-tags ":")))) (raw-value (or (nth 4 components) "")) (commentedp (let ((case-fold-search nil)) (string-match (format "^%s\\( \\|$\\)" org-comment-string) raw-value))) (archivedp (member org-archive-tag tags)) (footnote-section-p (and org-footnote-section (string= org-footnote-section raw-value))) (standard-props (let ((end (save-excursion (let* ... ...) (point))) plist) (save-excursion (while (and (null plist) (re-search-forward org-property-start-re end t)) (let (...) (if ... ...))) plist))) (time-props (save-excursion (forward-line) (if (looking-at org-planning-or-clock-line-re) (progn (let (... plist) (while ... ... ... ...) plist))))) (begin (point)) (end (min (save-excursion (org-end-of-subtree t t)) limit)) (pos-after-head (progn (forward-line) (point))) (contents-begin (save-excursion (skip-chars-forward " \r \n" end) (and (/= (point) end) (line-beginning-position)))) (contents-end (and contents-begin (progn (goto-char end) (skip-chars-backward " \r \n") (forward-line) (point))))) (if commentedp (progn (let ((case-fold-search nil)) (setq raw-value (replace-regexp-in-string (concat (regexp-quote org-comment-string) "\\(?: \\|$\\)") "" raw-value))))) (if archivedp (progn (setq tags (delete org-archive-tag tags)))) (let ((headline (list (quote headline) (nconc (list :raw-value raw-value :begin begin :end end :pre-blank (if ... 0 ...) :contents-begin contents-begin :contents-end contents-end :level level :priority (nth 3 components) :tags tags :todo-keyword todo :todo-type todo-type :post-blank (count-lines ... end) :footnote-section-p footnote-section-p :archivedp archivedp :commentedp commentedp) time-props standard-props)))) (let ((alt-title (org-element-property :ALT_TITLE headline))) (if alt-title (progn (org-element-put-property headline :alt-title (if raw-secondary-p alt-title (org-element-parse-secondary-string alt-title ... headline)))))) (org-element-put-property headline :title (if raw-secondary-p raw-value (org-element-parse-secondary-string raw-value (org-element-restriction (quote headline)) headline)))))
(save-excursion (let* ((components (org-heading-components)) (level (nth 1 components)) (todo (nth 2 components)) (todo-type (and todo (if (member todo org-done-keywords) (quote done) (quote todo)))) (tags (let ((raw-tags (nth 5 components))) (and raw-tags (org-split-string raw-tags ":")))) (raw-value (or (nth 4 components) "")) (commentedp (let ((case-fold-search nil)) (string-match (format "^%s\\( \\|$\\)" org-comment-string) raw-value))) (archivedp (member org-archive-tag tags)) (footnote-section-p (and org-footnote-section (string= org-footnote-section raw-value))) (standard-props (let ((end (save-excursion ... ...)) plist) (save-excursion (while (and ... ...) (let ... ...)) plist))) (time-props (save-excursion (forward-line) (if (looking-at org-planning-or-clock-line-re) (progn (let ... ... plist))))) (begin (point)) (end (min (save-excursion (org-end-of-subtree t t)) limit)) (pos-after-head (progn (forward-line) (point))) (contents-begin (save-excursion (skip-chars-forward " \r \n" end) (and (/= (point) end) (line-beginning-position)))) (contents-end (and contents-begin (progn (goto-char end) (skip-chars-backward " \r \n") (forward-line) (point))))) (if commentedp (progn (let ((case-fold-search nil)) (setq raw-value (replace-regexp-in-string (concat ... "\\(?: \\|$\\)") "" raw-value))))) (if archivedp (progn (setq tags (delete org-archive-tag tags)))) (let ((headline (list (quote headline) (nconc (list :raw-value raw-value :begin begin :end end :pre-blank ... :contents-begin contents-begin :contents-end contents-end :level level :priority ... :tags tags :todo-keyword todo :todo-type todo-type :post-blank ... :footnote-section-p footnote-section-p :archivedp archivedp :commentedp commentedp) time-props standard-props)))) (let ((alt-title (org-element-property :ALT_TITLE headline))) (if alt-title (progn (org-element-put-property headline :alt-title (if raw-secondary-p alt-title ...))))) (org-element-put-property headline :title (if raw-secondary-p raw-value (org-element-parse-secondary-string raw-value (org-element-restriction (quote headline)) headline))))))
org-element-headline-parser(257706 t)
(cond ((eq special (quote item)) (org-element-item-parser limit structure raw-secondary-p)) ((eq special (quote table-row)) (org-element-table-row-parser limit)) ((eq special (quote node-property)) (org-element-node-property-parser limit)) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (org-element-headline-parser limit raw-secondary-p)) ((eq special (quote section)) (org-element-section-parser limit)) ((eq special (quote first-section)) (org-element-section-parser (or (save-excursion (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (outline-next-heading))) limit))) ((not (bolp)) (org-element-paragraph-parser limit (list (point)))) ((looking-at org-planning-or-clock-line-re) (if (equal (match-string 1) org-clock-string) (org-element-clock-parser limit) (org-element-planning-parser limit))) ((org-at-heading-p) (org-element-inlinetask-parser limit raw-secondary-p)) (t (let ((affiliated (org-element--collect-affiliated-keywords limit))) (cond ((and (cdr affiliated) (>= (point) limit)) (goto-char (car affiliated)) (org-element-keyword-parser limit nil)) ((looking-at "[ ]*\\\\begin{[A-Za-z0-9*]+}\\(\\[.*?\\]\\|{.*?}\\)*[ ]*$") (org-element-latex-environment-parser limit affiliated)) ((looking-at org-drawer-regexp) (if (equal (match-string 1) "PROPERTIES") (org-element-property-drawer-parser limit affiliated) (org-element-drawer-parser limit affiliated))) ((looking-at "[ ]*:\\( \\|$\\)") (org-element-fixed-width-parser limit affiliated)) ((looking-at "[ ]*#") (goto-char (match-end 0)) (cond ((looking-at "\\(?: \\|$\\)") (beginning-of-line) (org-element-comment-parser limit affiliated)) ((looking-at "\\+BEGIN_\\(\\S-+\\)") (beginning-of-line) (let ... ...)) ((looking-at "\\+CALL:") (beginning-of-line) (org-element-babel-call-parser limit affiliated)) ((looking-at "\\+BEGIN:? ") (beginning-of-line) (org-element-dynamic-block-parser limit affiliated)) ((looking-at "\\+\\S-+:") (beginning-of-line) (org-element-keyword-parser limit affiliated)) (t (beginning-of-line) (org-element-paragraph-parser limit affiliated)))) ((looking-at org-footnote-definition-re) (org-element-footnote-definition-parser limit affiliated)) ((looking-at "[ ]*-\\{5,\\}[ ]*$") (org-element-horizontal-rule-parser limit affiliated)) ((looking-at "%%(") (org-element-diary-sexp-parser limit affiliated)) ((org-at-table-p t) (org-element-table-parser limit affiliated)) ((looking-at (org-item-re)) (org-element-plain-list-parser limit affiliated (or structure (org-element--list-struct limit)))) (t (org-element-paragraph-parser limit affiliated))))))
(let ((case-fold-search t) (raw-secondary-p (and granularity (not (eq granularity (quote object)))))) (cond ((eq special (quote item)) (org-element-item-parser limit structure raw-secondary-p)) ((eq special (quote table-row)) (org-element-table-row-parser limit)) ((eq special (quote node-property)) (org-element-node-property-parser limit)) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (org-element-headline-parser limit raw-secondary-p)) ((eq special (quote section)) (org-element-section-parser limit)) ((eq special (quote first-section)) (org-element-section-parser (or (save-excursion (let* (... ... ... ...) (outline-next-heading))) limit))) ((not (bolp)) (org-element-paragraph-parser limit (list (point)))) ((looking-at org-planning-or-clock-line-re) (if (equal (match-string 1) org-clock-string) (org-element-clock-parser limit) (org-element-planning-parser limit))) ((org-at-heading-p) (org-element-inlinetask-parser limit raw-secondary-p)) (t (let ((affiliated (org-element--collect-affiliated-keywords limit))) (cond ((and (cdr affiliated) (>= ... limit)) (goto-char (car affiliated)) (org-element-keyword-parser limit nil)) ((looking-at "[ ]*\\\\begin{[A-Za-z0-9*]+}\\(\\[.*?\\]\\|{.*?}\\)*[ ]*$") (org-element-latex-environment-parser limit affiliated)) ((looking-at org-drawer-regexp) (if (equal ... "PROPERTIES") (org-element-property-drawer-parser limit affiliated) (org-element-drawer-parser limit affiliated))) ((looking-at "[ ]*:\\( \\|$\\)") (org-element-fixed-width-parser limit affiliated)) ((looking-at "[ ]*#") (goto-char (match-end 0)) (cond (... ... ...) (... ... ...) (... ... ...) (... ... ...) (... ... ...) (t ... ...))) ((looking-at org-footnote-definition-re) (org-element-footnote-definition-parser limit affiliated)) ((looking-at "[ ]*-\\{5,\\}[ ]*$") (org-element-horizontal-rule-parser limit affiliated)) ((looking-at "%%(") (org-element-diary-sexp-parser limit affiliated)) ((org-at-table-p t) (org-element-table-parser limit affiliated)) ((looking-at (org-item-re)) (org-element-plain-list-parser limit affiliated (or structure ...))) (t (org-element-paragraph-parser limit affiliated)))))))
(save-excursion (let ((case-fold-search t) (raw-secondary-p (and granularity (not (eq granularity (quote object)))))) (cond ((eq special (quote item)) (org-element-item-parser limit structure raw-secondary-p)) ((eq special (quote table-row)) (org-element-table-row-parser limit)) ((eq special (quote node-property)) (org-element-node-property-parser limit)) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (org-element-headline-parser limit raw-secondary-p)) ((eq special (quote section)) (org-element-section-parser limit)) ((eq special (quote first-section)) (org-element-section-parser (or (save-excursion (let* ... ...)) limit))) ((not (bolp)) (org-element-paragraph-parser limit (list (point)))) ((looking-at org-planning-or-clock-line-re) (if (equal (match-string 1) org-clock-string) (org-element-clock-parser limit) (org-element-planning-parser limit))) ((org-at-heading-p) (org-element-inlinetask-parser limit raw-secondary-p)) (t (let ((affiliated (org-element--collect-affiliated-keywords limit))) (cond ((and ... ...) (goto-char ...) (org-element-keyword-parser limit nil)) ((looking-at "[ ]*\\\\begin{[A-Za-z0-9*]+}\\(\\[.*?\\]\\|{.*?}\\)*[ ]*$") (org-element-latex-environment-parser limit affiliated)) ((looking-at org-drawer-regexp) (if ... ... ...)) ((looking-at "[ ]*:\\( \\|$\\)") (org-element-fixed-width-parser limit affiliated)) ((looking-at "[ ]*#") (goto-char ...) (cond ... ... ... ... ... ...)) ((looking-at org-footnote-definition-re) (org-element-footnote-definition-parser limit affiliated)) ((looking-at "[ ]*-\\{5,\\}[ ]*$") (org-element-horizontal-rule-parser limit affiliated)) ((looking-at "%%(") (org-element-diary-sexp-parser limit affiliated)) ((org-at-table-p t) (org-element-table-parser limit affiliated)) ((looking-at ...) (org-element-plain-list-parser limit affiliated ...)) (t (org-element-paragraph-parser limit affiliated))))))))
org-element--current-element(257706 element nil nil)
(setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent)))
(if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element))
(while t (if syncp (progn (cond ((= (point) pos) (throw (quote exit) parent)) ((org-element--cache-interrupt-p time-limit) (throw (quote interrupt) nil))))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and (<= elem-end pos) (/= (point-max) elem-end)) (goto-char elem-end)) ((not (memq type org-element-greater-elements)) (throw (quote exit) element)) ((let ((cbeg (org-element-property :contents-begin element)) (cend (org-element-property :contents-end element))) (if (or syncp (and cbeg cend ... ...)) (progn (goto-char ...) (setq next nil special-flag ... parent element end cend))))) (t (throw (quote exit) element)))) (setq element nil))
(let ((end (or (org-element-property :end element) (save-excursion (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (outline-next-heading)) (point)))) (parent element) special-flag) (while t (if syncp (progn (cond ((= (point) pos) (throw (quote exit) parent)) ((org-element--cache-interrupt-p time-limit) (throw (quote interrupt) nil))))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and (<= elem-end pos) (/= (point-max) elem-end)) (goto-char elem-end)) ((not (memq type org-element-greater-elements)) (throw (quote exit) element)) ((let ((cbeg ...) (cend ...)) (if (or syncp ...) (progn ... ...)))) (t (throw (quote exit) element)))) (setq element nil)))
(let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (outline-previous-heading)) (progn (forward-line))) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp (org-element-property :parent cached) cached))) ((re-search-backward (let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let ((up cached) (pos (if (= ... pos) (1- pos) pos))) (goto-char (or (org-element-property :contents-begin cached) begin)) (while (let ((end ...)) (and (<= end pos) (goto-char end) (setq up ...)))) (cond ((not up)) ((eobp) (setq element up)) (t (setq element up next (point))))))) (let ((end (or (org-element-property :end element) (save-excursion (let* (... ... ... ...) (outline-next-heading)) (point)))) (parent element) special-flag) (while t (if syncp (progn (cond ((= ... pos) (throw ... parent)) ((org-element--cache-interrupt-p time-limit) (throw ... nil))))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and (<= elem-end pos) (/= ... elem-end)) (goto-char elem-end)) ((not (memq type org-element-greater-elements)) (throw (quote exit) element)) ((let (... ...) (if ... ...))) (t (throw (quote exit) element)))) (setq element nil))))
(save-restriction (widen) (goto-char pos) (let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (outline-previous-heading)) (progn (forward-line))) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp (org-element-property :parent cached) cached))) ((re-search-backward (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let ((up cached) (pos (if ... ... pos))) (goto-char (or (org-element-property :contents-begin cached) begin)) (while (let (...) (and ... ... ...))) (cond ((not up)) ((eobp) (setq element up)) (t (setq element up next ...)))))) (let ((end (or (org-element-property :end element) (save-excursion (let* ... ...) (point)))) (parent element) special-flag) (while t (if syncp (progn (cond (... ...) (... ...)))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and ... ...) (goto-char elem-end)) ((not ...) (throw ... element)) ((let ... ...)) (t (throw ... element)))) (setq element nil)))))
(save-excursion (save-restriction (widen) (goto-char pos) (let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* (... ... ... ...) (outline-previous-heading)) (progn (forward-line))) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp (org-element-property :parent cached) cached))) ((re-search-backward (let* (... ... ... ...) org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let ((up cached) (pos ...)) (goto-char (or ... begin)) (while (let ... ...)) (cond (...) (... ...) (t ...))))) (let ((end (or (org-element-property :end element) (save-excursion ... ...))) (parent element) special-flag) (while t (if syncp (progn (cond ... ...))) (if element nil (setq element (org-element--current-element end ... special-flag ...)) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end ...) (type ...)) (cond (... ...) (... ...) (...) (t ...))) (setq element nil))))))
(catch (quote exit) (save-excursion (save-restriction (widen) (goto-char pos) (let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* ... ...) (progn ...)) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp ... cached))) ((re-search-backward (let* ... org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let (... ...) (goto-char ...) (while ...) (cond ... ... ...)))) (let ((end (or ... ...)) (parent element) special-flag) (while t (if syncp (progn ...)) (if element nil (setq element ...) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let (... ...) (cond ... ... ... ...)) (setq element nil)))))))
org-element--parse-to(257280)
(cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync (current-buffer) origin)))) (org-element--parse-to origin)))
(let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync (current-buffer) origin)))) (org-element--parse-to origin))))
(save-restriction (widen) (let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync ... origin)))) (org-element--parse-to origin)))))
(save-excursion (save-restriction (widen) (let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if ... ... ...))) (org-element--parse-to origin))))))
org-element-at-point()
(let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let ((p drawer)) (while (and (setq p (org-element-property :parent p)) (not (eq ... ...)))) (not p))) (progn (let ((end (org-element-property :contents-end drawer))) (if end (progn (forward-line) (while (< ... end) (if ... ...) (forward-line))))))))
(while (and (null plist) (re-search-forward org-property-start-re end t)) (let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let ((p drawer)) (while (and (setq p ...) (not ...))) (not p))) (progn (let ((end (org-element-property :contents-end drawer))) (if end (progn (forward-line) (while ... ... ...))))))))
(save-excursion (while (and (null plist) (re-search-forward org-property-start-re end t)) (let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let ((p drawer)) (while (and ... ...)) (not p))) (progn (let ((end ...)) (if end (progn ... ...))))))) plist)
(let ((end (save-excursion (let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (outline-next-heading)) (point))) plist) (save-excursion (while (and (null plist) (re-search-forward org-property-start-re end t)) (let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let (...) (while ...) (not p))) (progn (let (...) (if end ...)))))) plist))
(let* ((components (org-heading-components)) (level (nth 1 components)) (todo (nth 2 components)) (todo-type (and todo (if (member todo org-done-keywords) (quote done) (quote todo)))) (tags (let ((raw-tags (nth 5 components))) (and raw-tags (org-split-string raw-tags ":")))) (raw-value (or (nth 4 components) "")) (commentedp (let ((case-fold-search nil)) (string-match (format "^%s\\( \\|$\\)" org-comment-string) raw-value))) (archivedp (member org-archive-tag tags)) (footnote-section-p (and org-footnote-section (string= org-footnote-section raw-value))) (standard-props (let ((end (save-excursion (let* ... ...) (point))) plist) (save-excursion (while (and (null plist) (re-search-forward org-property-start-re end t)) (let (...) (if ... ...))) plist))) (time-props (save-excursion (forward-line) (if (looking-at org-planning-or-clock-line-re) (progn (let (... plist) (while ... ... ... ...) plist))))) (begin (point)) (end (min (save-excursion (org-end-of-subtree t t)) limit)) (pos-after-head (progn (forward-line) (point))) (contents-begin (save-excursion (skip-chars-forward " \r \n" end) (and (/= (point) end) (line-beginning-position)))) (contents-end (and contents-begin (progn (goto-char end) (skip-chars-backward " \r \n") (forward-line) (point))))) (if commentedp (progn (let ((case-fold-search nil)) (setq raw-value (replace-regexp-in-string (concat (regexp-quote org-comment-string) "\\(?: \\|$\\)") "" raw-value))))) (if archivedp (progn (setq tags (delete org-archive-tag tags)))) (let ((headline (list (quote headline) (nconc (list :raw-value raw-value :begin begin :end end :pre-blank (if ... 0 ...) :contents-begin contents-begin :contents-end contents-end :level level :priority (nth 3 components) :tags tags :todo-keyword todo :todo-type todo-type :post-blank (count-lines ... end) :footnote-section-p footnote-section-p :archivedp archivedp :commentedp commentedp) time-props standard-props)))) (let ((alt-title (org-element-property :ALT_TITLE headline))) (if alt-title (progn (org-element-put-property headline :alt-title (if raw-secondary-p alt-title (org-element-parse-secondary-string alt-title ... headline)))))) (org-element-put-property headline :title (if raw-secondary-p raw-value (org-element-parse-secondary-string raw-value (org-element-restriction (quote headline)) headline)))))
(save-excursion (let* ((components (org-heading-components)) (level (nth 1 components)) (todo (nth 2 components)) (todo-type (and todo (if (member todo org-done-keywords) (quote done) (quote todo)))) (tags (let ((raw-tags (nth 5 components))) (and raw-tags (org-split-string raw-tags ":")))) (raw-value (or (nth 4 components) "")) (commentedp (let ((case-fold-search nil)) (string-match (format "^%s\\( \\|$\\)" org-comment-string) raw-value))) (archivedp (member org-archive-tag tags)) (footnote-section-p (and org-footnote-section (string= org-footnote-section raw-value))) (standard-props (let ((end (save-excursion ... ...)) plist) (save-excursion (while (and ... ...) (let ... ...)) plist))) (time-props (save-excursion (forward-line) (if (looking-at org-planning-or-clock-line-re) (progn (let ... ... plist))))) (begin (point)) (end (min (save-excursion (org-end-of-subtree t t)) limit)) (pos-after-head (progn (forward-line) (point))) (contents-begin (save-excursion (skip-chars-forward " \r \n" end) (and (/= (point) end) (line-beginning-position)))) (contents-end (and contents-begin (progn (goto-char end) (skip-chars-backward " \r \n") (forward-line) (point))))) (if commentedp (progn (let ((case-fold-search nil)) (setq raw-value (replace-regexp-in-string (concat ... "\\(?: \\|$\\)") "" raw-value))))) (if archivedp (progn (setq tags (delete org-archive-tag tags)))) (let ((headline (list (quote headline) (nconc (list :raw-value raw-value :begin begin :end end :pre-blank ... :contents-begin contents-begin :contents-end contents-end :level level :priority ... :tags tags :todo-keyword todo :todo-type todo-type :post-blank ... :footnote-section-p footnote-section-p :archivedp archivedp :commentedp commentedp) time-props standard-props)))) (let ((alt-title (org-element-property :ALT_TITLE headline))) (if alt-title (progn (org-element-put-property headline :alt-title (if raw-secondary-p alt-title ...))))) (org-element-put-property headline :title (if raw-secondary-p raw-value (org-element-parse-secondary-string raw-value (org-element-restriction (quote headline)) headline))))))
org-element-headline-parser(257706 t)
(cond ((eq special (quote item)) (org-element-item-parser limit structure raw-secondary-p)) ((eq special (quote table-row)) (org-element-table-row-parser limit)) ((eq special (quote node-property)) (org-element-node-property-parser limit)) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (org-element-headline-parser limit raw-secondary-p)) ((eq special (quote section)) (org-element-section-parser limit)) ((eq special (quote first-section)) (org-element-section-parser (or (save-excursion (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (outline-next-heading))) limit))) ((not (bolp)) (org-element-paragraph-parser limit (list (point)))) ((looking-at org-planning-or-clock-line-re) (if (equal (match-string 1) org-clock-string) (org-element-clock-parser limit) (org-element-planning-parser limit))) ((org-at-heading-p) (org-element-inlinetask-parser limit raw-secondary-p)) (t (let ((affiliated (org-element--collect-affiliated-keywords limit))) (cond ((and (cdr affiliated) (>= (point) limit)) (goto-char (car affiliated)) (org-element-keyword-parser limit nil)) ((looking-at "[ ]*\\\\begin{[A-Za-z0-9*]+}\\(\\[.*?\\]\\|{.*?}\\)*[ ]*$") (org-element-latex-environment-parser limit affiliated)) ((looking-at org-drawer-regexp) (if (equal (match-string 1) "PROPERTIES") (org-element-property-drawer-parser limit affiliated) (org-element-drawer-parser limit affiliated))) ((looking-at "[ ]*:\\( \\|$\\)") (org-element-fixed-width-parser limit affiliated)) ((looking-at "[ ]*#") (goto-char (match-end 0)) (cond ((looking-at "\\(?: \\|$\\)") (beginning-of-line) (org-element-comment-parser limit affiliated)) ((looking-at "\\+BEGIN_\\(\\S-+\\)") (beginning-of-line) (let ... ...)) ((looking-at "\\+CALL:") (beginning-of-line) (org-element-babel-call-parser limit affiliated)) ((looking-at "\\+BEGIN:? ") (beginning-of-line) (org-element-dynamic-block-parser limit affiliated)) ((looking-at "\\+\\S-+:") (beginning-of-line) (org-element-keyword-parser limit affiliated)) (t (beginning-of-line) (org-element-paragraph-parser limit affiliated)))) ((looking-at org-footnote-definition-re) (org-element-footnote-definition-parser limit affiliated)) ((looking-at "[ ]*-\\{5,\\}[ ]*$") (org-element-horizontal-rule-parser limit affiliated)) ((looking-at "%%(") (org-element-diary-sexp-parser limit affiliated)) ((org-at-table-p t) (org-element-table-parser limit affiliated)) ((looking-at (org-item-re)) (org-element-plain-list-parser limit affiliated (or structure (org-element--list-struct limit)))) (t (org-element-paragraph-parser limit affiliated))))))
(let ((case-fold-search t) (raw-secondary-p (and granularity (not (eq granularity (quote object)))))) (cond ((eq special (quote item)) (org-element-item-parser limit structure raw-secondary-p)) ((eq special (quote table-row)) (org-element-table-row-parser limit)) ((eq special (quote node-property)) (org-element-node-property-parser limit)) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (org-element-headline-parser limit raw-secondary-p)) ((eq special (quote section)) (org-element-section-parser limit)) ((eq special (quote first-section)) (org-element-section-parser (or (save-excursion (let* (... ... ... ...) (outline-next-heading))) limit))) ((not (bolp)) (org-element-paragraph-parser limit (list (point)))) ((looking-at org-planning-or-clock-line-re) (if (equal (match-string 1) org-clock-string) (org-element-clock-parser limit) (org-element-planning-parser limit))) ((org-at-heading-p) (org-element-inlinetask-parser limit raw-secondary-p)) (t (let ((affiliated (org-element--collect-affiliated-keywords limit))) (cond ((and (cdr affiliated) (>= ... limit)) (goto-char (car affiliated)) (org-element-keyword-parser limit nil)) ((looking-at "[ ]*\\\\begin{[A-Za-z0-9*]+}\\(\\[.*?\\]\\|{.*?}\\)*[ ]*$") (org-element-latex-environment-parser limit affiliated)) ((looking-at org-drawer-regexp) (if (equal ... "PROPERTIES") (org-element-property-drawer-parser limit affiliated) (org-element-drawer-parser limit affiliated))) ((looking-at "[ ]*:\\( \\|$\\)") (org-element-fixed-width-parser limit affiliated)) ((looking-at "[ ]*#") (goto-char (match-end 0)) (cond (... ... ...) (... ... ...) (... ... ...) (... ... ...) (... ... ...) (t ... ...))) ((looking-at org-footnote-definition-re) (org-element-footnote-definition-parser limit affiliated)) ((looking-at "[ ]*-\\{5,\\}[ ]*$") (org-element-horizontal-rule-parser limit affiliated)) ((looking-at "%%(") (org-element-diary-sexp-parser limit affiliated)) ((org-at-table-p t) (org-element-table-parser limit affiliated)) ((looking-at (org-item-re)) (org-element-plain-list-parser limit affiliated (or structure ...))) (t (org-element-paragraph-parser limit affiliated)))))))
(save-excursion (let ((case-fold-search t) (raw-secondary-p (and granularity (not (eq granularity (quote object)))))) (cond ((eq special (quote item)) (org-element-item-parser limit structure raw-secondary-p)) ((eq special (quote table-row)) (org-element-table-row-parser limit)) ((eq special (quote node-property)) (org-element-node-property-parser limit)) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (org-element-headline-parser limit raw-secondary-p)) ((eq special (quote section)) (org-element-section-parser limit)) ((eq special (quote first-section)) (org-element-section-parser (or (save-excursion (let* ... ...)) limit))) ((not (bolp)) (org-element-paragraph-parser limit (list (point)))) ((looking-at org-planning-or-clock-line-re) (if (equal (match-string 1) org-clock-string) (org-element-clock-parser limit) (org-element-planning-parser limit))) ((org-at-heading-p) (org-element-inlinetask-parser limit raw-secondary-p)) (t (let ((affiliated (org-element--collect-affiliated-keywords limit))) (cond ((and ... ...) (goto-char ...) (org-element-keyword-parser limit nil)) ((looking-at "[ ]*\\\\begin{[A-Za-z0-9*]+}\\(\\[.*?\\]\\|{.*?}\\)*[ ]*$") (org-element-latex-environment-parser limit affiliated)) ((looking-at org-drawer-regexp) (if ... ... ...)) ((looking-at "[ ]*:\\( \\|$\\)") (org-element-fixed-width-parser limit affiliated)) ((looking-at "[ ]*#") (goto-char ...) (cond ... ... ... ... ... ...)) ((looking-at org-footnote-definition-re) (org-element-footnote-definition-parser limit affiliated)) ((looking-at "[ ]*-\\{5,\\}[ ]*$") (org-element-horizontal-rule-parser limit affiliated)) ((looking-at "%%(") (org-element-diary-sexp-parser limit affiliated)) ((org-at-table-p t) (org-element-table-parser limit affiliated)) ((looking-at ...) (org-element-plain-list-parser limit affiliated ...)) (t (org-element-paragraph-parser limit affiliated))))))))
org-element--current-element(257706 element nil nil)
(setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent)))
(if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element))
(while t (if syncp (progn (cond ((= (point) pos) (throw (quote exit) parent)) ((org-element--cache-interrupt-p time-limit) (throw (quote interrupt) nil))))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and (<= elem-end pos) (/= (point-max) elem-end)) (goto-char elem-end)) ((not (memq type org-element-greater-elements)) (throw (quote exit) element)) ((let ((cbeg (org-element-property :contents-begin element)) (cend (org-element-property :contents-end element))) (if (or syncp (and cbeg cend ... ...)) (progn (goto-char ...) (setq next nil special-flag ... parent element end cend))))) (t (throw (quote exit) element)))) (setq element nil))
(let ((end (or (org-element-property :end element) (save-excursion (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (outline-next-heading)) (point)))) (parent element) special-flag) (while t (if syncp (progn (cond ((= (point) pos) (throw (quote exit) parent)) ((org-element--cache-interrupt-p time-limit) (throw (quote interrupt) nil))))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and (<= elem-end pos) (/= (point-max) elem-end)) (goto-char elem-end)) ((not (memq type org-element-greater-elements)) (throw (quote exit) element)) ((let ((cbeg ...) (cend ...)) (if (or syncp ...) (progn ... ...)))) (t (throw (quote exit) element)))) (setq element nil)))
(let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (outline-previous-heading)) (progn (forward-line))) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp (org-element-property :parent cached) cached))) ((re-search-backward (let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let ((up cached) (pos (if (= ... pos) (1- pos) pos))) (goto-char (or (org-element-property :contents-begin cached) begin)) (while (let ((end ...)) (and (<= end pos) (goto-char end) (setq up ...)))) (cond ((not up)) ((eobp) (setq element up)) (t (setq element up next (point))))))) (let ((end (or (org-element-property :end element) (save-excursion (let* (... ... ... ...) (outline-next-heading)) (point)))) (parent element) special-flag) (while t (if syncp (progn (cond ((= ... pos) (throw ... parent)) ((org-element--cache-interrupt-p time-limit) (throw ... nil))))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and (<= elem-end pos) (/= ... elem-end)) (goto-char elem-end)) ((not (memq type org-element-greater-elements)) (throw (quote exit) element)) ((let (... ...) (if ... ...))) (t (throw (quote exit) element)))) (setq element nil))))
(save-restriction (widen) (goto-char pos) (let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (outline-previous-heading)) (progn (forward-line))) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp (org-element-property :parent cached) cached))) ((re-search-backward (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let ((up cached) (pos (if ... ... pos))) (goto-char (or (org-element-property :contents-begin cached) begin)) (while (let (...) (and ... ... ...))) (cond ((not up)) ((eobp) (setq element up)) (t (setq element up next ...)))))) (let ((end (or (org-element-property :end element) (save-excursion (let* ... ...) (point)))) (parent element) special-flag) (while t (if syncp (progn (cond (... ...) (... ...)))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and ... ...) (goto-char elem-end)) ((not ...) (throw ... element)) ((let ... ...)) (t (throw ... element)))) (setq element nil)))))
(save-excursion (save-restriction (widen) (goto-char pos) (let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* (... ... ... ...) (outline-previous-heading)) (progn (forward-line))) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp (org-element-property :parent cached) cached))) ((re-search-backward (let* (... ... ... ...) org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let ((up cached) (pos ...)) (goto-char (or ... begin)) (while (let ... ...)) (cond (...) (... ...) (t ...))))) (let ((end (or (org-element-property :end element) (save-excursion ... ...))) (parent element) special-flag) (while t (if syncp (progn (cond ... ...))) (if element nil (setq element (org-element--current-element end ... special-flag ...)) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end ...) (type ...)) (cond (... ...) (... ...) (...) (t ...))) (setq element nil))))))
(catch (quote exit) (save-excursion (save-restriction (widen) (goto-char pos) (let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* ... ...) (progn ...)) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp ... cached))) ((re-search-backward (let* ... org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let (... ...) (goto-char ...) (while ...) (cond ... ... ...)))) (let ((end (or ... ...)) (parent element) special-flag) (while t (if syncp (progn ...)) (if element nil (setq element ...) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let (... ...) (cond ... ... ... ...)) (setq element nil)))))))
org-element--parse-to(257280)
(cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync (current-buffer) origin)))) (org-element--parse-to origin)))
(let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync (current-buffer) origin)))) (org-element--parse-to origin))))
(save-restriction (widen) (let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync ... origin)))) (org-element--parse-to origin)))))
(save-excursion (save-restriction (widen) (let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if ... ... ...))) (org-element--parse-to origin))))))
org-element-at-point()
(let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let ((p drawer)) (while (and (setq p (org-element-property :parent p)) (not (eq ... ...)))) (not p))) (progn (let ((end (org-element-property :contents-end drawer))) (if end (progn (forward-line) (while (< ... end) (if ... ...) (forward-line))))))))
(while (and (null plist) (re-search-forward org-property-start-re end t)) (let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let ((p drawer)) (while (and (setq p ...) (not ...))) (not p))) (progn (let ((end (org-element-property :contents-end drawer))) (if end (progn (forward-line) (while ... ... ...))))))))
(save-excursion (while (and (null plist) (re-search-forward org-property-start-re end t)) (let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let ((p drawer)) (while (and ... ...)) (not p))) (progn (let ((end ...)) (if end (progn ... ...))))))) plist)
(let ((end (save-excursion (let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (outline-next-heading)) (point))) plist) (save-excursion (while (and (null plist) (re-search-forward org-property-start-re end t)) (let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let (...) (while ...) (not p))) (progn (let (...) (if end ...)))))) plist))
(let* ((components (org-heading-components)) (level (nth 1 components)) (todo (nth 2 components)) (todo-type (and todo (if (member todo org-done-keywords) (quote done) (quote todo)))) (tags (let ((raw-tags (nth 5 components))) (and raw-tags (org-split-string raw-tags ":")))) (raw-value (or (nth 4 components) "")) (commentedp (let ((case-fold-search nil)) (string-match (format "^%s\\( \\|$\\)" org-comment-string) raw-value))) (archivedp (member org-archive-tag tags)) (footnote-section-p (and org-footnote-section (string= org-footnote-section raw-value))) (standard-props (let ((end (save-excursion (let* ... ...) (point))) plist) (save-excursion (while (and (null plist) (re-search-forward org-property-start-re end t)) (let (...) (if ... ...))) plist))) (time-props (save-excursion (forward-line) (if (looking-at org-planning-or-clock-line-re) (progn (let (... plist) (while ... ... ... ...) plist))))) (begin (point)) (end (min (save-excursion (org-end-of-subtree t t)) limit)) (pos-after-head (progn (forward-line) (point))) (contents-begin (save-excursion (skip-chars-forward " \r \n" end) (and (/= (point) end) (line-beginning-position)))) (contents-end (and contents-begin (progn (goto-char end) (skip-chars-backward " \r \n") (forward-line) (point))))) (if commentedp (progn (let ((case-fold-search nil)) (setq raw-value (replace-regexp-in-string (concat (regexp-quote org-comment-string) "\\(?: \\|$\\)") "" raw-value))))) (if archivedp (progn (setq tags (delete org-archive-tag tags)))) (let ((headline (list (quote headline) (nconc (list :raw-value raw-value :begin begin :end end :pre-blank (if ... 0 ...) :contents-begin contents-begin :contents-end contents-end :level level :priority (nth 3 components) :tags tags :todo-keyword todo :todo-type todo-type :post-blank (count-lines ... end) :footnote-section-p footnote-section-p :archivedp archivedp :commentedp commentedp) time-props standard-props)))) (let ((alt-title (org-element-property :ALT_TITLE headline))) (if alt-title (progn (org-element-put-property headline :alt-title (if raw-secondary-p alt-title (org-element-parse-secondary-string alt-title ... headline)))))) (org-element-put-property headline :title (if raw-secondary-p raw-value (org-element-parse-secondary-string raw-value (org-element-restriction (quote headline)) headline)))))
(save-excursion (let* ((components (org-heading-components)) (level (nth 1 components)) (todo (nth 2 components)) (todo-type (and todo (if (member todo org-done-keywords) (quote done) (quote todo)))) (tags (let ((raw-tags (nth 5 components))) (and raw-tags (org-split-string raw-tags ":")))) (raw-value (or (nth 4 components) "")) (commentedp (let ((case-fold-search nil)) (string-match (format "^%s\\( \\|$\\)" org-comment-string) raw-value))) (archivedp (member org-archive-tag tags)) (footnote-section-p (and org-footnote-section (string= org-footnote-section raw-value))) (standard-props (let ((end (save-excursion ... ...)) plist) (save-excursion (while (and ... ...) (let ... ...)) plist))) (time-props (save-excursion (forward-line) (if (looking-at org-planning-or-clock-line-re) (progn (let ... ... plist))))) (begin (point)) (end (min (save-excursion (org-end-of-subtree t t)) limit)) (pos-after-head (progn (forward-line) (point))) (contents-begin (save-excursion (skip-chars-forward " \r \n" end) (and (/= (point) end) (line-beginning-position)))) (contents-end (and contents-begin (progn (goto-char end) (skip-chars-backward " \r \n") (forward-line) (point))))) (if commentedp (progn (let ((case-fold-search nil)) (setq raw-value (replace-regexp-in-string (concat ... "\\(?: \\|$\\)") "" raw-value))))) (if archivedp (progn (setq tags (delete org-archive-tag tags)))) (let ((headline (list (quote headline) (nconc (list :raw-value raw-value :begin begin :end end :pre-blank ... :contents-begin contents-begin :contents-end contents-end :level level :priority ... :tags tags :todo-keyword todo :todo-type todo-type :post-blank ... :footnote-section-p footnote-section-p :archivedp archivedp :commentedp commentedp) time-props standard-props)))) (let ((alt-title (org-element-property :ALT_TITLE headline))) (if alt-title (progn (org-element-put-property headline :alt-title (if raw-secondary-p alt-title ...))))) (org-element-put-property headline :title (if raw-secondary-p raw-value (org-element-parse-secondary-string raw-value (org-element-restriction (quote headline)) headline))))))
org-element-headline-parser(257706 t)
(cond ((eq special (quote item)) (org-element-item-parser limit structure raw-secondary-p)) ((eq special (quote table-row)) (org-element-table-row-parser limit)) ((eq special (quote node-property)) (org-element-node-property-parser limit)) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (org-element-headline-parser limit raw-secondary-p)) ((eq special (quote section)) (org-element-section-parser limit)) ((eq special (quote first-section)) (org-element-section-parser (or (save-excursion (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (outline-next-heading))) limit))) ((not (bolp)) (org-element-paragraph-parser limit (list (point)))) ((looking-at org-planning-or-clock-line-re) (if (equal (match-string 1) org-clock-string) (org-element-clock-parser limit) (org-element-planning-parser limit))) ((org-at-heading-p) (org-element-inlinetask-parser limit raw-secondary-p)) (t (let ((affiliated (org-element--collect-affiliated-keywords limit))) (cond ((and (cdr affiliated) (>= (point) limit)) (goto-char (car affiliated)) (org-element-keyword-parser limit nil)) ((looking-at "[ ]*\\\\begin{[A-Za-z0-9*]+}\\(\\[.*?\\]\\|{.*?}\\)*[ ]*$") (org-element-latex-environment-parser limit affiliated)) ((looking-at org-drawer-regexp) (if (equal (match-string 1) "PROPERTIES") (org-element-property-drawer-parser limit affiliated) (org-element-drawer-parser limit affiliated))) ((looking-at "[ ]*:\\( \\|$\\)") (org-element-fixed-width-parser limit affiliated)) ((looking-at "[ ]*#") (goto-char (match-end 0)) (cond ((looking-at "\\(?: \\|$\\)") (beginning-of-line) (org-element-comment-parser limit affiliated)) ((looking-at "\\+BEGIN_\\(\\S-+\\)") (beginning-of-line) (let ... ...)) ((looking-at "\\+CALL:") (beginning-of-line) (org-element-babel-call-parser limit affiliated)) ((looking-at "\\+BEGIN:? ") (beginning-of-line) (org-element-dynamic-block-parser limit affiliated)) ((looking-at "\\+\\S-+:") (beginning-of-line) (org-element-keyword-parser limit affiliated)) (t (beginning-of-line) (org-element-paragraph-parser limit affiliated)))) ((looking-at org-footnote-definition-re) (org-element-footnote-definition-parser limit affiliated)) ((looking-at "[ ]*-\\{5,\\}[ ]*$") (org-element-horizontal-rule-parser limit affiliated)) ((looking-at "%%(") (org-element-diary-sexp-parser limit affiliated)) ((org-at-table-p t) (org-element-table-parser limit affiliated)) ((looking-at (org-item-re)) (org-element-plain-list-parser limit affiliated (or structure (org-element--list-struct limit)))) (t (org-element-paragraph-parser limit affiliated))))))
(let ((case-fold-search t) (raw-secondary-p (and granularity (not (eq granularity (quote object)))))) (cond ((eq special (quote item)) (org-element-item-parser limit structure raw-secondary-p)) ((eq special (quote table-row)) (org-element-table-row-parser limit)) ((eq special (quote node-property)) (org-element-node-property-parser limit)) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (org-element-headline-parser limit raw-secondary-p)) ((eq special (quote section)) (org-element-section-parser limit)) ((eq special (quote first-section)) (org-element-section-parser (or (save-excursion (let* (... ... ... ...) (outline-next-heading))) limit))) ((not (bolp)) (org-element-paragraph-parser limit (list (point)))) ((looking-at org-planning-or-clock-line-re) (if (equal (match-string 1) org-clock-string) (org-element-clock-parser limit) (org-element-planning-parser limit))) ((org-at-heading-p) (org-element-inlinetask-parser limit raw-secondary-p)) (t (let ((affiliated (org-element--collect-affiliated-keywords limit))) (cond ((and (cdr affiliated) (>= ... limit)) (goto-char (car affiliated)) (org-element-keyword-parser limit nil)) ((looking-at "[ ]*\\\\begin{[A-Za-z0-9*]+}\\(\\[.*?\\]\\|{.*?}\\)*[ ]*$") (org-element-latex-environment-parser limit affiliated)) ((looking-at org-drawer-regexp) (if (equal ... "PROPERTIES") (org-element-property-drawer-parser limit affiliated) (org-element-drawer-parser limit affiliated))) ((looking-at "[ ]*:\\( \\|$\\)") (org-element-fixed-width-parser limit affiliated)) ((looking-at "[ ]*#") (goto-char (match-end 0)) (cond (... ... ...) (... ... ...) (... ... ...) (... ... ...) (... ... ...) (t ... ...))) ((looking-at org-footnote-definition-re) (org-element-footnote-definition-parser limit affiliated)) ((looking-at "[ ]*-\\{5,\\}[ ]*$") (org-element-horizontal-rule-parser limit affiliated)) ((looking-at "%%(") (org-element-diary-sexp-parser limit affiliated)) ((org-at-table-p t) (org-element-table-parser limit affiliated)) ((looking-at (org-item-re)) (org-element-plain-list-parser limit affiliated (or structure ...))) (t (org-element-paragraph-parser limit affiliated)))))))
(save-excursion (let ((case-fold-search t) (raw-secondary-p (and granularity (not (eq granularity (quote object)))))) (cond ((eq special (quote item)) (org-element-item-parser limit structure raw-secondary-p)) ((eq special (quote table-row)) (org-element-table-row-parser limit)) ((eq special (quote node-property)) (org-element-node-property-parser limit)) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (org-element-headline-parser limit raw-secondary-p)) ((eq special (quote section)) (org-element-section-parser limit)) ((eq special (quote first-section)) (org-element-section-parser (or (save-excursion (let* ... ...)) limit))) ((not (bolp)) (org-element-paragraph-parser limit (list (point)))) ((looking-at org-planning-or-clock-line-re) (if (equal (match-string 1) org-clock-string) (org-element-clock-parser limit) (org-element-planning-parser limit))) ((org-at-heading-p) (org-element-inlinetask-parser limit raw-secondary-p)) (t (let ((affiliated (org-element--collect-affiliated-keywords limit))) (cond ((and ... ...) (goto-char ...) (org-element-keyword-parser limit nil)) ((looking-at "[ ]*\\\\begin{[A-Za-z0-9*]+}\\(\\[.*?\\]\\|{.*?}\\)*[ ]*$") (org-element-latex-environment-parser limit affiliated)) ((looking-at org-drawer-regexp) (if ... ... ...)) ((looking-at "[ ]*:\\( \\|$\\)") (org-element-fixed-width-parser limit affiliated)) ((looking-at "[ ]*#") (goto-char ...) (cond ... ... ... ... ... ...)) ((looking-at org-footnote-definition-re) (org-element-footnote-definition-parser limit affiliated)) ((looking-at "[ ]*-\\{5,\\}[ ]*$") (org-element-horizontal-rule-parser limit affiliated)) ((looking-at "%%(") (org-element-diary-sexp-parser limit affiliated)) ((org-at-table-p t) (org-element-table-parser limit affiliated)) ((looking-at ...) (org-element-plain-list-parser limit affiliated ...)) (t (org-element-paragraph-parser limit affiliated))))))))
org-element--current-element(257706 element nil nil)
(setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent)))
(if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element))
(while t (if syncp (progn (cond ((= (point) pos) (throw (quote exit) parent)) ((org-element--cache-interrupt-p time-limit) (throw (quote interrupt) nil))))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and (<= elem-end pos) (/= (point-max) elem-end)) (goto-char elem-end)) ((not (memq type org-element-greater-elements)) (throw (quote exit) element)) ((let ((cbeg (org-element-property :contents-begin element)) (cend (org-element-property :contents-end element))) (if (or syncp (and cbeg cend ... ...)) (progn (goto-char ...) (setq next nil special-flag ... parent element end cend))))) (t (throw (quote exit) element)))) (setq element nil))
(let ((end (or (org-element-property :end element) (save-excursion (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (outline-next-heading)) (point)))) (parent element) special-flag) (while t (if syncp (progn (cond ((= (point) pos) (throw (quote exit) parent)) ((org-element--cache-interrupt-p time-limit) (throw (quote interrupt) nil))))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and (<= elem-end pos) (/= (point-max) elem-end)) (goto-char elem-end)) ((not (memq type org-element-greater-elements)) (throw (quote exit) element)) ((let ((cbeg ...) (cend ...)) (if (or syncp ...) (progn ... ...)))) (t (throw (quote exit) element)))) (setq element nil)))
(let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (outline-previous-heading)) (progn (forward-line))) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp (org-element-property :parent cached) cached))) ((re-search-backward (let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let ((up cached) (pos (if (= ... pos) (1- pos) pos))) (goto-char (or (org-element-property :contents-begin cached) begin)) (while (let ((end ...)) (and (<= end pos) (goto-char end) (setq up ...)))) (cond ((not up)) ((eobp) (setq element up)) (t (setq element up next (point))))))) (let ((end (or (org-element-property :end element) (save-excursion (let* (... ... ... ...) (outline-next-heading)) (point)))) (parent element) special-flag) (while t (if syncp (progn (cond ((= ... pos) (throw ... parent)) ((org-element--cache-interrupt-p time-limit) (throw ... nil))))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and (<= elem-end pos) (/= ... elem-end)) (goto-char elem-end)) ((not (memq type org-element-greater-elements)) (throw (quote exit) element)) ((let (... ...) (if ... ...))) (t (throw (quote exit) element)))) (setq element nil))))
(save-restriction (widen) (goto-char pos) (let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (outline-previous-heading)) (progn (forward-line))) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp (org-element-property :parent cached) cached))) ((re-search-backward (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let ((up cached) (pos (if ... ... pos))) (goto-char (or (org-element-property :contents-begin cached) begin)) (while (let (...) (and ... ... ...))) (cond ((not up)) ((eobp) (setq element up)) (t (setq element up next ...)))))) (let ((end (or (org-element-property :end element) (save-excursion (let* ... ...) (point)))) (parent element) special-flag) (while t (if syncp (progn (cond (... ...) (... ...)))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and ... ...) (goto-char elem-end)) ((not ...) (throw ... element)) ((let ... ...)) (t (throw ... element)))) (setq element nil)))))
(save-excursion (save-restriction (widen) (goto-char pos) (let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* (... ... ... ...) (outline-previous-heading)) (progn (forward-line))) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp (org-element-property :parent cached) cached))) ((re-search-backward (let* (... ... ... ...) org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let ((up cached) (pos ...)) (goto-char (or ... begin)) (while (let ... ...)) (cond (...) (... ...) (t ...))))) (let ((end (or (org-element-property :end element) (save-excursion ... ...))) (parent element) special-flag) (while t (if syncp (progn (cond ... ...))) (if element nil (setq element (org-element--current-element end ... special-flag ...)) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end ...) (type ...)) (cond (... ...) (... ...) (...) (t ...))) (setq element nil))))))
(catch (quote exit) (save-excursion (save-restriction (widen) (goto-char pos) (let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* ... ...) (progn ...)) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp ... cached))) ((re-search-backward (let* ... org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let (... ...) (goto-char ...) (while ...) (cond ... ... ...)))) (let ((end (or ... ...)) (parent element) special-flag) (while t (if syncp (progn ...)) (if element nil (setq element ...) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let (... ...) (cond ... ... ... ...)) (setq element nil)))))))
org-element--parse-to(257280)
(cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync (current-buffer) origin)))) (org-element--parse-to origin)))
(let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync (current-buffer) origin)))) (org-element--parse-to origin))))
(save-restriction (widen) (let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync ... origin)))) (org-element--parse-to origin)))))
(save-excursion (save-restriction (widen) (let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if ... ... ...))) (org-element--parse-to origin))))))
org-element-at-point()
(let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let ((p drawer)) (while (and (setq p (org-element-property :parent p)) (not (eq ... ...)))) (not p))) (progn (let ((end (org-element-property :contents-end drawer))) (if end (progn (forward-line) (while (< ... end) (if ... ...) (forward-line))))))))
(while (and (null plist) (re-search-forward org-property-start-re end t)) (let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let ((p drawer)) (while (and (setq p ...) (not ...))) (not p))) (progn (let ((end (org-element-property :contents-end drawer))) (if end (progn (forward-line) (while ... ... ...))))))))
(save-excursion (while (and (null plist) (re-search-forward org-property-start-re end t)) (let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let ((p drawer)) (while (and ... ...)) (not p))) (progn (let ((end ...)) (if end (progn ... ...))))))) plist)
(let ((end (save-excursion (let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (outline-next-heading)) (point))) plist) (save-excursion (while (and (null plist) (re-search-forward org-property-start-re end t)) (let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let (...) (while ...) (not p))) (progn (let (...) (if end ...)))))) plist))
(let* ((components (org-heading-components)) (level (nth 1 components)) (todo (nth 2 components)) (todo-type (and todo (if (member todo org-done-keywords) (quote done) (quote todo)))) (tags (let ((raw-tags (nth 5 components))) (and raw-tags (org-split-string raw-tags ":")))) (raw-value (or (nth 4 components) "")) (commentedp (let ((case-fold-search nil)) (string-match (format "^%s\\( \\|$\\)" org-comment-string) raw-value))) (archivedp (member org-archive-tag tags)) (footnote-section-p (and org-footnote-section (string= org-footnote-section raw-value))) (standard-props (let ((end (save-excursion (let* ... ...) (point))) plist) (save-excursion (while (and (null plist) (re-search-forward org-property-start-re end t)) (let (...) (if ... ...))) plist))) (time-props (save-excursion (forward-line) (if (looking-at org-planning-or-clock-line-re) (progn (let (... plist) (while ... ... ... ...) plist))))) (begin (point)) (end (min (save-excursion (org-end-of-subtree t t)) limit)) (pos-after-head (progn (forward-line) (point))) (contents-begin (save-excursion (skip-chars-forward " \r \n" end) (and (/= (point) end) (line-beginning-position)))) (contents-end (and contents-begin (progn (goto-char end) (skip-chars-backward " \r \n") (forward-line) (point))))) (if commentedp (progn (let ((case-fold-search nil)) (setq raw-value (replace-regexp-in-string (concat (regexp-quote org-comment-string) "\\(?: \\|$\\)") "" raw-value))))) (if archivedp (progn (setq tags (delete org-archive-tag tags)))) (let ((headline (list (quote headline) (nconc (list :raw-value raw-value :begin begin :end end :pre-blank (if ... 0 ...) :contents-begin contents-begin :contents-end contents-end :level level :priority (nth 3 components) :tags tags :todo-keyword todo :todo-type todo-type :post-blank (count-lines ... end) :footnote-section-p footnote-section-p :archivedp archivedp :commentedp commentedp) time-props standard-props)))) (let ((alt-title (org-element-property :ALT_TITLE headline))) (if alt-title (progn (org-element-put-property headline :alt-title (if raw-secondary-p alt-title (org-element-parse-secondary-string alt-title ... headline)))))) (org-element-put-property headline :title (if raw-secondary-p raw-value (org-element-parse-secondary-string raw-value (org-element-restriction (quote headline)) headline)))))
(save-excursion (let* ((components (org-heading-components)) (level (nth 1 components)) (todo (nth 2 components)) (todo-type (and todo (if (member todo org-done-keywords) (quote done) (quote todo)))) (tags (let ((raw-tags (nth 5 components))) (and raw-tags (org-split-string raw-tags ":")))) (raw-value (or (nth 4 components) "")) (commentedp (let ((case-fold-search nil)) (string-match (format "^%s\\( \\|$\\)" org-comment-string) raw-value))) (archivedp (member org-archive-tag tags)) (footnote-section-p (and org-footnote-section (string= org-footnote-section raw-value))) (standard-props (let ((end (save-excursion ... ...)) plist) (save-excursion (while (and ... ...) (let ... ...)) plist))) (time-props (save-excursion (forward-line) (if (looking-at org-planning-or-clock-line-re) (progn (let ... ... plist))))) (begin (point)) (end (min (save-excursion (org-end-of-subtree t t)) limit)) (pos-after-head (progn (forward-line) (point))) (contents-begin (save-excursion (skip-chars-forward " \r \n" end) (and (/= (point) end) (line-beginning-position)))) (contents-end (and contents-begin (progn (goto-char end) (skip-chars-backward " \r \n") (forward-line) (point))))) (if commentedp (progn (let ((case-fold-search nil)) (setq raw-value (replace-regexp-in-string (concat ... "\\(?: \\|$\\)") "" raw-value))))) (if archivedp (progn (setq tags (delete org-archive-tag tags)))) (let ((headline (list (quote headline) (nconc (list :raw-value raw-value :begin begin :end end :pre-blank ... :contents-begin contents-begin :contents-end contents-end :level level :priority ... :tags tags :todo-keyword todo :todo-type todo-type :post-blank ... :footnote-section-p footnote-section-p :archivedp archivedp :commentedp commentedp) time-props standard-props)))) (let ((alt-title (org-element-property :ALT_TITLE headline))) (if alt-title (progn (org-element-put-property headline :alt-title (if raw-secondary-p alt-title ...))))) (org-element-put-property headline :title (if raw-secondary-p raw-value (org-element-parse-secondary-string raw-value (org-element-restriction (quote headline)) headline))))))
org-element-headline-parser(257706 t)
(cond ((eq special (quote item)) (org-element-item-parser limit structure raw-secondary-p)) ((eq special (quote table-row)) (org-element-table-row-parser limit)) ((eq special (quote node-property)) (org-element-node-property-parser limit)) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (org-element-headline-parser limit raw-secondary-p)) ((eq special (quote section)) (org-element-section-parser limit)) ((eq special (quote first-section)) (org-element-section-parser (or (save-excursion (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (outline-next-heading))) limit))) ((not (bolp)) (org-element-paragraph-parser limit (list (point)))) ((looking-at org-planning-or-clock-line-re) (if (equal (match-string 1) org-clock-string) (org-element-clock-parser limit) (org-element-planning-parser limit))) ((org-at-heading-p) (org-element-inlinetask-parser limit raw-secondary-p)) (t (let ((affiliated (org-element--collect-affiliated-keywords limit))) (cond ((and (cdr affiliated) (>= (point) limit)) (goto-char (car affiliated)) (org-element-keyword-parser limit nil)) ((looking-at "[ ]*\\\\begin{[A-Za-z0-9*]+}\\(\\[.*?\\]\\|{.*?}\\)*[ ]*$") (org-element-latex-environment-parser limit affiliated)) ((looking-at org-drawer-regexp) (if (equal (match-string 1) "PROPERTIES") (org-element-property-drawer-parser limit affiliated) (org-element-drawer-parser limit affiliated))) ((looking-at "[ ]*:\\( \\|$\\)") (org-element-fixed-width-parser limit affiliated)) ((looking-at "[ ]*#") (goto-char (match-end 0)) (cond ((looking-at "\\(?: \\|$\\)") (beginning-of-line) (org-element-comment-parser limit affiliated)) ((looking-at "\\+BEGIN_\\(\\S-+\\)") (beginning-of-line) (let ... ...)) ((looking-at "\\+CALL:") (beginning-of-line) (org-element-babel-call-parser limit affiliated)) ((looking-at "\\+BEGIN:? ") (beginning-of-line) (org-element-dynamic-block-parser limit affiliated)) ((looking-at "\\+\\S-+:") (beginning-of-line) (org-element-keyword-parser limit affiliated)) (t (beginning-of-line) (org-element-paragraph-parser limit affiliated)))) ((looking-at org-footnote-definition-re) (org-element-footnote-definition-parser limit affiliated)) ((looking-at "[ ]*-\\{5,\\}[ ]*$") (org-element-horizontal-rule-parser limit affiliated)) ((looking-at "%%(") (org-element-diary-sexp-parser limit affiliated)) ((org-at-table-p t) (org-element-table-parser limit affiliated)) ((looking-at (org-item-re)) (org-element-plain-list-parser limit affiliated (or structure (org-element--list-struct limit)))) (t (org-element-paragraph-parser limit affiliated))))))
(let ((case-fold-search t) (raw-secondary-p (and granularity (not (eq granularity (quote object)))))) (cond ((eq special (quote item)) (org-element-item-parser limit structure raw-secondary-p)) ((eq special (quote table-row)) (org-element-table-row-parser limit)) ((eq special (quote node-property)) (org-element-node-property-parser limit)) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (org-element-headline-parser limit raw-secondary-p)) ((eq special (quote section)) (org-element-section-parser limit)) ((eq special (quote first-section)) (org-element-section-parser (or (save-excursion (let* (... ... ... ...) (outline-next-heading))) limit))) ((not (bolp)) (org-element-paragraph-parser limit (list (point)))) ((looking-at org-planning-or-clock-line-re) (if (equal (match-string 1) org-clock-string) (org-element-clock-parser limit) (org-element-planning-parser limit))) ((org-at-heading-p) (org-element-inlinetask-parser limit raw-secondary-p)) (t (let ((affiliated (org-element--collect-affiliated-keywords limit))) (cond ((and (cdr affiliated) (>= ... limit)) (goto-char (car affiliated)) (org-element-keyword-parser limit nil)) ((looking-at "[ ]*\\\\begin{[A-Za-z0-9*]+}\\(\\[.*?\\]\\|{.*?}\\)*[ ]*$") (org-element-latex-environment-parser limit affiliated)) ((looking-at org-drawer-regexp) (if (equal ... "PROPERTIES") (org-element-property-drawer-parser limit affiliated) (org-element-drawer-parser limit affiliated))) ((looking-at "[ ]*:\\( \\|$\\)") (org-element-fixed-width-parser limit affiliated)) ((looking-at "[ ]*#") (goto-char (match-end 0)) (cond (... ... ...) (... ... ...) (... ... ...) (... ... ...) (... ... ...) (t ... ...))) ((looking-at org-footnote-definition-re) (org-element-footnote-definition-parser limit affiliated)) ((looking-at "[ ]*-\\{5,\\}[ ]*$") (org-element-horizontal-rule-parser limit affiliated)) ((looking-at "%%(") (org-element-diary-sexp-parser limit affiliated)) ((org-at-table-p t) (org-element-table-parser limit affiliated)) ((looking-at (org-item-re)) (org-element-plain-list-parser limit affiliated (or structure ...))) (t (org-element-paragraph-parser limit affiliated)))))))
(save-excursion (let ((case-fold-search t) (raw-secondary-p (and granularity (not (eq granularity (quote object)))))) (cond ((eq special (quote item)) (org-element-item-parser limit structure raw-secondary-p)) ((eq special (quote table-row)) (org-element-table-row-parser limit)) ((eq special (quote node-property)) (org-element-node-property-parser limit)) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (org-element-headline-parser limit raw-secondary-p)) ((eq special (quote section)) (org-element-section-parser limit)) ((eq special (quote first-section)) (org-element-section-parser (or (save-excursion (let* ... ...)) limit))) ((not (bolp)) (org-element-paragraph-parser limit (list (point)))) ((looking-at org-planning-or-clock-line-re) (if (equal (match-string 1) org-clock-string) (org-element-clock-parser limit) (org-element-planning-parser limit))) ((org-at-heading-p) (org-element-inlinetask-parser limit raw-secondary-p)) (t (let ((affiliated (org-element--collect-affiliated-keywords limit))) (cond ((and ... ...) (goto-char ...) (org-element-keyword-parser limit nil)) ((looking-at "[ ]*\\\\begin{[A-Za-z0-9*]+}\\(\\[.*?\\]\\|{.*?}\\)*[ ]*$") (org-element-latex-environment-parser limit affiliated)) ((looking-at org-drawer-regexp) (if ... ... ...)) ((looking-at "[ ]*:\\( \\|$\\)") (org-element-fixed-width-parser limit affiliated)) ((looking-at "[ ]*#") (goto-char ...) (cond ... ... ... ... ... ...)) ((looking-at org-footnote-definition-re) (org-element-footnote-definition-parser limit affiliated)) ((looking-at "[ ]*-\\{5,\\}[ ]*$") (org-element-horizontal-rule-parser limit affiliated)) ((looking-at "%%(") (org-element-diary-sexp-parser limit affiliated)) ((org-at-table-p t) (org-element-table-parser limit affiliated)) ((looking-at ...) (org-element-plain-list-parser limit affiliated ...)) (t (org-element-paragraph-parser limit affiliated))))))))
org-element--current-element(257706 element nil nil)
(setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent)))
(if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element))
(while t (if syncp (progn (cond ((= (point) pos) (throw (quote exit) parent)) ((org-element--cache-interrupt-p time-limit) (throw (quote interrupt) nil))))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and (<= elem-end pos) (/= (point-max) elem-end)) (goto-char elem-end)) ((not (memq type org-element-greater-elements)) (throw (quote exit) element)) ((let ((cbeg (org-element-property :contents-begin element)) (cend (org-element-property :contents-end element))) (if (or syncp (and cbeg cend ... ...)) (progn (goto-char ...) (setq next nil special-flag ... parent element end cend))))) (t (throw (quote exit) element)))) (setq element nil))
(let ((end (or (org-element-property :end element) (save-excursion (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (outline-next-heading)) (point)))) (parent element) special-flag) (while t (if syncp (progn (cond ((= (point) pos) (throw (quote exit) parent)) ((org-element--cache-interrupt-p time-limit) (throw (quote interrupt) nil))))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and (<= elem-end pos) (/= (point-max) elem-end)) (goto-char elem-end)) ((not (memq type org-element-greater-elements)) (throw (quote exit) element)) ((let ((cbeg ...) (cend ...)) (if (or syncp ...) (progn ... ...)))) (t (throw (quote exit) element)))) (setq element nil)))
(let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (outline-previous-heading)) (progn (forward-line))) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp (org-element-property :parent cached) cached))) ((re-search-backward (let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let ((up cached) (pos (if (= ... pos) (1- pos) pos))) (goto-char (or (org-element-property :contents-begin cached) begin)) (while (let ((end ...)) (and (<= end pos) (goto-char end) (setq up ...)))) (cond ((not up)) ((eobp) (setq element up)) (t (setq element up next (point))))))) (let ((end (or (org-element-property :end element) (save-excursion (let* (... ... ... ...) (outline-next-heading)) (point)))) (parent element) special-flag) (while t (if syncp (progn (cond ((= ... pos) (throw ... parent)) ((org-element--cache-interrupt-p time-limit) (throw ... nil))))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and (<= elem-end pos) (/= ... elem-end)) (goto-char elem-end)) ((not (memq type org-element-greater-elements)) (throw (quote exit) element)) ((let (... ...) (if ... ...))) (t (throw (quote exit) element)))) (setq element nil))))
(save-restriction (widen) (goto-char pos) (let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (outline-previous-heading)) (progn (forward-line))) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp (org-element-property :parent cached) cached))) ((re-search-backward (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let ((up cached) (pos (if ... ... pos))) (goto-char (or (org-element-property :contents-begin cached) begin)) (while (let (...) (and ... ... ...))) (cond ((not up)) ((eobp) (setq element up)) (t (setq element up next ...)))))) (let ((end (or (org-element-property :end element) (save-excursion (let* ... ...) (point)))) (parent element) special-flag) (while t (if syncp (progn (cond (... ...) (... ...)))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and ... ...) (goto-char elem-end)) ((not ...) (throw ... element)) ((let ... ...)) (t (throw ... element)))) (setq element nil)))))
(save-excursion (save-restriction (widen) (goto-char pos) (let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* (... ... ... ...) (outline-previous-heading)) (progn (forward-line))) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp (org-element-property :parent cached) cached))) ((re-search-backward (let* (... ... ... ...) org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let ((up cached) (pos ...)) (goto-char (or ... begin)) (while (let ... ...)) (cond (...) (... ...) (t ...))))) (let ((end (or (org-element-property :end element) (save-excursion ... ...))) (parent element) special-flag) (while t (if syncp (progn (cond ... ...))) (if element nil (setq element (org-element--current-element end ... special-flag ...)) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end ...) (type ...)) (cond (... ...) (... ...) (...) (t ...))) (setq element nil))))))
(catch (quote exit) (save-excursion (save-restriction (widen) (goto-char pos) (let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* ... ...) (progn ...)) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp ... cached))) ((re-search-backward (let* ... org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let (... ...) (goto-char ...) (while ...) (cond ... ... ...)))) (let ((end (or ... ...)) (parent element) special-flag) (while t (if syncp (progn ...)) (if element nil (setq element ...) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let (... ...) (cond ... ... ... ...)) (setq element nil)))))))
org-element--parse-to(257280)
(cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync (current-buffer) origin)))) (org-element--parse-to origin)))
(let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync (current-buffer) origin)))) (org-element--parse-to origin))))
(save-restriction (widen) (let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync ... origin)))) (org-element--parse-to origin)))))
(save-excursion (save-restriction (widen) (let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if ... ... ...))) (org-element--parse-to origin))))))
org-element-at-point()
(let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let ((p drawer)) (while (and (setq p (org-element-property :parent p)) (not (eq ... ...)))) (not p))) (progn (let ((end (org-element-property :contents-end drawer))) (if end (progn (forward-line) (while (< ... end) (if ... ...) (forward-line))))))))
(while (and (null plist) (re-search-forward org-property-start-re end t)) (let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let ((p drawer)) (while (and (setq p ...) (not ...))) (not p))) (progn (let ((end (org-element-property :contents-end drawer))) (if end (progn (forward-line) (while ... ... ...))))))))
(save-excursion (while (and (null plist) (re-search-forward org-property-start-re end t)) (let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let ((p drawer)) (while (and ... ...)) (not p))) (progn (let ((end ...)) (if end (progn ... ...))))))) plist)
(let ((end (save-excursion (let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (outline-next-heading)) (point))) plist) (save-excursion (while (and (null plist) (re-search-forward org-property-start-re end t)) (let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let (...) (while ...) (not p))) (progn (let (...) (if end ...)))))) plist))
(let* ((components (org-heading-components)) (level (nth 1 components)) (todo (nth 2 components)) (todo-type (and todo (if (member todo org-done-keywords) (quote done) (quote todo)))) (tags (let ((raw-tags (nth 5 components))) (and raw-tags (org-split-string raw-tags ":")))) (raw-value (or (nth 4 components) "")) (commentedp (let ((case-fold-search nil)) (string-match (format "^%s\\( \\|$\\)" org-comment-string) raw-value))) (archivedp (member org-archive-tag tags)) (footnote-section-p (and org-footnote-section (string= org-footnote-section raw-value))) (standard-props (let ((end (save-excursion (let* ... ...) (point))) plist) (save-excursion (while (and (null plist) (re-search-forward org-property-start-re end t)) (let (...) (if ... ...))) plist))) (time-props (save-excursion (forward-line) (if (looking-at org-planning-or-clock-line-re) (progn (let (... plist) (while ... ... ... ...) plist))))) (begin (point)) (end (min (save-excursion (org-end-of-subtree t t)) limit)) (pos-after-head (progn (forward-line) (point))) (contents-begin (save-excursion (skip-chars-forward " \r \n" end) (and (/= (point) end) (line-beginning-position)))) (contents-end (and contents-begin (progn (goto-char end) (skip-chars-backward " \r \n") (forward-line) (point))))) (if commentedp (progn (let ((case-fold-search nil)) (setq raw-value (replace-regexp-in-string (concat (regexp-quote org-comment-string) "\\(?: \\|$\\)") "" raw-value))))) (if archivedp (progn (setq tags (delete org-archive-tag tags)))) (let ((headline (list (quote headline) (nconc (list :raw-value raw-value :begin begin :end end :pre-blank (if ... 0 ...) :contents-begin contents-begin :contents-end contents-end :level level :priority (nth 3 components) :tags tags :todo-keyword todo :todo-type todo-type :post-blank (count-lines ... end) :footnote-section-p footnote-section-p :archivedp archivedp :commentedp commentedp) time-props standard-props)))) (let ((alt-title (org-element-property :ALT_TITLE headline))) (if alt-title (progn (org-element-put-property headline :alt-title (if raw-secondary-p alt-title (org-element-parse-secondary-string alt-title ... headline)))))) (org-element-put-property headline :title (if raw-secondary-p raw-value (org-element-parse-secondary-string raw-value (org-element-restriction (quote headline)) headline)))))
(save-excursion (let* ((components (org-heading-components)) (level (nth 1 components)) (todo (nth 2 components)) (todo-type (and todo (if (member todo org-done-keywords) (quote done) (quote todo)))) (tags (let ((raw-tags (nth 5 components))) (and raw-tags (org-split-string raw-tags ":")))) (raw-value (or (nth 4 components) "")) (commentedp (let ((case-fold-search nil)) (string-match (format "^%s\\( \\|$\\)" org-comment-string) raw-value))) (archivedp (member org-archive-tag tags)) (footnote-section-p (and org-footnote-section (string= org-footnote-section raw-value))) (standard-props (let ((end (save-excursion ... ...)) plist) (save-excursion (while (and ... ...) (let ... ...)) plist))) (time-props (save-excursion (forward-line) (if (looking-at org-planning-or-clock-line-re) (progn (let ... ... plist))))) (begin (point)) (end (min (save-excursion (org-end-of-subtree t t)) limit)) (pos-after-head (progn (forward-line) (point))) (contents-begin (save-excursion (skip-chars-forward " \r \n" end) (and (/= (point) end) (line-beginning-position)))) (contents-end (and contents-begin (progn (goto-char end) (skip-chars-backward " \r \n") (forward-line) (point))))) (if commentedp (progn (let ((case-fold-search nil)) (setq raw-value (replace-regexp-in-string (concat ... "\\(?: \\|$\\)") "" raw-value))))) (if archivedp (progn (setq tags (delete org-archive-tag tags)))) (let ((headline (list (quote headline) (nconc (list :raw-value raw-value :begin begin :end end :pre-blank ... :contents-begin contents-begin :contents-end contents-end :level level :priority ... :tags tags :todo-keyword todo :todo-type todo-type :post-blank ... :footnote-section-p footnote-section-p :archivedp archivedp :commentedp commentedp) time-props standard-props)))) (let ((alt-title (org-element-property :ALT_TITLE headline))) (if alt-title (progn (org-element-put-property headline :alt-title (if raw-secondary-p alt-title ...))))) (org-element-put-property headline :title (if raw-secondary-p raw-value (org-element-parse-secondary-string raw-value (org-element-restriction (quote headline)) headline))))))
org-element-headline-parser(257706 t)
(cond ((eq special (quote item)) (org-element-item-parser limit structure raw-secondary-p)) ((eq special (quote table-row)) (org-element-table-row-parser limit)) ((eq special (quote node-property)) (org-element-node-property-parser limit)) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (org-element-headline-parser limit raw-secondary-p)) ((eq special (quote section)) (org-element-section-parser limit)) ((eq special (quote first-section)) (org-element-section-parser (or (save-excursion (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (outline-next-heading))) limit))) ((not (bolp)) (org-element-paragraph-parser limit (list (point)))) ((looking-at org-planning-or-clock-line-re) (if (equal (match-string 1) org-clock-string) (org-element-clock-parser limit) (org-element-planning-parser limit))) ((org-at-heading-p) (org-element-inlinetask-parser limit raw-secondary-p)) (t (let ((affiliated (org-element--collect-affiliated-keywords limit))) (cond ((and (cdr affiliated) (>= (point) limit)) (goto-char (car affiliated)) (org-element-keyword-parser limit nil)) ((looking-at "[ ]*\\\\begin{[A-Za-z0-9*]+}\\(\\[.*?\\]\\|{.*?}\\)*[ ]*$") (org-element-latex-environment-parser limit affiliated)) ((looking-at org-drawer-regexp) (if (equal (match-string 1) "PROPERTIES") (org-element-property-drawer-parser limit affiliated) (org-element-drawer-parser limit affiliated))) ((looking-at "[ ]*:\\( \\|$\\)") (org-element-fixed-width-parser limit affiliated)) ((looking-at "[ ]*#") (goto-char (match-end 0)) (cond ((looking-at "\\(?: \\|$\\)") (beginning-of-line) (org-element-comment-parser limit affiliated)) ((looking-at "\\+BEGIN_\\(\\S-+\\)") (beginning-of-line) (let ... ...)) ((looking-at "\\+CALL:") (beginning-of-line) (org-element-babel-call-parser limit affiliated)) ((looking-at "\\+BEGIN:? ") (beginning-of-line) (org-element-dynamic-block-parser limit affiliated)) ((looking-at "\\+\\S-+:") (beginning-of-line) (org-element-keyword-parser limit affiliated)) (t (beginning-of-line) (org-element-paragraph-parser limit affiliated)))) ((looking-at org-footnote-definition-re) (org-element-footnote-definition-parser limit affiliated)) ((looking-at "[ ]*-\\{5,\\}[ ]*$") (org-element-horizontal-rule-parser limit affiliated)) ((looking-at "%%(") (org-element-diary-sexp-parser limit affiliated)) ((org-at-table-p t) (org-element-table-parser limit affiliated)) ((looking-at (org-item-re)) (org-element-plain-list-parser limit affiliated (or structure (org-element--list-struct limit)))) (t (org-element-paragraph-parser limit affiliated))))))
(let ((case-fold-search t) (raw-secondary-p (and granularity (not (eq granularity (quote object)))))) (cond ((eq special (quote item)) (org-element-item-parser limit structure raw-secondary-p)) ((eq special (quote table-row)) (org-element-table-row-parser limit)) ((eq special (quote node-property)) (org-element-node-property-parser limit)) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (org-element-headline-parser limit raw-secondary-p)) ((eq special (quote section)) (org-element-section-parser limit)) ((eq special (quote first-section)) (org-element-section-parser (or (save-excursion (let* (... ... ... ...) (outline-next-heading))) limit))) ((not (bolp)) (org-element-paragraph-parser limit (list (point)))) ((looking-at org-planning-or-clock-line-re) (if (equal (match-string 1) org-clock-string) (org-element-clock-parser limit) (org-element-planning-parser limit))) ((org-at-heading-p) (org-element-inlinetask-parser limit raw-secondary-p)) (t (let ((affiliated (org-element--collect-affiliated-keywords limit))) (cond ((and (cdr affiliated) (>= ... limit)) (goto-char (car affiliated)) (org-element-keyword-parser limit nil)) ((looking-at "[ ]*\\\\begin{[A-Za-z0-9*]+}\\(\\[.*?\\]\\|{.*?}\\)*[ ]*$") (org-element-latex-environment-parser limit affiliated)) ((looking-at org-drawer-regexp) (if (equal ... "PROPERTIES") (org-element-property-drawer-parser limit affiliated) (org-element-drawer-parser limit affiliated))) ((looking-at "[ ]*:\\( \\|$\\)") (org-element-fixed-width-parser limit affiliated)) ((looking-at "[ ]*#") (goto-char (match-end 0)) (cond (... ... ...) (... ... ...) (... ... ...) (... ... ...) (... ... ...) (t ... ...))) ((looking-at org-footnote-definition-re) (org-element-footnote-definition-parser limit affiliated)) ((looking-at "[ ]*-\\{5,\\}[ ]*$") (org-element-horizontal-rule-parser limit affiliated)) ((looking-at "%%(") (org-element-diary-sexp-parser limit affiliated)) ((org-at-table-p t) (org-element-table-parser limit affiliated)) ((looking-at (org-item-re)) (org-element-plain-list-parser limit affiliated (or structure ...))) (t (org-element-paragraph-parser limit affiliated)))))))
(save-excursion (let ((case-fold-search t) (raw-secondary-p (and granularity (not (eq granularity (quote object)))))) (cond ((eq special (quote item)) (org-element-item-parser limit structure raw-secondary-p)) ((eq special (quote table-row)) (org-element-table-row-parser limit)) ((eq special (quote node-property)) (org-element-node-property-parser limit)) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (org-element-headline-parser limit raw-secondary-p)) ((eq special (quote section)) (org-element-section-parser limit)) ((eq special (quote first-section)) (org-element-section-parser (or (save-excursion (let* ... ...)) limit))) ((not (bolp)) (org-element-paragraph-parser limit (list (point)))) ((looking-at org-planning-or-clock-line-re) (if (equal (match-string 1) org-clock-string) (org-element-clock-parser limit) (org-element-planning-parser limit))) ((org-at-heading-p) (org-element-inlinetask-parser limit raw-secondary-p)) (t (let ((affiliated (org-element--collect-affiliated-keywords limit))) (cond ((and ... ...) (goto-char ...) (org-element-keyword-parser limit nil)) ((looking-at "[ ]*\\\\begin{[A-Za-z0-9*]+}\\(\\[.*?\\]\\|{.*?}\\)*[ ]*$") (org-element-latex-environment-parser limit affiliated)) ((looking-at org-drawer-regexp) (if ... ... ...)) ((looking-at "[ ]*:\\( \\|$\\)") (org-element-fixed-width-parser limit affiliated)) ((looking-at "[ ]*#") (goto-char ...) (cond ... ... ... ... ... ...)) ((looking-at org-footnote-definition-re) (org-element-footnote-definition-parser limit affiliated)) ((looking-at "[ ]*-\\{5,\\}[ ]*$") (org-element-horizontal-rule-parser limit affiliated)) ((looking-at "%%(") (org-element-diary-sexp-parser limit affiliated)) ((org-at-table-p t) (org-element-table-parser limit affiliated)) ((looking-at ...) (org-element-plain-list-parser limit affiliated ...)) (t (org-element-paragraph-parser limit affiliated))))))))
org-element--current-element(257706 element nil nil)
(setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent)))
(if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element))
(while t (if syncp (progn (cond ((= (point) pos) (throw (quote exit) parent)) ((org-element--cache-interrupt-p time-limit) (throw (quote interrupt) nil))))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and (<= elem-end pos) (/= (point-max) elem-end)) (goto-char elem-end)) ((not (memq type org-element-greater-elements)) (throw (quote exit) element)) ((let ((cbeg (org-element-property :contents-begin element)) (cend (org-element-property :contents-end element))) (if (or syncp (and cbeg cend ... ...)) (progn (goto-char ...) (setq next nil special-flag ... parent element end cend))))) (t (throw (quote exit) element)))) (setq element nil))
(let ((end (or (org-element-property :end element) (save-excursion (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (outline-next-heading)) (point)))) (parent element) special-flag) (while t (if syncp (progn (cond ((= (point) pos) (throw (quote exit) parent)) ((org-element--cache-interrupt-p time-limit) (throw (quote interrupt) nil))))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and (<= elem-end pos) (/= (point-max) elem-end)) (goto-char elem-end)) ((not (memq type org-element-greater-elements)) (throw (quote exit) element)) ((let ((cbeg ...) (cend ...)) (if (or syncp ...) (progn ... ...)))) (t (throw (quote exit) element)))) (setq element nil)))
(let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (outline-previous-heading)) (progn (forward-line))) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp (org-element-property :parent cached) cached))) ((re-search-backward (let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let ((up cached) (pos (if (= ... pos) (1- pos) pos))) (goto-char (or (org-element-property :contents-begin cached) begin)) (while (let ((end ...)) (and (<= end pos) (goto-char end) (setq up ...)))) (cond ((not up)) ((eobp) (setq element up)) (t (setq element up next (point))))))) (let ((end (or (org-element-property :end element) (save-excursion (let* (... ... ... ...) (outline-next-heading)) (point)))) (parent element) special-flag) (while t (if syncp (progn (cond ((= ... pos) (throw ... parent)) ((org-element--cache-interrupt-p time-limit) (throw ... nil))))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and (<= elem-end pos) (/= ... elem-end)) (goto-char elem-end)) ((not (memq type org-element-greater-elements)) (throw (quote exit) element)) ((let (... ...) (if ... ...))) (t (throw (quote exit) element)))) (setq element nil))))
(save-restriction (widen) (goto-char pos) (let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (outline-previous-heading)) (progn (forward-line))) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp (org-element-property :parent cached) cached))) ((re-search-backward (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let ((up cached) (pos (if ... ... pos))) (goto-char (or (org-element-property :contents-begin cached) begin)) (while (let (...) (and ... ... ...))) (cond ((not up)) ((eobp) (setq element up)) (t (setq element up next ...)))))) (let ((end (or (org-element-property :end element) (save-excursion (let* ... ...) (point)))) (parent element) special-flag) (while t (if syncp (progn (cond (... ...) (... ...)))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and ... ...) (goto-char elem-end)) ((not ...) (throw ... element)) ((let ... ...)) (t (throw ... element)))) (setq element nil)))))
(save-excursion (save-restriction (widen) (goto-char pos) (let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* (... ... ... ...) (outline-previous-heading)) (progn (forward-line))) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp (org-element-property :parent cached) cached))) ((re-search-backward (let* (... ... ... ...) org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let ((up cached) (pos ...)) (goto-char (or ... begin)) (while (let ... ...)) (cond (...) (... ...) (t ...))))) (let ((end (or (org-element-property :end element) (save-excursion ... ...))) (parent element) special-flag) (while t (if syncp (progn (cond ... ...))) (if element nil (setq element (org-element--current-element end ... special-flag ...)) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end ...) (type ...)) (cond (... ...) (... ...) (...) (t ...))) (setq element nil))))))
(catch (quote exit) (save-excursion (save-restriction (widen) (goto-char pos) (let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* ... ...) (progn ...)) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp ... cached))) ((re-search-backward (let* ... org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let (... ...) (goto-char ...) (while ...) (cond ... ... ...)))) (let ((end (or ... ...)) (parent element) special-flag) (while t (if syncp (progn ...)) (if element nil (setq element ...) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let (... ...) (cond ... ... ... ...)) (setq element nil)))))))
org-element--parse-to(257280)
(cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync (current-buffer) origin)))) (org-element--parse-to origin)))
(let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync (current-buffer) origin)))) (org-element--parse-to origin))))
(save-restriction (widen) (let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync ... origin)))) (org-element--parse-to origin)))))
(save-excursion (save-restriction (widen) (let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if ... ... ...))) (org-element--parse-to origin))))))
org-element-at-point()
(let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let ((p drawer)) (while (and (setq p (org-element-property :parent p)) (not (eq ... ...)))) (not p))) (progn (let ((end (org-element-property :contents-end drawer))) (if end (progn (forward-line) (while (< ... end) (if ... ...) (forward-line))))))))
(while (and (null plist) (re-search-forward org-property-start-re end t)) (let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let ((p drawer)) (while (and (setq p ...) (not ...))) (not p))) (progn (let ((end (org-element-property :contents-end drawer))) (if end (progn (forward-line) (while ... ... ...))))))))
(save-excursion (while (and (null plist) (re-search-forward org-property-start-re end t)) (let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let ((p drawer)) (while (and ... ...)) (not p))) (progn (let ((end ...)) (if end (progn ... ...))))))) plist)
(let ((end (save-excursion (let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (outline-next-heading)) (point))) plist) (save-excursion (while (and (null plist) (re-search-forward org-property-start-re end t)) (let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let (...) (while ...) (not p))) (progn (let (...) (if end ...)))))) plist))
(let* ((components (org-heading-components)) (level (nth 1 components)) (todo (nth 2 components)) (todo-type (and todo (if (member todo org-done-keywords) (quote done) (quote todo)))) (tags (let ((raw-tags (nth 5 components))) (and raw-tags (org-split-string raw-tags ":")))) (raw-value (or (nth 4 components) "")) (commentedp (let ((case-fold-search nil)) (string-match (format "^%s\\( \\|$\\)" org-comment-string) raw-value))) (archivedp (member org-archive-tag tags)) (footnote-section-p (and org-footnote-section (string= org-footnote-section raw-value))) (standard-props (let ((end (save-excursion (let* ... ...) (point))) plist) (save-excursion (while (and (null plist) (re-search-forward org-property-start-re end t)) (let (...) (if ... ...))) plist))) (time-props (save-excursion (forward-line) (if (looking-at org-planning-or-clock-line-re) (progn (let (... plist) (while ... ... ... ...) plist))))) (begin (point)) (end (min (save-excursion (org-end-of-subtree t t)) limit)) (pos-after-head (progn (forward-line) (point))) (contents-begin (save-excursion (skip-chars-forward " \r \n" end) (and (/= (point) end) (line-beginning-position)))) (contents-end (and contents-begin (progn (goto-char end) (skip-chars-backward " \r \n") (forward-line) (point))))) (if commentedp (progn (let ((case-fold-search nil)) (setq raw-value (replace-regexp-in-string (concat (regexp-quote org-comment-string) "\\(?: \\|$\\)") "" raw-value))))) (if archivedp (progn (setq tags (delete org-archive-tag tags)))) (let ((headline (list (quote headline) (nconc (list :raw-value raw-value :begin begin :end end :pre-blank (if ... 0 ...) :contents-begin contents-begin :contents-end contents-end :level level :priority (nth 3 components) :tags tags :todo-keyword todo :todo-type todo-type :post-blank (count-lines ... end) :footnote-section-p footnote-section-p :archivedp archivedp :commentedp commentedp) time-props standard-props)))) (let ((alt-title (org-element-property :ALT_TITLE headline))) (if alt-title (progn (org-element-put-property headline :alt-title (if raw-secondary-p alt-title (org-element-parse-secondary-string alt-title ... headline)))))) (org-element-put-property headline :title (if raw-secondary-p raw-value (org-element-parse-secondary-string raw-value (org-element-restriction (quote headline)) headline)))))
(save-excursion (let* ((components (org-heading-components)) (level (nth 1 components)) (todo (nth 2 components)) (todo-type (and todo (if (member todo org-done-keywords) (quote done) (quote todo)))) (tags (let ((raw-tags (nth 5 components))) (and raw-tags (org-split-string raw-tags ":")))) (raw-value (or (nth 4 components) "")) (commentedp (let ((case-fold-search nil)) (string-match (format "^%s\\( \\|$\\)" org-comment-string) raw-value))) (archivedp (member org-archive-tag tags)) (footnote-section-p (and org-footnote-section (string= org-footnote-section raw-value))) (standard-props (let ((end (save-excursion ... ...)) plist) (save-excursion (while (and ... ...) (let ... ...)) plist))) (time-props (save-excursion (forward-line) (if (looking-at org-planning-or-clock-line-re) (progn (let ... ... plist))))) (begin (point)) (end (min (save-excursion (org-end-of-subtree t t)) limit)) (pos-after-head (progn (forward-line) (point))) (contents-begin (save-excursion (skip-chars-forward " \r \n" end) (and (/= (point) end) (line-beginning-position)))) (contents-end (and contents-begin (progn (goto-char end) (skip-chars-backward " \r \n") (forward-line) (point))))) (if commentedp (progn (let ((case-fold-search nil)) (setq raw-value (replace-regexp-in-string (concat ... "\\(?: \\|$\\)") "" raw-value))))) (if archivedp (progn (setq tags (delete org-archive-tag tags)))) (let ((headline (list (quote headline) (nconc (list :raw-value raw-value :begin begin :end end :pre-blank ... :contents-begin contents-begin :contents-end contents-end :level level :priority ... :tags tags :todo-keyword todo :todo-type todo-type :post-blank ... :footnote-section-p footnote-section-p :archivedp archivedp :commentedp commentedp) time-props standard-props)))) (let ((alt-title (org-element-property :ALT_TITLE headline))) (if alt-title (progn (org-element-put-property headline :alt-title (if raw-secondary-p alt-title ...))))) (org-element-put-property headline :title (if raw-secondary-p raw-value (org-element-parse-secondary-string raw-value (org-element-restriction (quote headline)) headline))))))
org-element-headline-parser(257706 t)
(cond ((eq special (quote item)) (org-element-item-parser limit structure raw-secondary-p)) ((eq special (quote table-row)) (org-element-table-row-parser limit)) ((eq special (quote node-property)) (org-element-node-property-parser limit)) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (org-element-headline-parser limit raw-secondary-p)) ((eq special (quote section)) (org-element-section-parser limit)) ((eq special (quote first-section)) (org-element-section-parser (or (save-excursion (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (outline-next-heading))) limit))) ((not (bolp)) (org-element-paragraph-parser limit (list (point)))) ((looking-at org-planning-or-clock-line-re) (if (equal (match-string 1) org-clock-string) (org-element-clock-parser limit) (org-element-planning-parser limit))) ((org-at-heading-p) (org-element-inlinetask-parser limit raw-secondary-p)) (t (let ((affiliated (org-element--collect-affiliated-keywords limit))) (cond ((and (cdr affiliated) (>= (point) limit)) (goto-char (car affiliated)) (org-element-keyword-parser limit nil)) ((looking-at "[ ]*\\\\begin{[A-Za-z0-9*]+}\\(\\[.*?\\]\\|{.*?}\\)*[ ]*$") (org-element-latex-environment-parser limit affiliated)) ((looking-at org-drawer-regexp) (if (equal (match-string 1) "PROPERTIES") (org-element-property-drawer-parser limit affiliated) (org-element-drawer-parser limit affiliated))) ((looking-at "[ ]*:\\( \\|$\\)") (org-element-fixed-width-parser limit affiliated)) ((looking-at "[ ]*#") (goto-char (match-end 0)) (cond ((looking-at "\\(?: \\|$\\)") (beginning-of-line) (org-element-comment-parser limit affiliated)) ((looking-at "\\+BEGIN_\\(\\S-+\\)") (beginning-of-line) (let ... ...)) ((looking-at "\\+CALL:") (beginning-of-line) (org-element-babel-call-parser limit affiliated)) ((looking-at "\\+BEGIN:? ") (beginning-of-line) (org-element-dynamic-block-parser limit affiliated)) ((looking-at "\\+\\S-+:") (beginning-of-line) (org-element-keyword-parser limit affiliated)) (t (beginning-of-line) (org-element-paragraph-parser limit affiliated)))) ((looking-at org-footnote-definition-re) (org-element-footnote-definition-parser limit affiliated)) ((looking-at "[ ]*-\\{5,\\}[ ]*$") (org-element-horizontal-rule-parser limit affiliated)) ((looking-at "%%(") (org-element-diary-sexp-parser limit affiliated)) ((org-at-table-p t) (org-element-table-parser limit affiliated)) ((looking-at (org-item-re)) (org-element-plain-list-parser limit affiliated (or structure (org-element--list-struct limit)))) (t (org-element-paragraph-parser limit affiliated))))))
(let ((case-fold-search t) (raw-secondary-p (and granularity (not (eq granularity (quote object)))))) (cond ((eq special (quote item)) (org-element-item-parser limit structure raw-secondary-p)) ((eq special (quote table-row)) (org-element-table-row-parser limit)) ((eq special (quote node-property)) (org-element-node-property-parser limit)) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (org-element-headline-parser limit raw-secondary-p)) ((eq special (quote section)) (org-element-section-parser limit)) ((eq special (quote first-section)) (org-element-section-parser (or (save-excursion (let* (... ... ... ...) (outline-next-heading))) limit))) ((not (bolp)) (org-element-paragraph-parser limit (list (point)))) ((looking-at org-planning-or-clock-line-re) (if (equal (match-string 1) org-clock-string) (org-element-clock-parser limit) (org-element-planning-parser limit))) ((org-at-heading-p) (org-element-inlinetask-parser limit raw-secondary-p)) (t (let ((affiliated (org-element--collect-affiliated-keywords limit))) (cond ((and (cdr affiliated) (>= ... limit)) (goto-char (car affiliated)) (org-element-keyword-parser limit nil)) ((looking-at "[ ]*\\\\begin{[A-Za-z0-9*]+}\\(\\[.*?\\]\\|{.*?}\\)*[ ]*$") (org-element-latex-environment-parser limit affiliated)) ((looking-at org-drawer-regexp) (if (equal ... "PROPERTIES") (org-element-property-drawer-parser limit affiliated) (org-element-drawer-parser limit affiliated))) ((looking-at "[ ]*:\\( \\|$\\)") (org-element-fixed-width-parser limit affiliated)) ((looking-at "[ ]*#") (goto-char (match-end 0)) (cond (... ... ...) (... ... ...) (... ... ...) (... ... ...) (... ... ...) (t ... ...))) ((looking-at org-footnote-definition-re) (org-element-footnote-definition-parser limit affiliated)) ((looking-at "[ ]*-\\{5,\\}[ ]*$") (org-element-horizontal-rule-parser limit affiliated)) ((looking-at "%%(") (org-element-diary-sexp-parser limit affiliated)) ((org-at-table-p t) (org-element-table-parser limit affiliated)) ((looking-at (org-item-re)) (org-element-plain-list-parser limit affiliated (or structure ...))) (t (org-element-paragraph-parser limit affiliated)))))))
(save-excursion (let ((case-fold-search t) (raw-secondary-p (and granularity (not (eq granularity (quote object)))))) (cond ((eq special (quote item)) (org-element-item-parser limit structure raw-secondary-p)) ((eq special (quote table-row)) (org-element-table-row-parser limit)) ((eq special (quote node-property)) (org-element-node-property-parser limit)) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (org-element-headline-parser limit raw-secondary-p)) ((eq special (quote section)) (org-element-section-parser limit)) ((eq special (quote first-section)) (org-element-section-parser (or (save-excursion (let* ... ...)) limit))) ((not (bolp)) (org-element-paragraph-parser limit (list (point)))) ((looking-at org-planning-or-clock-line-re) (if (equal (match-string 1) org-clock-string) (org-element-clock-parser limit) (org-element-planning-parser limit))) ((org-at-heading-p) (org-element-inlinetask-parser limit raw-secondary-p)) (t (let ((affiliated (org-element--collect-affiliated-keywords limit))) (cond ((and ... ...) (goto-char ...) (org-element-keyword-parser limit nil)) ((looking-at "[ ]*\\\\begin{[A-Za-z0-9*]+}\\(\\[.*?\\]\\|{.*?}\\)*[ ]*$") (org-element-latex-environment-parser limit affiliated)) ((looking-at org-drawer-regexp) (if ... ... ...)) ((looking-at "[ ]*:\\( \\|$\\)") (org-element-fixed-width-parser limit affiliated)) ((looking-at "[ ]*#") (goto-char ...) (cond ... ... ... ... ... ...)) ((looking-at org-footnote-definition-re) (org-element-footnote-definition-parser limit affiliated)) ((looking-at "[ ]*-\\{5,\\}[ ]*$") (org-element-horizontal-rule-parser limit affiliated)) ((looking-at "%%(") (org-element-diary-sexp-parser limit affiliated)) ((org-at-table-p t) (org-element-table-parser limit affiliated)) ((looking-at ...) (org-element-plain-list-parser limit affiliated ...)) (t (org-element-paragraph-parser limit affiliated))))))))
org-element--current-element(257706 element nil nil)
(setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent)))
(if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element))
(while t (if syncp (progn (cond ((= (point) pos) (throw (quote exit) parent)) ((org-element--cache-interrupt-p time-limit) (throw (quote interrupt) nil))))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and (<= elem-end pos) (/= (point-max) elem-end)) (goto-char elem-end)) ((not (memq type org-element-greater-elements)) (throw (quote exit) element)) ((let ((cbeg (org-element-property :contents-begin element)) (cend (org-element-property :contents-end element))) (if (or syncp (and cbeg cend ... ...)) (progn (goto-char ...) (setq next nil special-flag ... parent element end cend))))) (t (throw (quote exit) element)))) (setq element nil))
(let ((end (or (org-element-property :end element) (save-excursion (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (outline-next-heading)) (point)))) (parent element) special-flag) (while t (if syncp (progn (cond ((= (point) pos) (throw (quote exit) parent)) ((org-element--cache-interrupt-p time-limit) (throw (quote interrupt) nil))))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and (<= elem-end pos) (/= (point-max) elem-end)) (goto-char elem-end)) ((not (memq type org-element-greater-elements)) (throw (quote exit) element)) ((let ((cbeg ...) (cend ...)) (if (or syncp ...) (progn ... ...)))) (t (throw (quote exit) element)))) (setq element nil)))
(let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (outline-previous-heading)) (progn (forward-line))) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp (org-element-property :parent cached) cached))) ((re-search-backward (let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let ((up cached) (pos (if (= ... pos) (1- pos) pos))) (goto-char (or (org-element-property :contents-begin cached) begin)) (while (let ((end ...)) (and (<= end pos) (goto-char end) (setq up ...)))) (cond ((not up)) ((eobp) (setq element up)) (t (setq element up next (point))))))) (let ((end (or (org-element-property :end element) (save-excursion (let* (... ... ... ...) (outline-next-heading)) (point)))) (parent element) special-flag) (while t (if syncp (progn (cond ((= ... pos) (throw ... parent)) ((org-element--cache-interrupt-p time-limit) (throw ... nil))))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and (<= elem-end pos) (/= ... elem-end)) (goto-char elem-end)) ((not (memq type org-element-greater-elements)) (throw (quote exit) element)) ((let (... ...) (if ... ...))) (t (throw (quote exit) element)))) (setq element nil))))
(save-restriction (widen) (goto-char pos) (let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (outline-previous-heading)) (progn (forward-line))) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp (org-element-property :parent cached) cached))) ((re-search-backward (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let ((up cached) (pos (if ... ... pos))) (goto-char (or (org-element-property :contents-begin cached) begin)) (while (let (...) (and ... ... ...))) (cond ((not up)) ((eobp) (setq element up)) (t (setq element up next ...)))))) (let ((end (or (org-element-property :end element) (save-excursion (let* ... ...) (point)))) (parent element) special-flag) (while t (if syncp (progn (cond (... ...) (... ...)))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and ... ...) (goto-char elem-end)) ((not ...) (throw ... element)) ((let ... ...)) (t (throw ... element)))) (setq element nil)))))
(save-excursion (save-restriction (widen) (goto-char pos) (let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* (... ... ... ...) (outline-previous-heading)) (progn (forward-line))) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp (org-element-property :parent cached) cached))) ((re-search-backward (let* (... ... ... ...) org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let ((up cached) (pos ...)) (goto-char (or ... begin)) (while (let ... ...)) (cond (...) (... ...) (t ...))))) (let ((end (or (org-element-property :end element) (save-excursion ... ...))) (parent element) special-flag) (while t (if syncp (progn (cond ... ...))) (if element nil (setq element (org-element--current-element end ... special-flag ...)) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end ...) (type ...)) (cond (... ...) (... ...) (...) (t ...))) (setq element nil))))))
(catch (quote exit) (save-excursion (save-restriction (widen) (goto-char pos) (let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* ... ...) (progn ...)) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp ... cached))) ((re-search-backward (let* ... org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let (... ...) (goto-char ...) (while ...) (cond ... ... ...)))) (let ((end (or ... ...)) (parent element) special-flag) (while t (if syncp (progn ...)) (if element nil (setq element ...) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let (... ...) (cond ... ... ... ...)) (setq element nil)))))))
org-element--parse-to(257280)
(cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync (current-buffer) origin)))) (org-element--parse-to origin)))
(let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync (current-buffer) origin)))) (org-element--parse-to origin))))
(save-restriction (widen) (let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync ... origin)))) (org-element--parse-to origin)))))
(save-excursion (save-restriction (widen) (let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if ... ... ...))) (org-element--parse-to origin))))))
org-element-at-point()
(let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let ((p drawer)) (while (and (setq p (org-element-property :parent p)) (not (eq ... ...)))) (not p))) (progn (let ((end (org-element-property :contents-end drawer))) (if end (progn (forward-line) (while (< ... end) (if ... ...) (forward-line))))))))
(while (and (null plist) (re-search-forward org-property-start-re end t)) (let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let ((p drawer)) (while (and (setq p ...) (not ...))) (not p))) (progn (let ((end (org-element-property :contents-end drawer))) (if end (progn (forward-line) (while ... ... ...))))))))
(save-excursion (while (and (null plist) (re-search-forward org-property-start-re end t)) (let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let ((p drawer)) (while (and ... ...)) (not p))) (progn (let ((end ...)) (if end (progn ... ...))))))) plist)
(let ((end (save-excursion (let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (outline-next-heading)) (point))) plist) (save-excursion (while (and (null plist) (re-search-forward org-property-start-re end t)) (let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let (...) (while ...) (not p))) (progn (let (...) (if end ...)))))) plist))
(let* ((components (org-heading-components)) (level (nth 1 components)) (todo (nth 2 components)) (todo-type (and todo (if (member todo org-done-keywords) (quote done) (quote todo)))) (tags (let ((raw-tags (nth 5 components))) (and raw-tags (org-split-string raw-tags ":")))) (raw-value (or (nth 4 components) "")) (commentedp (let ((case-fold-search nil)) (string-match (format "^%s\\( \\|$\\)" org-comment-string) raw-value))) (archivedp (member org-archive-tag tags)) (footnote-section-p (and org-footnote-section (string= org-footnote-section raw-value))) (standard-props (let ((end (save-excursion (let* ... ...) (point))) plist) (save-excursion (while (and (null plist) (re-search-forward org-property-start-re end t)) (let (...) (if ... ...))) plist))) (time-props (save-excursion (forward-line) (if (looking-at org-planning-or-clock-line-re) (progn (let (... plist) (while ... ... ... ...) plist))))) (begin (point)) (end (min (save-excursion (org-end-of-subtree t t)) limit)) (pos-after-head (progn (forward-line) (point))) (contents-begin (save-excursion (skip-chars-forward " \r \n" end) (and (/= (point) end) (line-beginning-position)))) (contents-end (and contents-begin (progn (goto-char end) (skip-chars-backward " \r \n") (forward-line) (point))))) (if commentedp (progn (let ((case-fold-search nil)) (setq raw-value (replace-regexp-in-string (concat (regexp-quote org-comment-string) "\\(?: \\|$\\)") "" raw-value))))) (if archivedp (progn (setq tags (delete org-archive-tag tags)))) (let ((headline (list (quote headline) (nconc (list :raw-value raw-value :begin begin :end end :pre-blank (if ... 0 ...) :contents-begin contents-begin :contents-end contents-end :level level :priority (nth 3 components) :tags tags :todo-keyword todo :todo-type todo-type :post-blank (count-lines ... end) :footnote-section-p footnote-section-p :archivedp archivedp :commentedp commentedp) time-props standard-props)))) (let ((alt-title (org-element-property :ALT_TITLE headline))) (if alt-title (progn (org-element-put-property headline :alt-title (if raw-secondary-p alt-title (org-element-parse-secondary-string alt-title ... headline)))))) (org-element-put-property headline :title (if raw-secondary-p raw-value (org-element-parse-secondary-string raw-value (org-element-restriction (quote headline)) headline)))))
(save-excursion (let* ((components (org-heading-components)) (level (nth 1 components)) (todo (nth 2 components)) (todo-type (and todo (if (member todo org-done-keywords) (quote done) (quote todo)))) (tags (let ((raw-tags (nth 5 components))) (and raw-tags (org-split-string raw-tags ":")))) (raw-value (or (nth 4 components) "")) (commentedp (let ((case-fold-search nil)) (string-match (format "^%s\\( \\|$\\)" org-comment-string) raw-value))) (archivedp (member org-archive-tag tags)) (footnote-section-p (and org-footnote-section (string= org-footnote-section raw-value))) (standard-props (let ((end (save-excursion ... ...)) plist) (save-excursion (while (and ... ...) (let ... ...)) plist))) (time-props (save-excursion (forward-line) (if (looking-at org-planning-or-clock-line-re) (progn (let ... ... plist))))) (begin (point)) (end (min (save-excursion (org-end-of-subtree t t)) limit)) (pos-after-head (progn (forward-line) (point))) (contents-begin (save-excursion (skip-chars-forward " \r \n" end) (and (/= (point) end) (line-beginning-position)))) (contents-end (and contents-begin (progn (goto-char end) (skip-chars-backward " \r \n") (forward-line) (point))))) (if commentedp (progn (let ((case-fold-search nil)) (setq raw-value (replace-regexp-in-string (concat ... "\\(?: \\|$\\)") "" raw-value))))) (if archivedp (progn (setq tags (delete org-archive-tag tags)))) (let ((headline (list (quote headline) (nconc (list :raw-value raw-value :begin begin :end end :pre-blank ... :contents-begin contents-begin :contents-end contents-end :level level :priority ... :tags tags :todo-keyword todo :todo-type todo-type :post-blank ... :footnote-section-p footnote-section-p :archivedp archivedp :commentedp commentedp) time-props standard-props)))) (let ((alt-title (org-element-property :ALT_TITLE headline))) (if alt-title (progn (org-element-put-property headline :alt-title (if raw-secondary-p alt-title ...))))) (org-element-put-property headline :title (if raw-secondary-p raw-value (org-element-parse-secondary-string raw-value (org-element-restriction (quote headline)) headline))))))
org-element-headline-parser(257706 t)
(cond ((eq special (quote item)) (org-element-item-parser limit structure raw-secondary-p)) ((eq special (quote table-row)) (org-element-table-row-parser limit)) ((eq special (quote node-property)) (org-element-node-property-parser limit)) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (org-element-headline-parser limit raw-secondary-p)) ((eq special (quote section)) (org-element-section-parser limit)) ((eq special (quote first-section)) (org-element-section-parser (or (save-excursion (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (outline-next-heading))) limit))) ((not (bolp)) (org-element-paragraph-parser limit (list (point)))) ((looking-at org-planning-or-clock-line-re) (if (equal (match-string 1) org-clock-string) (org-element-clock-parser limit) (org-element-planning-parser limit))) ((org-at-heading-p) (org-element-inlinetask-parser limit raw-secondary-p)) (t (let ((affiliated (org-element--collect-affiliated-keywords limit))) (cond ((and (cdr affiliated) (>= (point) limit)) (goto-char (car affiliated)) (org-element-keyword-parser limit nil)) ((looking-at "[ ]*\\\\begin{[A-Za-z0-9*]+}\\(\\[.*?\\]\\|{.*?}\\)*[ ]*$") (org-element-latex-environment-parser limit affiliated)) ((looking-at org-drawer-regexp) (if (equal (match-string 1) "PROPERTIES") (org-element-property-drawer-parser limit affiliated) (org-element-drawer-parser limit affiliated))) ((looking-at "[ ]*:\\( \\|$\\)") (org-element-fixed-width-parser limit affiliated)) ((looking-at "[ ]*#") (goto-char (match-end 0)) (cond ((looking-at "\\(?: \\|$\\)") (beginning-of-line) (org-element-comment-parser limit affiliated)) ((looking-at "\\+BEGIN_\\(\\S-+\\)") (beginning-of-line) (let ... ...)) ((looking-at "\\+CALL:") (beginning-of-line) (org-element-babel-call-parser limit affiliated)) ((looking-at "\\+BEGIN:? ") (beginning-of-line) (org-element-dynamic-block-parser limit affiliated)) ((looking-at "\\+\\S-+:") (beginning-of-line) (org-element-keyword-parser limit affiliated)) (t (beginning-of-line) (org-element-paragraph-parser limit affiliated)))) ((looking-at org-footnote-definition-re) (org-element-footnote-definition-parser limit affiliated)) ((looking-at "[ ]*-\\{5,\\}[ ]*$") (org-element-horizontal-rule-parser limit affiliated)) ((looking-at "%%(") (org-element-diary-sexp-parser limit affiliated)) ((org-at-table-p t) (org-element-table-parser limit affiliated)) ((looking-at (org-item-re)) (org-element-plain-list-parser limit affiliated (or structure (org-element--list-struct limit)))) (t (org-element-paragraph-parser limit affiliated))))))
(let ((case-fold-search t) (raw-secondary-p (and granularity (not (eq granularity (quote object)))))) (cond ((eq special (quote item)) (org-element-item-parser limit structure raw-secondary-p)) ((eq special (quote table-row)) (org-element-table-row-parser limit)) ((eq special (quote node-property)) (org-element-node-property-parser limit)) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (org-element-headline-parser limit raw-secondary-p)) ((eq special (quote section)) (org-element-section-parser limit)) ((eq special (quote first-section)) (org-element-section-parser (or (save-excursion (let* (... ... ... ...) (outline-next-heading))) limit))) ((not (bolp)) (org-element-paragraph-parser limit (list (point)))) ((looking-at org-planning-or-clock-line-re) (if (equal (match-string 1) org-clock-string) (org-element-clock-parser limit) (org-element-planning-parser limit))) ((org-at-heading-p) (org-element-inlinetask-parser limit raw-secondary-p)) (t (let ((affiliated (org-element--collect-affiliated-keywords limit))) (cond ((and (cdr affiliated) (>= ... limit)) (goto-char (car affiliated)) (org-element-keyword-parser limit nil)) ((looking-at "[ ]*\\\\begin{[A-Za-z0-9*]+}\\(\\[.*?\\]\\|{.*?}\\)*[ ]*$") (org-element-latex-environment-parser limit affiliated)) ((looking-at org-drawer-regexp) (if (equal ... "PROPERTIES") (org-element-property-drawer-parser limit affiliated) (org-element-drawer-parser limit affiliated))) ((looking-at "[ ]*:\\( \\|$\\)") (org-element-fixed-width-parser limit affiliated)) ((looking-at "[ ]*#") (goto-char (match-end 0)) (cond (... ... ...) (... ... ...) (... ... ...) (... ... ...) (... ... ...) (t ... ...))) ((looking-at org-footnote-definition-re) (org-element-footnote-definition-parser limit affiliated)) ((looking-at "[ ]*-\\{5,\\}[ ]*$") (org-element-horizontal-rule-parser limit affiliated)) ((looking-at "%%(") (org-element-diary-sexp-parser limit affiliated)) ((org-at-table-p t) (org-element-table-parser limit affiliated)) ((looking-at (org-item-re)) (org-element-plain-list-parser limit affiliated (or structure ...))) (t (org-element-paragraph-parser limit affiliated)))))))
(save-excursion (let ((case-fold-search t) (raw-secondary-p (and granularity (not (eq granularity (quote object)))))) (cond ((eq special (quote item)) (org-element-item-parser limit structure raw-secondary-p)) ((eq special (quote table-row)) (org-element-table-row-parser limit)) ((eq special (quote node-property)) (org-element-node-property-parser limit)) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (org-element-headline-parser limit raw-secondary-p)) ((eq special (quote section)) (org-element-section-parser limit)) ((eq special (quote first-section)) (org-element-section-parser (or (save-excursion (let* ... ...)) limit))) ((not (bolp)) (org-element-paragraph-parser limit (list (point)))) ((looking-at org-planning-or-clock-line-re) (if (equal (match-string 1) org-clock-string) (org-element-clock-parser limit) (org-element-planning-parser limit))) ((org-at-heading-p) (org-element-inlinetask-parser limit raw-secondary-p)) (t (let ((affiliated (org-element--collect-affiliated-keywords limit))) (cond ((and ... ...) (goto-char ...) (org-element-keyword-parser limit nil)) ((looking-at "[ ]*\\\\begin{[A-Za-z0-9*]+}\\(\\[.*?\\]\\|{.*?}\\)*[ ]*$") (org-element-latex-environment-parser limit affiliated)) ((looking-at org-drawer-regexp) (if ... ... ...)) ((looking-at "[ ]*:\\( \\|$\\)") (org-element-fixed-width-parser limit affiliated)) ((looking-at "[ ]*#") (goto-char ...) (cond ... ... ... ... ... ...)) ((looking-at org-footnote-definition-re) (org-element-footnote-definition-parser limit affiliated)) ((looking-at "[ ]*-\\{5,\\}[ ]*$") (org-element-horizontal-rule-parser limit affiliated)) ((looking-at "%%(") (org-element-diary-sexp-parser limit affiliated)) ((org-at-table-p t) (org-element-table-parser limit affiliated)) ((looking-at ...) (org-element-plain-list-parser limit affiliated ...)) (t (org-element-paragraph-parser limit affiliated))))))))
org-element--current-element(257706 element nil nil)
(setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent)))
(if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element))
(while t (if syncp (progn (cond ((= (point) pos) (throw (quote exit) parent)) ((org-element--cache-interrupt-p time-limit) (throw (quote interrupt) nil))))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and (<= elem-end pos) (/= (point-max) elem-end)) (goto-char elem-end)) ((not (memq type org-element-greater-elements)) (throw (quote exit) element)) ((let ((cbeg (org-element-property :contents-begin element)) (cend (org-element-property :contents-end element))) (if (or syncp (and cbeg cend ... ...)) (progn (goto-char ...) (setq next nil special-flag ... parent element end cend))))) (t (throw (quote exit) element)))) (setq element nil))
(let ((end (or (org-element-property :end element) (save-excursion (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (outline-next-heading)) (point)))) (parent element) special-flag) (while t (if syncp (progn (cond ((= (point) pos) (throw (quote exit) parent)) ((org-element--cache-interrupt-p time-limit) (throw (quote interrupt) nil))))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and (<= elem-end pos) (/= (point-max) elem-end)) (goto-char elem-end)) ((not (memq type org-element-greater-elements)) (throw (quote exit) element)) ((let ((cbeg ...) (cend ...)) (if (or syncp ...) (progn ... ...)))) (t (throw (quote exit) element)))) (setq element nil)))
(let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (outline-previous-heading)) (progn (forward-line))) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp (org-element-property :parent cached) cached))) ((re-search-backward (let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let ((up cached) (pos (if (= ... pos) (1- pos) pos))) (goto-char (or (org-element-property :contents-begin cached) begin)) (while (let ((end ...)) (and (<= end pos) (goto-char end) (setq up ...)))) (cond ((not up)) ((eobp) (setq element up)) (t (setq element up next (point))))))) (let ((end (or (org-element-property :end element) (save-excursion (let* (... ... ... ...) (outline-next-heading)) (point)))) (parent element) special-flag) (while t (if syncp (progn (cond ((= ... pos) (throw ... parent)) ((org-element--cache-interrupt-p time-limit) (throw ... nil))))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and (<= elem-end pos) (/= ... elem-end)) (goto-char elem-end)) ((not (memq type org-element-greater-elements)) (throw (quote exit) element)) ((let (... ...) (if ... ...))) (t (throw (quote exit) element)))) (setq element nil))))
(save-restriction (widen) (goto-char pos) (let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (outline-previous-heading)) (progn (forward-line))) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp (org-element-property :parent cached) cached))) ((re-search-backward (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let ((up cached) (pos (if ... ... pos))) (goto-char (or (org-element-property :contents-begin cached) begin)) (while (let (...) (and ... ... ...))) (cond ((not up)) ((eobp) (setq element up)) (t (setq element up next ...)))))) (let ((end (or (org-element-property :end element) (save-excursion (let* ... ...) (point)))) (parent element) special-flag) (while t (if syncp (progn (cond (... ...) (... ...)))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and ... ...) (goto-char elem-end)) ((not ...) (throw ... element)) ((let ... ...)) (t (throw ... element)))) (setq element nil)))))
(save-excursion (save-restriction (widen) (goto-char pos) (let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* (... ... ... ...) (outline-previous-heading)) (progn (forward-line))) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp (org-element-property :parent cached) cached))) ((re-search-backward (let* (... ... ... ...) org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let ((up cached) (pos ...)) (goto-char (or ... begin)) (while (let ... ...)) (cond (...) (... ...) (t ...))))) (let ((end (or (org-element-property :end element) (save-excursion ... ...))) (parent element) special-flag) (while t (if syncp (progn (cond ... ...))) (if element nil (setq element (org-element--current-element end ... special-flag ...)) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end ...) (type ...)) (cond (... ...) (... ...) (...) (t ...))) (setq element nil))))))
(catch (quote exit) (save-excursion (save-restriction (widen) (goto-char pos) (let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* ... ...) (progn ...)) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp ... cached))) ((re-search-backward (let* ... org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let (... ...) (goto-char ...) (while ...) (cond ... ... ...)))) (let ((end (or ... ...)) (parent element) special-flag) (while t (if syncp (progn ...)) (if element nil (setq element ...) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let (... ...) (cond ... ... ... ...)) (setq element nil)))))))
org-element--parse-to(257280)
(cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync (current-buffer) origin)))) (org-element--parse-to origin)))
(let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync (current-buffer) origin)))) (org-element--parse-to origin))))
(save-restriction (widen) (let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync ... origin)))) (org-element--parse-to origin)))))
(save-excursion (save-restriction (widen) (let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if ... ... ...))) (org-element--parse-to origin))))))
org-element-at-point()
(let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let ((p drawer)) (while (and (setq p (org-element-property :parent p)) (not (eq ... ...)))) (not p))) (progn (let ((end (org-element-property :contents-end drawer))) (if end (progn (forward-line) (while (< ... end) (if ... ...) (forward-line))))))))
(while (and (null plist) (re-search-forward org-property-start-re end t)) (let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let ((p drawer)) (while (and (setq p ...) (not ...))) (not p))) (progn (let ((end (org-element-property :contents-end drawer))) (if end (progn (forward-line) (while ... ... ...))))))))
(save-excursion (while (and (null plist) (re-search-forward org-property-start-re end t)) (let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let ((p drawer)) (while (and ... ...)) (not p))) (progn (let ((end ...)) (if end (progn ... ...))))))) plist)
(let ((end (save-excursion (let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (outline-next-heading)) (point))) plist) (save-excursion (while (and (null plist) (re-search-forward org-property-start-re end t)) (let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let (...) (while ...) (not p))) (progn (let (...) (if end ...)))))) plist))
(let* ((components (org-heading-components)) (level (nth 1 components)) (todo (nth 2 components)) (todo-type (and todo (if (member todo org-done-keywords) (quote done) (quote todo)))) (tags (let ((raw-tags (nth 5 components))) (and raw-tags (org-split-string raw-tags ":")))) (raw-value (or (nth 4 components) "")) (commentedp (let ((case-fold-search nil)) (string-match (format "^%s\\( \\|$\\)" org-comment-string) raw-value))) (archivedp (member org-archive-tag tags)) (footnote-section-p (and org-footnote-section (string= org-footnote-section raw-value))) (standard-props (let ((end (save-excursion (let* ... ...) (point))) plist) (save-excursion (while (and (null plist) (re-search-forward org-property-start-re end t)) (let (...) (if ... ...))) plist))) (time-props (save-excursion (forward-line) (if (looking-at org-planning-or-clock-line-re) (progn (let (... plist) (while ... ... ... ...) plist))))) (begin (point)) (end (min (save-excursion (org-end-of-subtree t t)) limit)) (pos-after-head (progn (forward-line) (point))) (contents-begin (save-excursion (skip-chars-forward " \r \n" end) (and (/= (point) end) (line-beginning-position)))) (contents-end (and contents-begin (progn (goto-char end) (skip-chars-backward " \r \n") (forward-line) (point))))) (if commentedp (progn (let ((case-fold-search nil)) (setq raw-value (replace-regexp-in-string (concat (regexp-quote org-comment-string) "\\(?: \\|$\\)") "" raw-value))))) (if archivedp (progn (setq tags (delete org-archive-tag tags)))) (let ((headline (list (quote headline) (nconc (list :raw-value raw-value :begin begin :end end :pre-blank (if ... 0 ...) :contents-begin contents-begin :contents-end contents-end :level level :priority (nth 3 components) :tags tags :todo-keyword todo :todo-type todo-type :post-blank (count-lines ... end) :footnote-section-p footnote-section-p :archivedp archivedp :commentedp commentedp) time-props standard-props)))) (let ((alt-title (org-element-property :ALT_TITLE headline))) (if alt-title (progn (org-element-put-property headline :alt-title (if raw-secondary-p alt-title (org-element-parse-secondary-string alt-title ... headline)))))) (org-element-put-property headline :title (if raw-secondary-p raw-value (org-element-parse-secondary-string raw-value (org-element-restriction (quote headline)) headline)))))
(save-excursion (let* ((components (org-heading-components)) (level (nth 1 components)) (todo (nth 2 components)) (todo-type (and todo (if (member todo org-done-keywords) (quote done) (quote todo)))) (tags (let ((raw-tags (nth 5 components))) (and raw-tags (org-split-string raw-tags ":")))) (raw-value (or (nth 4 components) "")) (commentedp (let ((case-fold-search nil)) (string-match (format "^%s\\( \\|$\\)" org-comment-string) raw-value))) (archivedp (member org-archive-tag tags)) (footnote-section-p (and org-footnote-section (string= org-footnote-section raw-value))) (standard-props (let ((end (save-excursion ... ...)) plist) (save-excursion (while (and ... ...) (let ... ...)) plist))) (time-props (save-excursion (forward-line) (if (looking-at org-planning-or-clock-line-re) (progn (let ... ... plist))))) (begin (point)) (end (min (save-excursion (org-end-of-subtree t t)) limit)) (pos-after-head (progn (forward-line) (point))) (contents-begin (save-excursion (skip-chars-forward " \r \n" end) (and (/= (point) end) (line-beginning-position)))) (contents-end (and contents-begin (progn (goto-char end) (skip-chars-backward " \r \n") (forward-line) (point))))) (if commentedp (progn (let ((case-fold-search nil)) (setq raw-value (replace-regexp-in-string (concat ... "\\(?: \\|$\\)") "" raw-value))))) (if archivedp (progn (setq tags (delete org-archive-tag tags)))) (let ((headline (list (quote headline) (nconc (list :raw-value raw-value :begin begin :end end :pre-blank ... :contents-begin contents-begin :contents-end contents-end :level level :priority ... :tags tags :todo-keyword todo :todo-type todo-type :post-blank ... :footnote-section-p footnote-section-p :archivedp archivedp :commentedp commentedp) time-props standard-props)))) (let ((alt-title (org-element-property :ALT_TITLE headline))) (if alt-title (progn (org-element-put-property headline :alt-title (if raw-secondary-p alt-title ...))))) (org-element-put-property headline :title (if raw-secondary-p raw-value (org-element-parse-secondary-string raw-value (org-element-restriction (quote headline)) headline))))))
org-element-headline-parser(257706 t)
(cond ((eq special (quote item)) (org-element-item-parser limit structure raw-secondary-p)) ((eq special (quote table-row)) (org-element-table-row-parser limit)) ((eq special (quote node-property)) (org-element-node-property-parser limit)) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (org-element-headline-parser limit raw-secondary-p)) ((eq special (quote section)) (org-element-section-parser limit)) ((eq special (quote first-section)) (org-element-section-parser (or (save-excursion (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (outline-next-heading))) limit))) ((not (bolp)) (org-element-paragraph-parser limit (list (point)))) ((looking-at org-planning-or-clock-line-re) (if (equal (match-string 1) org-clock-string) (org-element-clock-parser limit) (org-element-planning-parser limit))) ((org-at-heading-p) (org-element-inlinetask-parser limit raw-secondary-p)) (t (let ((affiliated (org-element--collect-affiliated-keywords limit))) (cond ((and (cdr affiliated) (>= (point) limit)) (goto-char (car affiliated)) (org-element-keyword-parser limit nil)) ((looking-at "[ ]*\\\\begin{[A-Za-z0-9*]+}\\(\\[.*?\\]\\|{.*?}\\)*[ ]*$") (org-element-latex-environment-parser limit affiliated)) ((looking-at org-drawer-regexp) (if (equal (match-string 1) "PROPERTIES") (org-element-property-drawer-parser limit affiliated) (org-element-drawer-parser limit affiliated))) ((looking-at "[ ]*:\\( \\|$\\)") (org-element-fixed-width-parser limit affiliated)) ((looking-at "[ ]*#") (goto-char (match-end 0)) (cond ((looking-at "\\(?: \\|$\\)") (beginning-of-line) (org-element-comment-parser limit affiliated)) ((looking-at "\\+BEGIN_\\(\\S-+\\)") (beginning-of-line) (let ... ...)) ((looking-at "\\+CALL:") (beginning-of-line) (org-element-babel-call-parser limit affiliated)) ((looking-at "\\+BEGIN:? ") (beginning-of-line) (org-element-dynamic-block-parser limit affiliated)) ((looking-at "\\+\\S-+:") (beginning-of-line) (org-element-keyword-parser limit affiliated)) (t (beginning-of-line) (org-element-paragraph-parser limit affiliated)))) ((looking-at org-footnote-definition-re) (org-element-footnote-definition-parser limit affiliated)) ((looking-at "[ ]*-\\{5,\\}[ ]*$") (org-element-horizontal-rule-parser limit affiliated)) ((looking-at "%%(") (org-element-diary-sexp-parser limit affiliated)) ((org-at-table-p t) (org-element-table-parser limit affiliated)) ((looking-at (org-item-re)) (org-element-plain-list-parser limit affiliated (or structure (org-element--list-struct limit)))) (t (org-element-paragraph-parser limit affiliated))))))
(let ((case-fold-search t) (raw-secondary-p (and granularity (not (eq granularity (quote object)))))) (cond ((eq special (quote item)) (org-element-item-parser limit structure raw-secondary-p)) ((eq special (quote table-row)) (org-element-table-row-parser limit)) ((eq special (quote node-property)) (org-element-node-property-parser limit)) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (org-element-headline-parser limit raw-secondary-p)) ((eq special (quote section)) (org-element-section-parser limit)) ((eq special (quote first-section)) (org-element-section-parser (or (save-excursion (let* (... ... ... ...) (outline-next-heading))) limit))) ((not (bolp)) (org-element-paragraph-parser limit (list (point)))) ((looking-at org-planning-or-clock-line-re) (if (equal (match-string 1) org-clock-string) (org-element-clock-parser limit) (org-element-planning-parser limit))) ((org-at-heading-p) (org-element-inlinetask-parser limit raw-secondary-p)) (t (let ((affiliated (org-element--collect-affiliated-keywords limit))) (cond ((and (cdr affiliated) (>= ... limit)) (goto-char (car affiliated)) (org-element-keyword-parser limit nil)) ((looking-at "[ ]*\\\\begin{[A-Za-z0-9*]+}\\(\\[.*?\\]\\|{.*?}\\)*[ ]*$") (org-element-latex-environment-parser limit affiliated)) ((looking-at org-drawer-regexp) (if (equal ... "PROPERTIES") (org-element-property-drawer-parser limit affiliated) (org-element-drawer-parser limit affiliated))) ((looking-at "[ ]*:\\( \\|$\\)") (org-element-fixed-width-parser limit affiliated)) ((looking-at "[ ]*#") (goto-char (match-end 0)) (cond (... ... ...) (... ... ...) (... ... ...) (... ... ...) (... ... ...) (t ... ...))) ((looking-at org-footnote-definition-re) (org-element-footnote-definition-parser limit affiliated)) ((looking-at "[ ]*-\\{5,\\}[ ]*$") (org-element-horizontal-rule-parser limit affiliated)) ((looking-at "%%(") (org-element-diary-sexp-parser limit affiliated)) ((org-at-table-p t) (org-element-table-parser limit affiliated)) ((looking-at (org-item-re)) (org-element-plain-list-parser limit affiliated (or structure ...))) (t (org-element-paragraph-parser limit affiliated)))))))
(save-excursion (let ((case-fold-search t) (raw-secondary-p (and granularity (not (eq granularity (quote object)))))) (cond ((eq special (quote item)) (org-element-item-parser limit structure raw-secondary-p)) ((eq special (quote table-row)) (org-element-table-row-parser limit)) ((eq special (quote node-property)) (org-element-node-property-parser limit)) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (org-element-headline-parser limit raw-secondary-p)) ((eq special (quote section)) (org-element-section-parser limit)) ((eq special (quote first-section)) (org-element-section-parser (or (save-excursion (let* ... ...)) limit))) ((not (bolp)) (org-element-paragraph-parser limit (list (point)))) ((looking-at org-planning-or-clock-line-re) (if (equal (match-string 1) org-clock-string) (org-element-clock-parser limit) (org-element-planning-parser limit))) ((org-at-heading-p) (org-element-inlinetask-parser limit raw-secondary-p)) (t (let ((affiliated (org-element--collect-affiliated-keywords limit))) (cond ((and ... ...) (goto-char ...) (org-element-keyword-parser limit nil)) ((looking-at "[ ]*\\\\begin{[A-Za-z0-9*]+}\\(\\[.*?\\]\\|{.*?}\\)*[ ]*$") (org-element-latex-environment-parser limit affiliated)) ((looking-at org-drawer-regexp) (if ... ... ...)) ((looking-at "[ ]*:\\( \\|$\\)") (org-element-fixed-width-parser limit affiliated)) ((looking-at "[ ]*#") (goto-char ...) (cond ... ... ... ... ... ...)) ((looking-at org-footnote-definition-re) (org-element-footnote-definition-parser limit affiliated)) ((looking-at "[ ]*-\\{5,\\}[ ]*$") (org-element-horizontal-rule-parser limit affiliated)) ((looking-at "%%(") (org-element-diary-sexp-parser limit affiliated)) ((org-at-table-p t) (org-element-table-parser limit affiliated)) ((looking-at ...) (org-element-plain-list-parser limit affiliated ...)) (t (org-element-paragraph-parser limit affiliated))))))))
org-element--current-element(257706 element nil nil)
(setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent)))
(if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element))
(while t (if syncp (progn (cond ((= (point) pos) (throw (quote exit) parent)) ((org-element--cache-interrupt-p time-limit) (throw (quote interrupt) nil))))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and (<= elem-end pos) (/= (point-max) elem-end)) (goto-char elem-end)) ((not (memq type org-element-greater-elements)) (throw (quote exit) element)) ((let ((cbeg (org-element-property :contents-begin element)) (cend (org-element-property :contents-end element))) (if (or syncp (and cbeg cend ... ...)) (progn (goto-char ...) (setq next nil special-flag ... parent element end cend))))) (t (throw (quote exit) element)))) (setq element nil))
(let ((end (or (org-element-property :end element) (save-excursion (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (outline-next-heading)) (point)))) (parent element) special-flag) (while t (if syncp (progn (cond ((= (point) pos) (throw (quote exit) parent)) ((org-element--cache-interrupt-p time-limit) (throw (quote interrupt) nil))))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and (<= elem-end pos) (/= (point-max) elem-end)) (goto-char elem-end)) ((not (memq type org-element-greater-elements)) (throw (quote exit) element)) ((let ((cbeg ...) (cend ...)) (if (or syncp ...) (progn ... ...)))) (t (throw (quote exit) element)))) (setq element nil)))
(let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (outline-previous-heading)) (progn (forward-line))) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp (org-element-property :parent cached) cached))) ((re-search-backward (let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let ((up cached) (pos (if (= ... pos) (1- pos) pos))) (goto-char (or (org-element-property :contents-begin cached) begin)) (while (let ((end ...)) (and (<= end pos) (goto-char end) (setq up ...)))) (cond ((not up)) ((eobp) (setq element up)) (t (setq element up next (point))))))) (let ((end (or (org-element-property :end element) (save-excursion (let* (... ... ... ...) (outline-next-heading)) (point)))) (parent element) special-flag) (while t (if syncp (progn (cond ((= ... pos) (throw ... parent)) ((org-element--cache-interrupt-p time-limit) (throw ... nil))))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and (<= elem-end pos) (/= ... elem-end)) (goto-char elem-end)) ((not (memq type org-element-greater-elements)) (throw (quote exit) element)) ((let (... ...) (if ... ...))) (t (throw (quote exit) element)))) (setq element nil))))
(save-restriction (widen) (goto-char pos) (let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (outline-previous-heading)) (progn (forward-line))) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp (org-element-property :parent cached) cached))) ((re-search-backward (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let ((up cached) (pos (if ... ... pos))) (goto-char (or (org-element-property :contents-begin cached) begin)) (while (let (...) (and ... ... ...))) (cond ((not up)) ((eobp) (setq element up)) (t (setq element up next ...)))))) (let ((end (or (org-element-property :end element) (save-excursion (let* ... ...) (point)))) (parent element) special-flag) (while t (if syncp (progn (cond (... ...) (... ...)))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and ... ...) (goto-char elem-end)) ((not ...) (throw ... element)) ((let ... ...)) (t (throw ... element)))) (setq element nil)))))
(save-excursion (save-restriction (widen) (goto-char pos) (let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* (... ... ... ...) (outline-previous-heading)) (progn (forward-line))) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp (org-element-property :parent cached) cached))) ((re-search-backward (let* (... ... ... ...) org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let ((up cached) (pos ...)) (goto-char (or ... begin)) (while (let ... ...)) (cond (...) (... ...) (t ...))))) (let ((end (or (org-element-property :end element) (save-excursion ... ...))) (parent element) special-flag) (while t (if syncp (progn (cond ... ...))) (if element nil (setq element (org-element--current-element end ... special-flag ...)) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end ...) (type ...)) (cond (... ...) (... ...) (...) (t ...))) (setq element nil))))))
(catch (quote exit) (save-excursion (save-restriction (widen) (goto-char pos) (let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* ... ...) (progn ...)) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp ... cached))) ((re-search-backward (let* ... org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let (... ...) (goto-char ...) (while ...) (cond ... ... ...)))) (let ((end (or ... ...)) (parent element) special-flag) (while t (if syncp (progn ...)) (if element nil (setq element ...) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let (... ...) (cond ... ... ... ...)) (setq element nil)))))))
org-element--parse-to(257280)
(cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync (current-buffer) origin)))) (org-element--parse-to origin)))
(let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync (current-buffer) origin)))) (org-element--parse-to origin))))
(save-restriction (widen) (let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync ... origin)))) (org-element--parse-to origin)))))
(save-excursion (save-restriction (widen) (let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if ... ... ...))) (org-element--parse-to origin))))))
org-element-at-point()
(let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let ((p drawer)) (while (and (setq p (org-element-property :parent p)) (not (eq ... ...)))) (not p))) (progn (let ((end (org-element-property :contents-end drawer))) (if end (progn (forward-line) (while (< ... end) (if ... ...) (forward-line))))))))
(while (and (null plist) (re-search-forward org-property-start-re end t)) (let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let ((p drawer)) (while (and (setq p ...) (not ...))) (not p))) (progn (let ((end (org-element-property :contents-end drawer))) (if end (progn (forward-line) (while ... ... ...))))))))
(save-excursion (while (and (null plist) (re-search-forward org-property-start-re end t)) (let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let ((p drawer)) (while (and ... ...)) (not p))) (progn (let ((end ...)) (if end (progn ... ...))))))) plist)
(let ((end (save-excursion (let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (outline-next-heading)) (point))) plist) (save-excursion (while (and (null plist) (re-search-forward org-property-start-re end t)) (let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let (...) (while ...) (not p))) (progn (let (...) (if end ...)))))) plist))
(let* ((components (org-heading-components)) (level (nth 1 components)) (todo (nth 2 components)) (todo-type (and todo (if (member todo org-done-keywords) (quote done) (quote todo)))) (tags (let ((raw-tags (nth 5 components))) (and raw-tags (org-split-string raw-tags ":")))) (raw-value (or (nth 4 components) "")) (commentedp (let ((case-fold-search nil)) (string-match (format "^%s\\( \\|$\\)" org-comment-string) raw-value))) (archivedp (member org-archive-tag tags)) (footnote-section-p (and org-footnote-section (string= org-footnote-section raw-value))) (standard-props (let ((end (save-excursion (let* ... ...) (point))) plist) (save-excursion (while (and (null plist) (re-search-forward org-property-start-re end t)) (let (...) (if ... ...))) plist))) (time-props (save-excursion (forward-line) (if (looking-at org-planning-or-clock-line-re) (progn (let (... plist) (while ... ... ... ...) plist))))) (begin (point)) (end (min (save-excursion (org-end-of-subtree t t)) limit)) (pos-after-head (progn (forward-line) (point))) (contents-begin (save-excursion (skip-chars-forward " \r \n" end) (and (/= (point) end) (line-beginning-position)))) (contents-end (and contents-begin (progn (goto-char end) (skip-chars-backward " \r \n") (forward-line) (point))))) (if commentedp (progn (let ((case-fold-search nil)) (setq raw-value (replace-regexp-in-string (concat (regexp-quote org-comment-string) "\\(?: \\|$\\)") "" raw-value))))) (if archivedp (progn (setq tags (delete org-archive-tag tags)))) (let ((headline (list (quote headline) (nconc (list :raw-value raw-value :begin begin :end end :pre-blank (if ... 0 ...) :contents-begin contents-begin :contents-end contents-end :level level :priority (nth 3 components) :tags tags :todo-keyword todo :todo-type todo-type :post-blank (count-lines ... end) :footnote-section-p footnote-section-p :archivedp archivedp :commentedp commentedp) time-props standard-props)))) (let ((alt-title (org-element-property :ALT_TITLE headline))) (if alt-title (progn (org-element-put-property headline :alt-title (if raw-secondary-p alt-title (org-element-parse-secondary-string alt-title ... headline)))))) (org-element-put-property headline :title (if raw-secondary-p raw-value (org-element-parse-secondary-string raw-value (org-element-restriction (quote headline)) headline)))))
(save-excursion (let* ((components (org-heading-components)) (level (nth 1 components)) (todo (nth 2 components)) (todo-type (and todo (if (member todo org-done-keywords) (quote done) (quote todo)))) (tags (let ((raw-tags (nth 5 components))) (and raw-tags (org-split-string raw-tags ":")))) (raw-value (or (nth 4 components) "")) (commentedp (let ((case-fold-search nil)) (string-match (format "^%s\\( \\|$\\)" org-comment-string) raw-value))) (archivedp (member org-archive-tag tags)) (footnote-section-p (and org-footnote-section (string= org-footnote-section raw-value))) (standard-props (let ((end (save-excursion ... ...)) plist) (save-excursion (while (and ... ...) (let ... ...)) plist))) (time-props (save-excursion (forward-line) (if (looking-at org-planning-or-clock-line-re) (progn (let ... ... plist))))) (begin (point)) (end (min (save-excursion (org-end-of-subtree t t)) limit)) (pos-after-head (progn (forward-line) (point))) (contents-begin (save-excursion (skip-chars-forward " \r \n" end) (and (/= (point) end) (line-beginning-position)))) (contents-end (and contents-begin (progn (goto-char end) (skip-chars-backward " \r \n") (forward-line) (point))))) (if commentedp (progn (let ((case-fold-search nil)) (setq raw-value (replace-regexp-in-string (concat ... "\\(?: \\|$\\)") "" raw-value))))) (if archivedp (progn (setq tags (delete org-archive-tag tags)))) (let ((headline (list (quote headline) (nconc (list :raw-value raw-value :begin begin :end end :pre-blank ... :contents-begin contents-begin :contents-end contents-end :level level :priority ... :tags tags :todo-keyword todo :todo-type todo-type :post-blank ... :footnote-section-p footnote-section-p :archivedp archivedp :commentedp commentedp) time-props standard-props)))) (let ((alt-title (org-element-property :ALT_TITLE headline))) (if alt-title (progn (org-element-put-property headline :alt-title (if raw-secondary-p alt-title ...))))) (org-element-put-property headline :title (if raw-secondary-p raw-value (org-element-parse-secondary-string raw-value (org-element-restriction (quote headline)) headline))))))
org-element-headline-parser(257706 t)
(cond ((eq special (quote item)) (org-element-item-parser limit structure raw-secondary-p)) ((eq special (quote table-row)) (org-element-table-row-parser limit)) ((eq special (quote node-property)) (org-element-node-property-parser limit)) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (org-element-headline-parser limit raw-secondary-p)) ((eq special (quote section)) (org-element-section-parser limit)) ((eq special (quote first-section)) (org-element-section-parser (or (save-excursion (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (outline-next-heading))) limit))) ((not (bolp)) (org-element-paragraph-parser limit (list (point)))) ((looking-at org-planning-or-clock-line-re) (if (equal (match-string 1) org-clock-string) (org-element-clock-parser limit) (org-element-planning-parser limit))) ((org-at-heading-p) (org-element-inlinetask-parser limit raw-secondary-p)) (t (let ((affiliated (org-element--collect-affiliated-keywords limit))) (cond ((and (cdr affiliated) (>= (point) limit)) (goto-char (car affiliated)) (org-element-keyword-parser limit nil)) ((looking-at "[ ]*\\\\begin{[A-Za-z0-9*]+}\\(\\[.*?\\]\\|{.*?}\\)*[ ]*$") (org-element-latex-environment-parser limit affiliated)) ((looking-at org-drawer-regexp) (if (equal (match-string 1) "PROPERTIES") (org-element-property-drawer-parser limit affiliated) (org-element-drawer-parser limit affiliated))) ((looking-at "[ ]*:\\( \\|$\\)") (org-element-fixed-width-parser limit affiliated)) ((looking-at "[ ]*#") (goto-char (match-end 0)) (cond ((looking-at "\\(?: \\|$\\)") (beginning-of-line) (org-element-comment-parser limit affiliated)) ((looking-at "\\+BEGIN_\\(\\S-+\\)") (beginning-of-line) (let ... ...)) ((looking-at "\\+CALL:") (beginning-of-line) (org-element-babel-call-parser limit affiliated)) ((looking-at "\\+BEGIN:? ") (beginning-of-line) (org-element-dynamic-block-parser limit affiliated)) ((looking-at "\\+\\S-+:") (beginning-of-line) (org-element-keyword-parser limit affiliated)) (t (beginning-of-line) (org-element-paragraph-parser limit affiliated)))) ((looking-at org-footnote-definition-re) (org-element-footnote-definition-parser limit affiliated)) ((looking-at "[ ]*-\\{5,\\}[ ]*$") (org-element-horizontal-rule-parser limit affiliated)) ((looking-at "%%(") (org-element-diary-sexp-parser limit affiliated)) ((org-at-table-p t) (org-element-table-parser limit affiliated)) ((looking-at (org-item-re)) (org-element-plain-list-parser limit affiliated (or structure (org-element--list-struct limit)))) (t (org-element-paragraph-parser limit affiliated))))))
(let ((case-fold-search t) (raw-secondary-p (and granularity (not (eq granularity (quote object)))))) (cond ((eq special (quote item)) (org-element-item-parser limit structure raw-secondary-p)) ((eq special (quote table-row)) (org-element-table-row-parser limit)) ((eq special (quote node-property)) (org-element-node-property-parser limit)) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (org-element-headline-parser limit raw-secondary-p)) ((eq special (quote section)) (org-element-section-parser limit)) ((eq special (quote first-section)) (org-element-section-parser (or (save-excursion (let* (... ... ... ...) (outline-next-heading))) limit))) ((not (bolp)) (org-element-paragraph-parser limit (list (point)))) ((looking-at org-planning-or-clock-line-re) (if (equal (match-string 1) org-clock-string) (org-element-clock-parser limit) (org-element-planning-parser limit))) ((org-at-heading-p) (org-element-inlinetask-parser limit raw-secondary-p)) (t (let ((affiliated (org-element--collect-affiliated-keywords limit))) (cond ((and (cdr affiliated) (>= ... limit)) (goto-char (car affiliated)) (org-element-keyword-parser limit nil)) ((looking-at "[ ]*\\\\begin{[A-Za-z0-9*]+}\\(\\[.*?\\]\\|{.*?}\\)*[ ]*$") (org-element-latex-environment-parser limit affiliated)) ((looking-at org-drawer-regexp) (if (equal ... "PROPERTIES") (org-element-property-drawer-parser limit affiliated) (org-element-drawer-parser limit affiliated))) ((looking-at "[ ]*:\\( \\|$\\)") (org-element-fixed-width-parser limit affiliated)) ((looking-at "[ ]*#") (goto-char (match-end 0)) (cond (... ... ...) (... ... ...) (... ... ...) (... ... ...) (... ... ...) (t ... ...))) ((looking-at org-footnote-definition-re) (org-element-footnote-definition-parser limit affiliated)) ((looking-at "[ ]*-\\{5,\\}[ ]*$") (org-element-horizontal-rule-parser limit affiliated)) ((looking-at "%%(") (org-element-diary-sexp-parser limit affiliated)) ((org-at-table-p t) (org-element-table-parser limit affiliated)) ((looking-at (org-item-re)) (org-element-plain-list-parser limit affiliated (or structure ...))) (t (org-element-paragraph-parser limit affiliated)))))))
(save-excursion (let ((case-fold-search t) (raw-secondary-p (and granularity (not (eq granularity (quote object)))))) (cond ((eq special (quote item)) (org-element-item-parser limit structure raw-secondary-p)) ((eq special (quote table-row)) (org-element-table-row-parser limit)) ((eq special (quote node-property)) (org-element-node-property-parser limit)) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (org-element-headline-parser limit raw-secondary-p)) ((eq special (quote section)) (org-element-section-parser limit)) ((eq special (quote first-section)) (org-element-section-parser (or (save-excursion (let* ... ...)) limit))) ((not (bolp)) (org-element-paragraph-parser limit (list (point)))) ((looking-at org-planning-or-clock-line-re) (if (equal (match-string 1) org-clock-string) (org-element-clock-parser limit) (org-element-planning-parser limit))) ((org-at-heading-p) (org-element-inlinetask-parser limit raw-secondary-p)) (t (let ((affiliated (org-element--collect-affiliated-keywords limit))) (cond ((and ... ...) (goto-char ...) (org-element-keyword-parser limit nil)) ((looking-at "[ ]*\\\\begin{[A-Za-z0-9*]+}\\(\\[.*?\\]\\|{.*?}\\)*[ ]*$") (org-element-latex-environment-parser limit affiliated)) ((looking-at org-drawer-regexp) (if ... ... ...)) ((looking-at "[ ]*:\\( \\|$\\)") (org-element-fixed-width-parser limit affiliated)) ((looking-at "[ ]*#") (goto-char ...) (cond ... ... ... ... ... ...)) ((looking-at org-footnote-definition-re) (org-element-footnote-definition-parser limit affiliated)) ((looking-at "[ ]*-\\{5,\\}[ ]*$") (org-element-horizontal-rule-parser limit affiliated)) ((looking-at "%%(") (org-element-diary-sexp-parser limit affiliated)) ((org-at-table-p t) (org-element-table-parser limit affiliated)) ((looking-at ...) (org-element-plain-list-parser limit affiliated ...)) (t (org-element-paragraph-parser limit affiliated))))))))
org-element--current-element(257706 element nil nil)
(setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent)))
(if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element))
(while t (if syncp (progn (cond ((= (point) pos) (throw (quote exit) parent)) ((org-element--cache-interrupt-p time-limit) (throw (quote interrupt) nil))))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and (<= elem-end pos) (/= (point-max) elem-end)) (goto-char elem-end)) ((not (memq type org-element-greater-elements)) (throw (quote exit) element)) ((let ((cbeg (org-element-property :contents-begin element)) (cend (org-element-property :contents-end element))) (if (or syncp (and cbeg cend ... ...)) (progn (goto-char ...) (setq next nil special-flag ... parent element end cend))))) (t (throw (quote exit) element)))) (setq element nil))
(let ((end (or (org-element-property :end element) (save-excursion (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (outline-next-heading)) (point)))) (parent element) special-flag) (while t (if syncp (progn (cond ((= (point) pos) (throw (quote exit) parent)) ((org-element--cache-interrupt-p time-limit) (throw (quote interrupt) nil))))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and (<= elem-end pos) (/= (point-max) elem-end)) (goto-char elem-end)) ((not (memq type org-element-greater-elements)) (throw (quote exit) element)) ((let ((cbeg ...) (cend ...)) (if (or syncp ...) (progn ... ...)))) (t (throw (quote exit) element)))) (setq element nil)))
(let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (outline-previous-heading)) (progn (forward-line))) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp (org-element-property :parent cached) cached))) ((re-search-backward (let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let ((up cached) (pos (if (= ... pos) (1- pos) pos))) (goto-char (or (org-element-property :contents-begin cached) begin)) (while (let ((end ...)) (and (<= end pos) (goto-char end) (setq up ...)))) (cond ((not up)) ((eobp) (setq element up)) (t (setq element up next (point))))))) (let ((end (or (org-element-property :end element) (save-excursion (let* (... ... ... ...) (outline-next-heading)) (point)))) (parent element) special-flag) (while t (if syncp (progn (cond ((= ... pos) (throw ... parent)) ((org-element--cache-interrupt-p time-limit) (throw ... nil))))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and (<= elem-end pos) (/= ... elem-end)) (goto-char elem-end)) ((not (memq type org-element-greater-elements)) (throw (quote exit) element)) ((let (... ...) (if ... ...))) (t (throw (quote exit) element)))) (setq element nil))))
(save-restriction (widen) (goto-char pos) (let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (outline-previous-heading)) (progn (forward-line))) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp (org-element-property :parent cached) cached))) ((re-search-backward (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let ((up cached) (pos (if ... ... pos))) (goto-char (or (org-element-property :contents-begin cached) begin)) (while (let (...) (and ... ... ...))) (cond ((not up)) ((eobp) (setq element up)) (t (setq element up next ...)))))) (let ((end (or (org-element-property :end element) (save-excursion (let* ... ...) (point)))) (parent element) special-flag) (while t (if syncp (progn (cond (... ...) (... ...)))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and ... ...) (goto-char elem-end)) ((not ...) (throw ... element)) ((let ... ...)) (t (throw ... element)))) (setq element nil)))))
(save-excursion (save-restriction (widen) (goto-char pos) (let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* (... ... ... ...) (outline-previous-heading)) (progn (forward-line))) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp (org-element-property :parent cached) cached))) ((re-search-backward (let* (... ... ... ...) org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let ((up cached) (pos ...)) (goto-char (or ... begin)) (while (let ... ...)) (cond (...) (... ...) (t ...))))) (let ((end (or (org-element-property :end element) (save-excursion ... ...))) (parent element) special-flag) (while t (if syncp (progn (cond ... ...))) (if element nil (setq element (org-element--current-element end ... special-flag ...)) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end ...) (type ...)) (cond (... ...) (... ...) (...) (t ...))) (setq element nil))))))
(catch (quote exit) (save-excursion (save-restriction (widen) (goto-char pos) (let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* ... ...) (progn ...)) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp ... cached))) ((re-search-backward (let* ... org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let (... ...) (goto-char ...) (while ...) (cond ... ... ...)))) (let ((end (or ... ...)) (parent element) special-flag) (while t (if syncp (progn ...)) (if element nil (setq element ...) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let (... ...) (cond ... ... ... ...)) (setq element nil)))))))
org-element--parse-to(257280)
(cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync (current-buffer) origin)))) (org-element--parse-to origin)))
(let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync (current-buffer) origin)))) (org-element--parse-to origin))))
(save-restriction (widen) (let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync ... origin)))) (org-element--parse-to origin)))))
(save-excursion (save-restriction (widen) (let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if ... ... ...))) (org-element--parse-to origin))))))
org-element-at-point()
(let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let ((p drawer)) (while (and (setq p (org-element-property :parent p)) (not (eq ... ...)))) (not p))) (progn (let ((end (org-element-property :contents-end drawer))) (if end (progn (forward-line) (while (< ... end) (if ... ...) (forward-line))))))))
(while (and (null plist) (re-search-forward org-property-start-re end t)) (let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let ((p drawer)) (while (and (setq p ...) (not ...))) (not p))) (progn (let ((end (org-element-property :contents-end drawer))) (if end (progn (forward-line) (while ... ... ...))))))))
(save-excursion (while (and (null plist) (re-search-forward org-property-start-re end t)) (let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let ((p drawer)) (while (and ... ...)) (not p))) (progn (let ((end ...)) (if end (progn ... ...))))))) plist)
(let ((end (save-excursion (let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (outline-next-heading)) (point))) plist) (save-excursion (while (and (null plist) (re-search-forward org-property-start-re end t)) (let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let (...) (while ...) (not p))) (progn (let (...) (if end ...)))))) plist))
(let* ((components (org-heading-components)) (level (nth 1 components)) (todo (nth 2 components)) (todo-type (and todo (if (member todo org-done-keywords) (quote done) (quote todo)))) (tags (let ((raw-tags (nth 5 components))) (and raw-tags (org-split-string raw-tags ":")))) (raw-value (or (nth 4 components) "")) (commentedp (let ((case-fold-search nil)) (string-match (format "^%s\\( \\|$\\)" org-comment-string) raw-value))) (archivedp (member org-archive-tag tags)) (footnote-section-p (and org-footnote-section (string= org-footnote-section raw-value))) (standard-props (let ((end (save-excursion (let* ... ...) (point))) plist) (save-excursion (while (and (null plist) (re-search-forward org-property-start-re end t)) (let (...) (if ... ...))) plist))) (time-props (save-excursion (forward-line) (if (looking-at org-planning-or-clock-line-re) (progn (let (... plist) (while ... ... ... ...) plist))))) (begin (point)) (end (min (save-excursion (org-end-of-subtree t t)) limit)) (pos-after-head (progn (forward-line) (point))) (contents-begin (save-excursion (skip-chars-forward " \r \n" end) (and (/= (point) end) (line-beginning-position)))) (contents-end (and contents-begin (progn (goto-char end) (skip-chars-backward " \r \n") (forward-line) (point))))) (if commentedp (progn (let ((case-fold-search nil)) (setq raw-value (replace-regexp-in-string (concat (regexp-quote org-comment-string) "\\(?: \\|$\\)") "" raw-value))))) (if archivedp (progn (setq tags (delete org-archive-tag tags)))) (let ((headline (list (quote headline) (nconc (list :raw-value raw-value :begin begin :end end :pre-blank (if ... 0 ...) :contents-begin contents-begin :contents-end contents-end :level level :priority (nth 3 components) :tags tags :todo-keyword todo :todo-type todo-type :post-blank (count-lines ... end) :footnote-section-p footnote-section-p :archivedp archivedp :commentedp commentedp) time-props standard-props)))) (let ((alt-title (org-element-property :ALT_TITLE headline))) (if alt-title (progn (org-element-put-property headline :alt-title (if raw-secondary-p alt-title (org-element-parse-secondary-string alt-title ... headline)))))) (org-element-put-property headline :title (if raw-secondary-p raw-value (org-element-parse-secondary-string raw-value (org-element-restriction (quote headline)) headline)))))
(save-excursion (let* ((components (org-heading-components)) (level (nth 1 components)) (todo (nth 2 components)) (todo-type (and todo (if (member todo org-done-keywords) (quote done) (quote todo)))) (tags (let ((raw-tags (nth 5 components))) (and raw-tags (org-split-string raw-tags ":")))) (raw-value (or (nth 4 components) "")) (commentedp (let ((case-fold-search nil)) (string-match (format "^%s\\( \\|$\\)" org-comment-string) raw-value))) (archivedp (member org-archive-tag tags)) (footnote-section-p (and org-footnote-section (string= org-footnote-section raw-value))) (standard-props (let ((end (save-excursion ... ...)) plist) (save-excursion (while (and ... ...) (let ... ...)) plist))) (time-props (save-excursion (forward-line) (if (looking-at org-planning-or-clock-line-re) (progn (let ... ... plist))))) (begin (point)) (end (min (save-excursion (org-end-of-subtree t t)) limit)) (pos-after-head (progn (forward-line) (point))) (contents-begin (save-excursion (skip-chars-forward " \r \n" end) (and (/= (point) end) (line-beginning-position)))) (contents-end (and contents-begin (progn (goto-char end) (skip-chars-backward " \r \n") (forward-line) (point))))) (if commentedp (progn (let ((case-fold-search nil)) (setq raw-value (replace-regexp-in-string (concat ... "\\(?: \\|$\\)") "" raw-value))))) (if archivedp (progn (setq tags (delete org-archive-tag tags)))) (let ((headline (list (quote headline) (nconc (list :raw-value raw-value :begin begin :end end :pre-blank ... :contents-begin contents-begin :contents-end contents-end :level level :priority ... :tags tags :todo-keyword todo :todo-type todo-type :post-blank ... :footnote-section-p footnote-section-p :archivedp archivedp :commentedp commentedp) time-props standard-props)))) (let ((alt-title (org-element-property :ALT_TITLE headline))) (if alt-title (progn (org-element-put-property headline :alt-title (if raw-secondary-p alt-title ...))))) (org-element-put-property headline :title (if raw-secondary-p raw-value (org-element-parse-secondary-string raw-value (org-element-restriction (quote headline)) headline))))))
org-element-headline-parser(257706 t)
(cond ((eq special (quote item)) (org-element-item-parser limit structure raw-secondary-p)) ((eq special (quote table-row)) (org-element-table-row-parser limit)) ((eq special (quote node-property)) (org-element-node-property-parser limit)) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (org-element-headline-parser limit raw-secondary-p)) ((eq special (quote section)) (org-element-section-parser limit)) ((eq special (quote first-section)) (org-element-section-parser (or (save-excursion (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (outline-next-heading))) limit))) ((not (bolp)) (org-element-paragraph-parser limit (list (point)))) ((looking-at org-planning-or-clock-line-re) (if (equal (match-string 1) org-clock-string) (org-element-clock-parser limit) (org-element-planning-parser limit))) ((org-at-heading-p) (org-element-inlinetask-parser limit raw-secondary-p)) (t (let ((affiliated (org-element--collect-affiliated-keywords limit))) (cond ((and (cdr affiliated) (>= (point) limit)) (goto-char (car affiliated)) (org-element-keyword-parser limit nil)) ((looking-at "[ ]*\\\\begin{[A-Za-z0-9*]+}\\(\\[.*?\\]\\|{.*?}\\)*[ ]*$") (org-element-latex-environment-parser limit affiliated)) ((looking-at org-drawer-regexp) (if (equal (match-string 1) "PROPERTIES") (org-element-property-drawer-parser limit affiliated) (org-element-drawer-parser limit affiliated))) ((looking-at "[ ]*:\\( \\|$\\)") (org-element-fixed-width-parser limit affiliated)) ((looking-at "[ ]*#") (goto-char (match-end 0)) (cond ((looking-at "\\(?: \\|$\\)") (beginning-of-line) (org-element-comment-parser limit affiliated)) ((looking-at "\\+BEGIN_\\(\\S-+\\)") (beginning-of-line) (let ... ...)) ((looking-at "\\+CALL:") (beginning-of-line) (org-element-babel-call-parser limit affiliated)) ((looking-at "\\+BEGIN:? ") (beginning-of-line) (org-element-dynamic-block-parser limit affiliated)) ((looking-at "\\+\\S-+:") (beginning-of-line) (org-element-keyword-parser limit affiliated)) (t (beginning-of-line) (org-element-paragraph-parser limit affiliated)))) ((looking-at org-footnote-definition-re) (org-element-footnote-definition-parser limit affiliated)) ((looking-at "[ ]*-\\{5,\\}[ ]*$") (org-element-horizontal-rule-parser limit affiliated)) ((looking-at "%%(") (org-element-diary-sexp-parser limit affiliated)) ((org-at-table-p t) (org-element-table-parser limit affiliated)) ((looking-at (org-item-re)) (org-element-plain-list-parser limit affiliated (or structure (org-element--list-struct limit)))) (t (org-element-paragraph-parser limit affiliated))))))
(let ((case-fold-search t) (raw-secondary-p (and granularity (not (eq granularity (quote object)))))) (cond ((eq special (quote item)) (org-element-item-parser limit structure raw-secondary-p)) ((eq special (quote table-row)) (org-element-table-row-parser limit)) ((eq special (quote node-property)) (org-element-node-property-parser limit)) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (org-element-headline-parser limit raw-secondary-p)) ((eq special (quote section)) (org-element-section-parser limit)) ((eq special (quote first-section)) (org-element-section-parser (or (save-excursion (let* (... ... ... ...) (outline-next-heading))) limit))) ((not (bolp)) (org-element-paragraph-parser limit (list (point)))) ((looking-at org-planning-or-clock-line-re) (if (equal (match-string 1) org-clock-string) (org-element-clock-parser limit) (org-element-planning-parser limit))) ((org-at-heading-p) (org-element-inlinetask-parser limit raw-secondary-p)) (t (let ((affiliated (org-element--collect-affiliated-keywords limit))) (cond ((and (cdr affiliated) (>= ... limit)) (goto-char (car affiliated)) (org-element-keyword-parser limit nil)) ((looking-at "[ ]*\\\\begin{[A-Za-z0-9*]+}\\(\\[.*?\\]\\|{.*?}\\)*[ ]*$") (org-element-latex-environment-parser limit affiliated)) ((looking-at org-drawer-regexp) (if (equal ... "PROPERTIES") (org-element-property-drawer-parser limit affiliated) (org-element-drawer-parser limit affiliated))) ((looking-at "[ ]*:\\( \\|$\\)") (org-element-fixed-width-parser limit affiliated)) ((looking-at "[ ]*#") (goto-char (match-end 0)) (cond (... ... ...) (... ... ...) (... ... ...) (... ... ...) (... ... ...) (t ... ...))) ((looking-at org-footnote-definition-re) (org-element-footnote-definition-parser limit affiliated)) ((looking-at "[ ]*-\\{5,\\}[ ]*$") (org-element-horizontal-rule-parser limit affiliated)) ((looking-at "%%(") (org-element-diary-sexp-parser limit affiliated)) ((org-at-table-p t) (org-element-table-parser limit affiliated)) ((looking-at (org-item-re)) (org-element-plain-list-parser limit affiliated (or structure ...))) (t (org-element-paragraph-parser limit affiliated)))))))
(save-excursion (let ((case-fold-search t) (raw-secondary-p (and granularity (not (eq granularity (quote object)))))) (cond ((eq special (quote item)) (org-element-item-parser limit structure raw-secondary-p)) ((eq special (quote table-row)) (org-element-table-row-parser limit)) ((eq special (quote node-property)) (org-element-node-property-parser limit)) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (org-element-headline-parser limit raw-secondary-p)) ((eq special (quote section)) (org-element-section-parser limit)) ((eq special (quote first-section)) (org-element-section-parser (or (save-excursion (let* ... ...)) limit))) ((not (bolp)) (org-element-paragraph-parser limit (list (point)))) ((looking-at org-planning-or-clock-line-re) (if (equal (match-string 1) org-clock-string) (org-element-clock-parser limit) (org-element-planning-parser limit))) ((org-at-heading-p) (org-element-inlinetask-parser limit raw-secondary-p)) (t (let ((affiliated (org-element--collect-affiliated-keywords limit))) (cond ((and ... ...) (goto-char ...) (org-element-keyword-parser limit nil)) ((looking-at "[ ]*\\\\begin{[A-Za-z0-9*]+}\\(\\[.*?\\]\\|{.*?}\\)*[ ]*$") (org-element-latex-environment-parser limit affiliated)) ((looking-at org-drawer-regexp) (if ... ... ...)) ((looking-at "[ ]*:\\( \\|$\\)") (org-element-fixed-width-parser limit affiliated)) ((looking-at "[ ]*#") (goto-char ...) (cond ... ... ... ... ... ...)) ((looking-at org-footnote-definition-re) (org-element-footnote-definition-parser limit affiliated)) ((looking-at "[ ]*-\\{5,\\}[ ]*$") (org-element-horizontal-rule-parser limit affiliated)) ((looking-at "%%(") (org-element-diary-sexp-parser limit affiliated)) ((org-at-table-p t) (org-element-table-parser limit affiliated)) ((looking-at ...) (org-element-plain-list-parser limit affiliated ...)) (t (org-element-paragraph-parser limit affiliated))))))))
org-element--current-element(257706 element nil nil)
(setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent)))
(if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element))
(while t (if syncp (progn (cond ((= (point) pos) (throw (quote exit) parent)) ((org-element--cache-interrupt-p time-limit) (throw (quote interrupt) nil))))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and (<= elem-end pos) (/= (point-max) elem-end)) (goto-char elem-end)) ((not (memq type org-element-greater-elements)) (throw (quote exit) element)) ((let ((cbeg (org-element-property :contents-begin element)) (cend (org-element-property :contents-end element))) (if (or syncp (and cbeg cend ... ...)) (progn (goto-char ...) (setq next nil special-flag ... parent element end cend))))) (t (throw (quote exit) element)))) (setq element nil))
(let ((end (or (org-element-property :end element) (save-excursion (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (outline-next-heading)) (point)))) (parent element) special-flag) (while t (if syncp (progn (cond ((= (point) pos) (throw (quote exit) parent)) ((org-element--cache-interrupt-p time-limit) (throw (quote interrupt) nil))))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and (<= elem-end pos) (/= (point-max) elem-end)) (goto-char elem-end)) ((not (memq type org-element-greater-elements)) (throw (quote exit) element)) ((let ((cbeg ...) (cend ...)) (if (or syncp ...) (progn ... ...)))) (t (throw (quote exit) element)))) (setq element nil)))
(let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (outline-previous-heading)) (progn (forward-line))) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp (org-element-property :parent cached) cached))) ((re-search-backward (let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let ((up cached) (pos (if (= ... pos) (1- pos) pos))) (goto-char (or (org-element-property :contents-begin cached) begin)) (while (let ((end ...)) (and (<= end pos) (goto-char end) (setq up ...)))) (cond ((not up)) ((eobp) (setq element up)) (t (setq element up next (point))))))) (let ((end (or (org-element-property :end element) (save-excursion (let* (... ... ... ...) (outline-next-heading)) (point)))) (parent element) special-flag) (while t (if syncp (progn (cond ((= ... pos) (throw ... parent)) ((org-element--cache-interrupt-p time-limit) (throw ... nil))))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and (<= elem-end pos) (/= ... elem-end)) (goto-char elem-end)) ((not (memq type org-element-greater-elements)) (throw (quote exit) element)) ((let (... ...) (if ... ...))) (t (throw (quote exit) element)))) (setq element nil))))
(save-restriction (widen) (goto-char pos) (let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (outline-previous-heading)) (progn (forward-line))) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp (org-element-property :parent cached) cached))) ((re-search-backward (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let ((up cached) (pos (if ... ... pos))) (goto-char (or (org-element-property :contents-begin cached) begin)) (while (let (...) (and ... ... ...))) (cond ((not up)) ((eobp) (setq element up)) (t (setq element up next ...)))))) (let ((end (or (org-element-property :end element) (save-excursion (let* ... ...) (point)))) (parent element) special-flag) (while t (if syncp (progn (cond (... ...) (... ...)))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and ... ...) (goto-char elem-end)) ((not ...) (throw ... element)) ((let ... ...)) (t (throw ... element)))) (setq element nil)))))
(save-excursion (save-restriction (widen) (goto-char pos) (let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* (... ... ... ...) (outline-previous-heading)) (progn (forward-line))) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp (org-element-property :parent cached) cached))) ((re-search-backward (let* (... ... ... ...) org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let ((up cached) (pos ...)) (goto-char (or ... begin)) (while (let ... ...)) (cond (...) (... ...) (t ...))))) (let ((end (or (org-element-property :end element) (save-excursion ... ...))) (parent element) special-flag) (while t (if syncp (progn (cond ... ...))) (if element nil (setq element (org-element--current-element end ... special-flag ...)) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end ...) (type ...)) (cond (... ...) (... ...) (...) (t ...))) (setq element nil))))))
(catch (quote exit) (save-excursion (save-restriction (widen) (goto-char pos) (let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* ... ...) (progn ...)) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp ... cached))) ((re-search-backward (let* ... org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let (... ...) (goto-char ...) (while ...) (cond ... ... ...)))) (let ((end (or ... ...)) (parent element) special-flag) (while t (if syncp (progn ...)) (if element nil (setq element ...) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let (... ...) (cond ... ... ... ...)) (setq element nil)))))))
org-element--parse-to(257280)
(cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync (current-buffer) origin)))) (org-element--parse-to origin)))
(let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync (current-buffer) origin)))) (org-element--parse-to origin))))
(save-restriction (widen) (let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync ... origin)))) (org-element--parse-to origin)))))
(save-excursion (save-restriction (widen) (let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if ... ... ...))) (org-element--parse-to origin))))))
org-element-at-point()
(let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let ((p drawer)) (while (and (setq p (org-element-property :parent p)) (not (eq ... ...)))) (not p))) (progn (let ((end (org-element-property :contents-end drawer))) (if end (progn (forward-line) (while (< ... end) (if ... ...) (forward-line))))))))
(while (and (null plist) (re-search-forward org-property-start-re end t)) (let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let ((p drawer)) (while (and (setq p ...) (not ...))) (not p))) (progn (let ((end (org-element-property :contents-end drawer))) (if end (progn (forward-line) (while ... ... ...))))))))
(save-excursion (while (and (null plist) (re-search-forward org-property-start-re end t)) (let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let ((p drawer)) (while (and ... ...)) (not p))) (progn (let ((end ...)) (if end (progn ... ...))))))) plist)
(let ((end (save-excursion (let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (outline-next-heading)) (point))) plist) (save-excursion (while (and (null plist) (re-search-forward org-property-start-re end t)) (let ((drawer (org-element-at-point))) (if (and (eq (org-element-type drawer) (quote property-drawer)) (let (...) (while ...) (not p))) (progn (let (...) (if end ...)))))) plist))
(let* ((components (org-heading-components)) (level (nth 1 components)) (todo (nth 2 components)) (todo-type (and todo (if (member todo org-done-keywords) (quote done) (quote todo)))) (tags (let ((raw-tags (nth 5 components))) (and raw-tags (org-split-string raw-tags ":")))) (raw-value (or (nth 4 components) "")) (commentedp (let ((case-fold-search nil)) (string-match (format "^%s\\( \\|$\\)" org-comment-string) raw-value))) (archivedp (member org-archive-tag tags)) (footnote-section-p (and org-footnote-section (string= org-footnote-section raw-value))) (standard-props (let ((end (save-excursion (let* ... ...) (point))) plist) (save-excursion (while (and (null plist) (re-search-forward org-property-start-re end t)) (let (...) (if ... ...))) plist))) (time-props (save-excursion (forward-line) (if (looking-at org-planning-or-clock-line-re) (progn (let (... plist) (while ... ... ... ...) plist))))) (begin (point)) (end (min (save-excursion (org-end-of-subtree t t)) limit)) (pos-after-head (progn (forward-line) (point))) (contents-begin (save-excursion (skip-chars-forward " \r \n" end) (and (/= (point) end) (line-beginning-position)))) (contents-end (and contents-begin (progn (goto-char end) (skip-chars-backward " \r \n") (forward-line) (point))))) (if commentedp (progn (let ((case-fold-search nil)) (setq raw-value (replace-regexp-in-string (concat (regexp-quote org-comment-string) "\\(?: \\|$\\)") "" raw-value))))) (if archivedp (progn (setq tags (delete org-archive-tag tags)))) (let ((headline (list (quote headline) (nconc (list :raw-value raw-value :begin begin :end end :pre-blank (if ... 0 ...) :contents-begin contents-begin :contents-end contents-end :level level :priority (nth 3 components) :tags tags :todo-keyword todo :todo-type todo-type :post-blank (count-lines ... end) :footnote-section-p footnote-section-p :archivedp archivedp :commentedp commentedp) time-props standard-props)))) (let ((alt-title (org-element-property :ALT_TITLE headline))) (if alt-title (progn (org-element-put-property headline :alt-title (if raw-secondary-p alt-title (org-element-parse-secondary-string alt-title ... headline)))))) (org-element-put-property headline :title (if raw-secondary-p raw-value (org-element-parse-secondary-string raw-value (org-element-restriction (quote headline)) headline)))))
(save-excursion (let* ((components (org-heading-components)) (level (nth 1 components)) (todo (nth 2 components)) (todo-type (and todo (if (member todo org-done-keywords) (quote done) (quote todo)))) (tags (let ((raw-tags (nth 5 components))) (and raw-tags (org-split-string raw-tags ":")))) (raw-value (or (nth 4 components) "")) (commentedp (let ((case-fold-search nil)) (string-match (format "^%s\\( \\|$\\)" org-comment-string) raw-value))) (archivedp (member org-archive-tag tags)) (footnote-section-p (and org-footnote-section (string= org-footnote-section raw-value))) (standard-props (let ((end (save-excursion ... ...)) plist) (save-excursion (while (and ... ...) (let ... ...)) plist))) (time-props (save-excursion (forward-line) (if (looking-at org-planning-or-clock-line-re) (progn (let ... ... plist))))) (begin (point)) (end (min (save-excursion (org-end-of-subtree t t)) limit)) (pos-after-head (progn (forward-line) (point))) (contents-begin (save-excursion (skip-chars-forward " \r \n" end) (and (/= (point) end) (line-beginning-position)))) (contents-end (and contents-begin (progn (goto-char end) (skip-chars-backward " \r \n") (forward-line) (point))))) (if commentedp (progn (let ((case-fold-search nil)) (setq raw-value (replace-regexp-in-string (concat ... "\\(?: \\|$\\)") "" raw-value))))) (if archivedp (progn (setq tags (delete org-archive-tag tags)))) (let ((headline (list (quote headline) (nconc (list :raw-value raw-value :begin begin :end end :pre-blank ... :contents-begin contents-begin :contents-end contents-end :level level :priority ... :tags tags :todo-keyword todo :todo-type todo-type :post-blank ... :footnote-section-p footnote-section-p :archivedp archivedp :commentedp commentedp) time-props standard-props)))) (let ((alt-title (org-element-property :ALT_TITLE headline))) (if alt-title (progn (org-element-put-property headline :alt-title (if raw-secondary-p alt-title ...))))) (org-element-put-property headline :title (if raw-secondary-p raw-value (org-element-parse-secondary-string raw-value (org-element-restriction (quote headline)) headline))))))
org-element-headline-parser(257706 t)
(cond ((eq special (quote item)) (org-element-item-parser limit structure raw-secondary-p)) ((eq special (quote table-row)) (org-element-table-row-parser limit)) ((eq special (quote node-property)) (org-element-node-property-parser limit)) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (org-element-headline-parser limit raw-secondary-p)) ((eq special (quote section)) (org-element-section-parser limit)) ((eq special (quote first-section)) (org-element-section-parser (or (save-excursion (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (outline-next-heading))) limit))) ((not (bolp)) (org-element-paragraph-parser limit (list (point)))) ((looking-at org-planning-or-clock-line-re) (if (equal (match-string 1) org-clock-string) (org-element-clock-parser limit) (org-element-planning-parser limit))) ((org-at-heading-p) (org-element-inlinetask-parser limit raw-secondary-p)) (t (let ((affiliated (org-element--collect-affiliated-keywords limit))) (cond ((and (cdr affiliated) (>= (point) limit)) (goto-char (car affiliated)) (org-element-keyword-parser limit nil)) ((looking-at "[ ]*\\\\begin{[A-Za-z0-9*]+}\\(\\[.*?\\]\\|{.*?}\\)*[ ]*$") (org-element-latex-environment-parser limit affiliated)) ((looking-at org-drawer-regexp) (if (equal (match-string 1) "PROPERTIES") (org-element-property-drawer-parser limit affiliated) (org-element-drawer-parser limit affiliated))) ((looking-at "[ ]*:\\( \\|$\\)") (org-element-fixed-width-parser limit affiliated)) ((looking-at "[ ]*#") (goto-char (match-end 0)) (cond ((looking-at "\\(?: \\|$\\)") (beginning-of-line) (org-element-comment-parser limit affiliated)) ((looking-at "\\+BEGIN_\\(\\S-+\\)") (beginning-of-line) (let ... ...)) ((looking-at "\\+CALL:") (beginning-of-line) (org-element-babel-call-parser limit affiliated)) ((looking-at "\\+BEGIN:? ") (beginning-of-line) (org-element-dynamic-block-parser limit affiliated)) ((looking-at "\\+\\S-+:") (beginning-of-line) (org-element-keyword-parser limit affiliated)) (t (beginning-of-line) (org-element-paragraph-parser limit affiliated)))) ((looking-at org-footnote-definition-re) (org-element-footnote-definition-parser limit affiliated)) ((looking-at "[ ]*-\\{5,\\}[ ]*$") (org-element-horizontal-rule-parser limit affiliated)) ((looking-at "%%(") (org-element-diary-sexp-parser limit affiliated)) ((org-at-table-p t) (org-element-table-parser limit affiliated)) ((looking-at (org-item-re)) (org-element-plain-list-parser limit affiliated (or structure (org-element--list-struct limit)))) (t (org-element-paragraph-parser limit affiliated))))))
(let ((case-fold-search t) (raw-secondary-p (and granularity (not (eq granularity (quote object)))))) (cond ((eq special (quote item)) (org-element-item-parser limit structure raw-secondary-p)) ((eq special (quote table-row)) (org-element-table-row-parser limit)) ((eq special (quote node-property)) (org-element-node-property-parser limit)) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (org-element-headline-parser limit raw-secondary-p)) ((eq special (quote section)) (org-element-section-parser limit)) ((eq special (quote first-section)) (org-element-section-parser (or (save-excursion (let* (... ... ... ...) (outline-next-heading))) limit))) ((not (bolp)) (org-element-paragraph-parser limit (list (point)))) ((looking-at org-planning-or-clock-line-re) (if (equal (match-string 1) org-clock-string) (org-element-clock-parser limit) (org-element-planning-parser limit))) ((org-at-heading-p) (org-element-inlinetask-parser limit raw-secondary-p)) (t (let ((affiliated (org-element--collect-affiliated-keywords limit))) (cond ((and (cdr affiliated) (>= ... limit)) (goto-char (car affiliated)) (org-element-keyword-parser limit nil)) ((looking-at "[ ]*\\\\begin{[A-Za-z0-9*]+}\\(\\[.*?\\]\\|{.*?}\\)*[ ]*$") (org-element-latex-environment-parser limit affiliated)) ((looking-at org-drawer-regexp) (if (equal ... "PROPERTIES") (org-element-property-drawer-parser limit affiliated) (org-element-drawer-parser limit affiliated))) ((looking-at "[ ]*:\\( \\|$\\)") (org-element-fixed-width-parser limit affiliated)) ((looking-at "[ ]*#") (goto-char (match-end 0)) (cond (... ... ...) (... ... ...) (... ... ...) (... ... ...) (... ... ...) (t ... ...))) ((looking-at org-footnote-definition-re) (org-element-footnote-definition-parser limit affiliated)) ((looking-at "[ ]*-\\{5,\\}[ ]*$") (org-element-horizontal-rule-parser limit affiliated)) ((looking-at "%%(") (org-element-diary-sexp-parser limit affiliated)) ((org-at-table-p t) (org-element-table-parser limit affiliated)) ((looking-at (org-item-re)) (org-element-plain-list-parser limit affiliated (or structure ...))) (t (org-element-paragraph-parser limit affiliated)))))))
(save-excursion (let ((case-fold-search t) (raw-secondary-p (and granularity (not (eq granularity (quote object)))))) (cond ((eq special (quote item)) (org-element-item-parser limit structure raw-secondary-p)) ((eq special (quote table-row)) (org-element-table-row-parser limit)) ((eq special (quote node-property)) (org-element-node-property-parser limit)) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (org-element-headline-parser limit raw-secondary-p)) ((eq special (quote section)) (org-element-section-parser limit)) ((eq special (quote first-section)) (org-element-section-parser (or (save-excursion (let* ... ...)) limit))) ((not (bolp)) (org-element-paragraph-parser limit (list (point)))) ((looking-at org-planning-or-clock-line-re) (if (equal (match-string 1) org-clock-string) (org-element-clock-parser limit) (org-element-planning-parser limit))) ((org-at-heading-p) (org-element-inlinetask-parser limit raw-secondary-p)) (t (let ((affiliated (org-element--collect-affiliated-keywords limit))) (cond ((and ... ...) (goto-char ...) (org-element-keyword-parser limit nil)) ((looking-at "[ ]*\\\\begin{[A-Za-z0-9*]+}\\(\\[.*?\\]\\|{.*?}\\)*[ ]*$") (org-element-latex-environment-parser limit affiliated)) ((looking-at org-drawer-regexp) (if ... ... ...)) ((looking-at "[ ]*:\\( \\|$\\)") (org-element-fixed-width-parser limit affiliated)) ((looking-at "[ ]*#") (goto-char ...) (cond ... ... ... ... ... ...)) ((looking-at org-footnote-definition-re) (org-element-footnote-definition-parser limit affiliated)) ((looking-at "[ ]*-\\{5,\\}[ ]*$") (org-element-horizontal-rule-parser limit affiliated)) ((looking-at "%%(") (org-element-diary-sexp-parser limit affiliated)) ((org-at-table-p t) (org-element-table-parser limit affiliated)) ((looking-at ...) (org-element-plain-list-parser limit affiliated ...)) (t (org-element-paragraph-parser limit affiliated))))))))
org-element--current-element(257706 element nil nil)
(setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent)))
(if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element))
(while t (if syncp (progn (cond ((= (point) pos) (throw (quote exit) parent)) ((org-element--cache-interrupt-p time-limit) (throw (quote interrupt) nil))))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and (<= elem-end pos) (/= (point-max) elem-end)) (goto-char elem-end)) ((not (memq type org-element-greater-elements)) (throw (quote exit) element)) ((let ((cbeg (org-element-property :contents-begin element)) (cend (org-element-property :contents-end element))) (if (or syncp (and cbeg cend ... ...)) (progn (goto-char ...) (setq next nil special-flag ... parent element end cend))))) (t (throw (quote exit) element)))) (setq element nil))
(let ((end (or (org-element-property :end element) (save-excursion (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (outline-next-heading)) (point)))) (parent element) special-flag) (while t (if syncp (progn (cond ((= (point) pos) (throw (quote exit) parent)) ((org-element--cache-interrupt-p time-limit) (throw (quote interrupt) nil))))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and (<= elem-end pos) (/= (point-max) elem-end)) (goto-char elem-end)) ((not (memq type org-element-greater-elements)) (throw (quote exit) element)) ((let ((cbeg ...) (cend ...)) (if (or syncp ...) (progn ... ...)))) (t (throw (quote exit) element)))) (setq element nil)))
(let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (outline-previous-heading)) (progn (forward-line))) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp (org-element-property :parent cached) cached))) ((re-search-backward (let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let ((up cached) (pos (if (= ... pos) (1- pos) pos))) (goto-char (or (org-element-property :contents-begin cached) begin)) (while (let ((end ...)) (and (<= end pos) (goto-char end) (setq up ...)))) (cond ((not up)) ((eobp) (setq element up)) (t (setq element up next (point))))))) (let ((end (or (org-element-property :end element) (save-excursion (let* (... ... ... ...) (outline-next-heading)) (point)))) (parent element) special-flag) (while t (if syncp (progn (cond ((= ... pos) (throw ... parent)) ((org-element--cache-interrupt-p time-limit) (throw ... nil))))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and (<= elem-end pos) (/= ... elem-end)) (goto-char elem-end)) ((not (memq type org-element-greater-elements)) (throw (quote exit) element)) ((let (... ...) (if ... ...))) (t (throw (quote exit) element)))) (setq element nil))))
(save-restriction (widen) (goto-char pos) (let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (outline-previous-heading)) (progn (forward-line))) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp (org-element-property :parent cached) cached))) ((re-search-backward (let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let ((up cached) (pos (if ... ... pos))) (goto-char (or (org-element-property :contents-begin cached) begin)) (while (let (...) (and ... ... ...))) (cond ((not up)) ((eobp) (setq element up)) (t (setq element up next ...)))))) (let ((end (or (org-element-property :end element) (save-excursion (let* ... ...) (point)))) (parent element) special-flag) (while t (if syncp (progn (cond (... ...) (... ...)))) (if element nil (setq element (org-element--current-element end (quote element) special-flag (org-element-property :structure parent))) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end (org-element-property :end element)) (type (org-element-type element))) (cond ((and ... ...) (goto-char elem-end)) ((not ...) (throw ... element)) ((let ... ...)) (t (throw ... element)))) (setq element nil)))))
(save-excursion (save-restriction (widen) (goto-char pos) (let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* (... ... ... ...) (outline-previous-heading)) (progn (forward-line))) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp (org-element-property :parent cached) cached))) ((re-search-backward (let* (... ... ... ...) org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let ((up cached) (pos ...)) (goto-char (or ... begin)) (while (let ... ...)) (cond (...) (... ...) (t ...))))) (let ((end (or (org-element-property :end element) (save-excursion ... ...))) (parent element) special-flag) (while t (if syncp (progn (cond ... ...))) (if element nil (setq element (org-element--current-element end ... special-flag ...)) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let ((elem-end ...) (type ...)) (cond (... ...) (... ...) (...) (t ...))) (setq element nil))))))
(catch (quote exit) (save-excursion (save-restriction (widen) (goto-char pos) (let* ((cached (and (org-element--cache-active-p) (org-element--cache-find pos nil))) (begin (org-element-property :begin cached)) element next) (cond ((not cached) (if (let* ... ...) (progn ...)) (skip-chars-forward " \r \n") (beginning-of-line)) ((= pos begin) (throw (quote exit) (if syncp ... cached))) ((re-search-backward (let* ... org-outline-regexp-bol) begin t) (forward-line) (skip-chars-forward " \r \n") (beginning-of-line)) (t (let (... ...) (goto-char ...) (while ...) (cond ... ... ...)))) (let ((end (or ... ...)) (parent element) special-flag) (while t (if syncp (progn ...)) (if element nil (setq element ...) (org-element-put-property element :parent parent) (org-element--cache-put element)) (let (... ...) (cond ... ... ... ...)) (setq element nil)))))))
org-element--parse-to(257280)
(cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync (current-buffer) origin)))) (org-element--parse-to origin)))
(let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync (current-buffer) origin)))) (org-element--parse-to origin))))
(save-restriction (widen) (let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp (org-get-limited-outline-regexp)) (outline-regexp org-outline-regexp) (org-outline-regexp-bol (concat "^" org-outline-regexp))) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if (not org-element--cache) (org-element-cache-reset) (org-element--cache-sync ... origin)))) (org-element--parse-to origin)))))
(save-excursion (save-restriction (widen) (let ((origin (point))) (end-of-line) (skip-chars-backward " \r \n") (cond ((bobp) nil) ((let* ((org-called-with-limited-levels t) (org-outline-regexp ...) (outline-regexp org-outline-regexp) (org-outline-regexp-bol ...)) (org-at-heading-p)) (beginning-of-line) (org-element-headline-parser (point-max) t)) (t (if (org-element--cache-active-p) (progn (if ... ... ...))) (org-element--parse-to origin))))))
org-element-at-point()
org-cycle-hide-drawers(all)
org-drill-entry()
byte-code("\306 \205\227\0\b\203\x13\0 \203\x13\0\307 !\204\x18\0\310 \202^[\0\311\x10 \211\x1a\x11\n\204&\0\312\313!\210\212\314\n!\210\315 \204;\0\316\317!\210\320\321!\210\202\223\0\322 \211^[\204P\0\316\323!\210\324\x14\325\326\311\"\210\202\222\0\327\v\330\"\203b\0\331 \x14\325\326\311\"\210\202\222\0\327\v\332\"\203n\0\311\x11\202\222\0\v\rX\203\212\0\x0e\x1d\203\x7f\0\333\x0e\x1d!\x16\x1d\334\x0e\x1d\nC\"\x16\x1d\202\220\0\n\x0e\x1eB\x16\x1e\311\x11)*\202\0\0\207" [resuming-p *org-drill-current-item* m result end-pos org-drill-failure-quality org-drill-entries-pending-p org-drill-entry-p org-drill-pop-next-pending-entry nil error "Unexpectedly ran out of pending drill items" org-drill-goto-entry org-drill-entry-due-p message "Entry no longer due, skipping..." sit-for 0.3 org-drill-entry "Quit" :quit throw --cl-block-org-drill-entries-- eql edit point-marker skip shuffle-list append *org-drill-again-entries* *org-drill-done-entries*] 4)
org-drill-entries(t)
org-drill(nil nil t)
org-drill-resume()
call-interactively(org-drill-resume record nil)
command-execute(org-drill-resume record)
helm-M-x()
call-interactively(helm-M-x nil nil)
^ permalink raw reply [flat|nested] 70+ messages in thread
* Re: still seeing semi-regular lockups
2014-07-01 0:43 ` York Zhao
@ 2014-07-01 7:38 ` Nicolas Goaziou
2014-07-01 17:14 ` York Zhao
2014-07-15 2:30 ` York Zhao
1 sibling, 1 reply; 70+ messages in thread
From: Nicolas Goaziou @ 2014-07-01 7:38 UTC (permalink / raw)
To: York Zhao; +Cc: Eric Abrahamsen, emacs-orgmode
Hello,
York Zhao <gtdplatform@gmail.com> writes:
> I got the problem today, with org-mode version "815c218" in Emacs 24.3.1. The
> error message is: if: Lisp nesting exceeds `max-lisp-eval-depth'. Attached is
> the backtrace saved in a file.
Please update, if you can. I pushed a couple of fixes a few hours ago.
It may solve the problem.
Regards,
--
Nicolas Goaziou
^ permalink raw reply [flat|nested] 70+ messages in thread
* Re: still seeing semi-regular lockups
2014-07-01 7:38 ` Nicolas Goaziou
@ 2014-07-01 17:14 ` York Zhao
2014-07-01 21:15 ` York Zhao
2014-07-03 15:31 ` York Zhao
0 siblings, 2 replies; 70+ messages in thread
From: York Zhao @ 2014-07-01 17:14 UTC (permalink / raw)
To: York Zhao, Eric Abrahamsen, emacs-orgmode
> Please update, if you can. I pushed a couple of fixes a few hours ago. It may
> solve the problem.
I noticed the new commits after my previous report. I'm now using commit
"126e2bc", this morning I did experience some funny things which I had never
experienced before. Unfortunately I let them go. I will keep an eye on the new
problems.
^ permalink raw reply [flat|nested] 70+ messages in thread
* Re: still seeing semi-regular lockups
2014-07-01 17:14 ` York Zhao
@ 2014-07-01 21:15 ` York Zhao
2014-07-02 8:01 ` Nicolas Goaziou
2014-07-03 15:31 ` York Zhao
1 sibling, 1 reply; 70+ messages in thread
From: York Zhao @ 2014-07-01 21:15 UTC (permalink / raw)
To: York Zhao, Eric Abrahamsen, emacs-orgmode
Just suffered from extreme slowness. My Emacs had been running for about 1 hour
and I was having two org-mode buffers, one file has 3800 lines, 168 KB bytes.
And the other has 76,600 lines, 4,267,327 KB bytes. Both files had been opened
for awhile. Didn't have problem in the beginning, but then typing in the bigger
buffer became extremely slow, took at least one to two seconds for a typed
character to be displayed on the screen. Killed the buffer and then reopen it
didn't help at all. At the same time typing in the other smaller buffer didn't
have the same slowness issue. Restarted Emacs and the issue disappeared.
One of the problem I have noticed for a long time is that org-mode could become
slower and slower with use, which was exactly what I had been experiencing just
now.
^ permalink raw reply [flat|nested] 70+ messages in thread
* Re: still seeing semi-regular lockups
2014-07-01 21:15 ` York Zhao
@ 2014-07-02 8:01 ` Nicolas Goaziou
2014-07-03 1:03 ` York Zhao
0 siblings, 1 reply; 70+ messages in thread
From: Nicolas Goaziou @ 2014-07-02 8:01 UTC (permalink / raw)
To: York Zhao; +Cc: Eric Abrahamsen, emacs-orgmode
Hello,
York Zhao <gtdplatform@gmail.com> writes:
> Just suffered from extreme slowness. My Emacs had been running for about 1 hour
> and I was having two org-mode buffers, one file has 3800 lines, 168 KB bytes.
> And the other has 76,600 lines, 4,267,327 KB bytes. Both files had been opened
> for awhile. Didn't have problem in the beginning, but then typing in the bigger
> buffer became extremely slow, took at least one to two seconds for a typed
> character to be displayed on the screen. Killed the buffer and then reopen it
> didn't help at all. At the same time typing in the other smaller buffer didn't
> have the same slowness issue. Restarted Emacs and the issue disappeared.
>
> One of the problem I have noticed for a long time is that org-mode could become
> slower and slower with use, which was exactly what I had been experiencing just
> now.
OK. If you experience it again, please do
M-x org-element-cache-reset
in the slow buffer and see if it is responsive again.
Another interesting test would be to try reproducing the problem with `org-element-use-cache'
set to nil.
I'm not totally sure this is related to the cache, as killing the buffer
should have solved the problem.
Regards,
--
Nicolas Goaziou
^ permalink raw reply [flat|nested] 70+ messages in thread
* Re: still seeing semi-regular lockups
2014-07-02 8:01 ` Nicolas Goaziou
@ 2014-07-03 1:03 ` York Zhao
2014-07-06 7:28 ` Nicolas Goaziou
0 siblings, 1 reply; 70+ messages in thread
From: York Zhao @ 2014-07-03 1:03 UTC (permalink / raw)
To: York Zhao, Eric Abrahamsen, emacs-orgmode
> OK. If you experience it again, please do
>
> M-x org-element-cache-reset
>
> in the slow buffer and see if it is responsive again.
>
> Another interesting test would be to try reproducing the problem with
> `org-element-use-cache' set to nil.
The exact same slowness problem happened just now. "M-x org-element-cache-reset"
didn't have any effect. Nor did setting `org-element-use-cache' to nil. Again,
killed the buffer and reopened didn't help.
I couldn't remember whether the big file was already opened, but I think it was
not opened yet, i.e., when the problem occurred, the file might just be opened.
What I did was that I started Emacs, run `org-drill' across 8 files (in one
session). Total size of these files was 730 KB bytes. The good thing was that
the session was finished successfully, no "max-lisp-eval-depth" error, and I
really hope this deadly error will never happen.
One thing I didn't do, unfortunately, was that I reset cache only for the buffer
where the slowness manifested. I think I should try reseting cache for all the 8
buffers too right?
York
^ permalink raw reply [flat|nested] 70+ messages in thread
* Re: still seeing semi-regular lockups
2014-07-01 17:14 ` York Zhao
2014-07-01 21:15 ` York Zhao
@ 2014-07-03 15:31 ` York Zhao
2014-07-03 15:55 ` York Zhao
2014-07-06 7:19 ` Nicolas Goaziou
1 sibling, 2 replies; 70+ messages in thread
From: York Zhao @ 2014-07-03 15:31 UTC (permalink / raw)
To: York Zhao, Eric Abrahamsen, emacs-orgmode
> I'm now using commit "126e2bc", this morning I did experience some funny
> things which I had never experienced before. Unfortunately I let them go. I
> will keep an eye on the new problems.
I'm now using commit "fdc673d". The problem I experienced 2 days ago happened
again. The direct operations I did was that I programmatically deleted a few
table line in one table and inserted them in another table which is in the
subtree immediately following the current table. But I ended up having more
lines in the new table, most of them were duplicated. Here is roughly the
snippet of the command I used:
(defun yhj-drop-something ()
(interactive)
(save-excursion
(let* ((beg (line-beginning-position))
(end (1+ (line-end-position)))
(line (buffer-substring beg end)))
(kill-region beg end)
(unless (re-search-forward "^\\*+[ \t]+Newtable[ \t]*$"
(save-excursion
(org-end-of-subtree t)) t)
(error "Incompatible contents format"))
(forward-line 4)
(unless (org-at-table-p 'any)
(error "Incompatible contents format"))
(beginning-of-line)
(insert line)
(org-table-align)
(org-table-sort-lines nil ?a))))
I can't post everything here because the command operates on my personal
contents. I have been using this snippet for years without problem. I executed
this command several times with point moved to different lines in the first
table. Each time this command is executed it is supposed to "move" one table
line to another table.
Hope this will help a bit and I will pay close attention next time to give more
details.
^ permalink raw reply [flat|nested] 70+ messages in thread
* Re: still seeing semi-regular lockups
2014-07-03 15:31 ` York Zhao
@ 2014-07-03 15:55 ` York Zhao
2014-07-06 7:19 ` Nicolas Goaziou
1 sibling, 0 replies; 70+ messages in thread
From: York Zhao @ 2014-07-03 15:55 UTC (permalink / raw)
To: York Zhao, Eric Abrahamsen, emacs-orgmode
> I'm now using commit "fdc673d". The problem I experienced 2 days ago happened
> again. The direct operations I did was that I programmatically deleted a few
> table line in one table and inserted them in another table which is in the
> subtree immediately following the current table. But I ended up having more
> lines in the new table, most of them were duplicated. Here is roughly the
> snippet of the command I used:
>
> (defun yhj-drop-something ()
> (interactive)
> (save-excursion
> (let* ((beg (line-beginning-position))
> (end (1+ (line-end-position)))
> (line (buffer-substring beg end)))
> (kill-region beg end)
> (unless (re-search-forward "^\\*+[ \t]+Newtable[ \t]*$"
> (save-excursion
> (org-end-of-subtree t)) t)
> (error "Incompatible contents format"))
> (forward-line 4)
> (unless (org-at-table-p 'any)
> (error "Incompatible contents format"))
> (beginning-of-line)
> (insert line)
> (org-table-align)
> (org-table-sort-lines nil ?a))))
I just noticed these errors in my "*messages*" buffer:
user-error: Not in table data field
2 lines sorted, based on column 1
Starting "egrep" process...
3 lines sorted, based on column 1
4 lines sorted, based on column 1
After 0 kbd macro iterations: let: Wrong type argument: number-or-marker-p, nil
Error in post-command-hook (zfill-post-command-function): (user-error
"An element cannot be parsed line 76823")
Error in pre-command-hook (zfill-pre-command-function): (user-error
"An element cannot be parsed line 76823")
6 lines sorted, based on column 1
I'm not sure if the `(user-error "An element cannot be parsed line 76823")' can
be of any help. Line 76823 was the last line in the table where the table lines
were being moved to (the "Destination Table"). This table looks like thin:
*** Source Table
|---------+---------+---------+---------+---|
| COL1 | COL2 | COL3 | COL4 | |
|---------+---------+---------+---------+---|
| Content | Content | Content | Content | A |
| Content | Content | Content | Content | A |
| Content | Content | Content | Content | A |
| Content | Content | Content | Content | A |
| Content | Content | Content | Content | A |
| Content | Content | Content | Content | A |
| Content | Content | Content | Content | A |
|---------+---------+---------+---------+---|
**** Destination Table
|---------+---------+---------+---------+---|
| COL1 | COL2 | COL3 | COL4 | |
|---------+---------+---------+---------+---|
| Content | Content | Content | Content | A |
| Content | Content | Content | Content | A |
| Content | Content | Content | Content | A |
| Content | Content | Content | Content | A |
| Content | Content | Content | Content | A |
|---------+---------+---------+---------+---|
^ permalink raw reply [flat|nested] 70+ messages in thread
* Re: still seeing semi-regular lockups
2014-07-03 15:31 ` York Zhao
2014-07-03 15:55 ` York Zhao
@ 2014-07-06 7:19 ` Nicolas Goaziou
2014-07-06 14:29 ` York Zhao
1 sibling, 1 reply; 70+ messages in thread
From: Nicolas Goaziou @ 2014-07-06 7:19 UTC (permalink / raw)
To: York Zhao; +Cc: Eric Abrahamsen, emacs-orgmode
Hello,
York Zhao <gtdplatform@gmail.com> writes:
> I'm now using commit "fdc673d". The problem I experienced 2 days ago happened
> again. The direct operations I did was that I programmatically deleted a few
> table line in one table and inserted them in another table which is in the
> subtree immediately following the current table. But I ended up having more
> lines in the new table, most of them were duplicated. Here is roughly the
> snippet of the command I used:
[...]
> I can't post everything here because the command operates on my personal
> contents. I have been using this snippet for years without problem. I executed
> this command several times with point moved to different lines in the first
> table. Each time this command is executed it is supposed to "move" one table
> line to another table.
>
> Hope this will help a bit and I will pay close attention next time to give more
> details.
Thank you for the report. I wasn't able to reproduce it with latest
commit (df9ccbd). Could you try again and see if it fixes your problem?
Regards,
--
Nicolas Goaziou
^ permalink raw reply [flat|nested] 70+ messages in thread
* Re: still seeing semi-regular lockups
2014-07-03 1:03 ` York Zhao
@ 2014-07-06 7:28 ` Nicolas Goaziou
2014-07-06 14:40 ` York Zhao
0 siblings, 1 reply; 70+ messages in thread
From: Nicolas Goaziou @ 2014-07-06 7:28 UTC (permalink / raw)
To: York Zhao; +Cc: Eric Abrahamsen, emacs-orgmode
Hello,
York Zhao <gtdplatform@gmail.com> writes:
> The exact same slowness problem happened just now. "M-x org-element-cache-reset"
> didn't have any effect. Nor did setting `org-element-use-cache' to nil. Again,
> killed the buffer and reopened didn't help.
It looks like the problem isn't related to the cache then. Anyway, you
could try to do some profiling (see `profiler-start').
> One thing I didn't do, unfortunately, was that I reset cache only for the buffer
> where the slowness manifested. I think I should try reseting cache for all the 8
> buffers too right?
Cache is buffer dependent, so you don't need to reset cache for all of
them (though it's simply C-u M-x org-element-cache-reset).
Regards,
--
Nicolas Goaziou
^ permalink raw reply [flat|nested] 70+ messages in thread
* Re: still seeing semi-regular lockups
2014-07-06 7:19 ` Nicolas Goaziou
@ 2014-07-06 14:29 ` York Zhao
0 siblings, 0 replies; 70+ messages in thread
From: York Zhao @ 2014-07-06 14:29 UTC (permalink / raw)
To: York Zhao, Eric Abrahamsen, emacs-orgmode
[-- Attachment #1: Type: text/plain, Size: 264 bytes --]
> Thank you for the report. I wasn't able to reproduce it with latest commit
> (df9ccbd). Could you try again and see if it fixes your problem?
I haven't experienced this problem since July 3, hopefully it has been
fixed.
Thank you very much for your work.
York
[-- Attachment #2: Type: text/html, Size: 328 bytes --]
^ permalink raw reply [flat|nested] 70+ messages in thread
* Re: still seeing semi-regular lockups
2014-07-06 7:28 ` Nicolas Goaziou
@ 2014-07-06 14:40 ` York Zhao
2014-07-06 21:05 ` York Zhao
2014-07-07 1:43 ` York Zhao
0 siblings, 2 replies; 70+ messages in thread
From: York Zhao @ 2014-07-06 14:40 UTC (permalink / raw)
To: York Zhao, Eric Abrahamsen, emacs-orgmode
[-- Attachment #1: Type: text/plain, Size: 905 bytes --]
> > The exact same slowness problem happened just now. "M-x
org-element-cache-reset"
> > didn't have any effect. Nor did setting `org-element-use-cache' to nil.
Again,
> > killed the buffer and reopened didn't help.
> It looks like the problem isn't related to the cache then. Anyway, you
> could try to do some profiling (see `profiler-start').
>
> > One thing I didn't do, unfortunately, was that I reset cache only for
the buffer
> > where the slowness manifested. I think I should try reseting cache for
all the 8
> > buffers too right?
> Cache is buffer dependent, so you don't need to reset cache for all of
> them (though it's simply C-u M-x org-element-cache-reset).
I haven't experienced this problem (I'm now using "df9ccbd") since last
time I
reported (July 2 I guess), really hope that this problem has been fixed.
Thank
you very much for all the hard work you have done on this issue.
York
[-- Attachment #2: Type: text/html, Size: 1102 bytes --]
^ permalink raw reply [flat|nested] 70+ messages in thread
* Re: still seeing semi-regular lockups
2014-07-06 14:40 ` York Zhao
@ 2014-07-06 21:05 ` York Zhao
2014-07-06 21:31 ` Nicolas Goaziou
2014-07-07 1:43 ` York Zhao
1 sibling, 1 reply; 70+ messages in thread
From: York Zhao @ 2014-07-06 21:05 UTC (permalink / raw)
To: York Zhao, Eric Abrahamsen, emacs-orgmode
[-- Attachment #1: Type: text/plain, Size: 331 bytes --]
The extreme slowness happened again just know. When this happened,
`org-end-of-line' command took forever until "C-g". M-x
org-element-cache-reset
worked this time, i.e., after running `org-element-cache-reset' command
`org-end-of-line' became fast again.
I was using commit "ca6ecf9", and the buffer was 38xx lines 168K in size.
[-- Attachment #2: Type: text/html, Size: 410 bytes --]
^ permalink raw reply [flat|nested] 70+ messages in thread
* Re: still seeing semi-regular lockups
2014-07-06 21:05 ` York Zhao
@ 2014-07-06 21:31 ` Nicolas Goaziou
2014-07-07 0:16 ` York Zhao
0 siblings, 1 reply; 70+ messages in thread
From: Nicolas Goaziou @ 2014-07-06 21:31 UTC (permalink / raw)
To: York Zhao; +Cc: Eric Abrahamsen, emacs-orgmode
Hello,
York Zhao <gtdplatform@gmail.com> writes:
> The extreme slowness happened again just know. When this happened,
> `org-end-of-line' command took forever until "C-g". M-x
> org-element-cache-reset
> worked this time, i.e., after running `org-element-cache-reset' command
> `org-end-of-line' became fast again.
>
> I was using commit "ca6ecf9", and the buffer was 38xx lines 168K in
> size.
This sounds more like an infloop. Could you send me the document you
were working on[fn:1], in private, and describe what you were doing
before it froze?
Regards,
[fn:1] or at least an equivalent file structure wise, calling the
following function in that document:
(defun ngz-scramble-contents ()
(interactive)
(let ((tree (org-element-parse-buffer)))
(org-element-map tree '(code comment comment-block example-block fixed-width
keyword link node-property plain-text verbatim)
(lambda (obj)
(case (org-element-type obj)
((code comment comment-block example-block fixed-width keyword
node-property verbatim)
(let ((value (org-element-property :value obj)))
(org-element-put-property
obj :value (replace-regexp-in-string "[[:alnum:]]" "x" value))))
(link
(unless (string= (org-element-property :type obj) "radio")
(org-element-put-property obj :raw-link "http://orgmode.org")))
(plain-text
(org-element-set-element
obj (replace-regexp-in-string "[[:alnum:]]" "x" obj)))))
nil nil nil t)
(let ((buffer (get-buffer-create "*Scrambled text*")))
(with-current-buffer buffer
(insert (org-element-interpret-data tree))
(goto-char (point-min)))
(switch-to-buffer buffer))))
If you can reproduce the problem in this new buffer, that's fine too.
--
Nicolas Goaziou
^ permalink raw reply [flat|nested] 70+ messages in thread
* Re: still seeing semi-regular lockups
2014-07-06 21:31 ` Nicolas Goaziou
@ 2014-07-07 0:16 ` York Zhao
2014-07-07 5:27 ` Nicolas Goaziou
0 siblings, 1 reply; 70+ messages in thread
From: York Zhao @ 2014-07-07 0:16 UTC (permalink / raw)
To: York Zhao, Eric Abrahamsen, emacs-orgmode
[-- Attachment #1: Type: text/plain, Size: 497 bytes --]
> Could you send me the document you were working on, in private, and
describe
> what you were doing before it froze?
I'm sorry but I really shouldn't send this document to anyone other than a
lawyer :-)
> or at least an equivalent file structure wise, calling the following
function
> in that document ... If you can reproduce the problem in this new buffer,
> that's fine too.
Just want to confirm that you want me to run this command in that buffer
and see
if the problem can be reproduced?
[-- Attachment #2: Type: text/html, Size: 591 bytes --]
^ permalink raw reply [flat|nested] 70+ messages in thread
* Re: still seeing semi-regular lockups
2014-07-06 14:40 ` York Zhao
2014-07-06 21:05 ` York Zhao
@ 2014-07-07 1:43 ` York Zhao
2014-07-07 5:33 ` Nicolas Goaziou
1 sibling, 1 reply; 70+ messages in thread
From: York Zhao @ 2014-07-07 1:43 UTC (permalink / raw)
To: York Zhao, emacs-orgmode
[-- Attachment #1: Type: text/plain, Size: 6775 bytes --]
> > The exact same slowness problem happened just now. "M-x
org-element-cache-reset"
> > didn't have any effect. Nor did setting `org-element-use-cache' to nil.
Again,
> > killed the buffer and reopened didn't help.
> It looks like the problem isn't related to the cache then. Anyway, you
> could try to do some profiling (see `profiler-start').
>
> > One thing I didn't do, unfortunately, was that I reset cache only for
the buffer
> > where the slowness manifested. I think I should try reseting cache for
all the 8
> > buffers too right?
> Cache is buffer dependent, so you don't need to reset cache for all of
> them (though it's simply C-u M-x org-element-cache-reset).
This problem happened again just now. Again, M-x org-element-cache-reset
didn't
help, nor did C-u M-x org-element-cache-reset. And it seemed that only
typing
characters were slow, took 1 or 2 seconds for a typed character to appear
on the
screen.
Again, this happened in the big buffer that has 77,xxx lines, freshly
opened. I
restarted Emacs and finished `org-drill' session on 8 files before opening
this
big file.
I then `M-x profile-start', typed a few letters and `M-x profile-report',
here's
the memory report:
+ #<compiled 0x138b231> 11,320,032 43%
+ call-interactively 4,857,849 18%
+ #<compiled 0x1444275> 2,170,499 8%
+ timer-event-handler 1,428,527 5%
+ #<compiled 0xa6e561> 1,299,957 5%
+ helm 1,058,503 4%
+ redisplay_internal (C function) 869,652 3%
+ ac-handle-post-command 695,448 2%
+ helm-M-x 517,012 2%
+ helm-check-new-input 215,112 0%
+ #<compiled 0x1391c7d> 211,328 0%
+ helm-let-internal 182,580 0%
+ helm-read-pattern-maybe 109,907 0%
+ helm-process-filtered-candidate-transformer 97,992 0%
+ helm-get-cached-candidates 87,872 0%
+ cl-mapcar 82,880 0%
+ helm-update 81,536 0%
+ helm-funcall-with-source 72,380 0%
+ read-from-minibuffer 70,224 0%
+ funcall 69,721 0%
+ apply 34,618 0%
+ #<compiled 0xfe8ee9> 33,140 0%
+ helm--compute-sources 31,988 0%
+ yas--post-command-handler 29,288 0%
+ org-element--parse-to 29,184 0%
+ #<compiled 0xfe83ad> 12,520 0%
+ helm-compute-matches 12,400 0%
+ let 12,288 0%
+ byte-code 9,320 0%
+ ac-handle-pre-command 9,298 0%
+ profiler-report-rerender-calltree 8,188 0%
+ command-execute 8,188 0%
+ helm-check-minibuffer-input 8,152 0%
+ zfill-org-paragraph-boundary 7,240 0%
+ helm-internal 7,000 0%
+ sp--self-insert-command 6,060 0%
+ helm-comp-read 5,200 0%
+ let* 5,028 0%
+ catch 4,204 0%
+ hl-paren-highlight 4,144 0%
+ zfill-pre-command-function 4,096 0%
+ save-restriction 4,096 0%
+ while 4,096 0%
+ save-excursion 4,096 0%
+ helm-M-x-current-mode-map-alist 3,144 0%
+ helm-display-buffer 2,080 0%
+ profiler-report-setup-buffer 1,066 0%
+ profiler-report 1,054 0%
+ org-element--cache-before-change 1,024 0%
And CPU report:
+ ac-handle-post-command 2985 56%
+ timer-event-handler 1786 33%
+ redisplay_internal (C function) 131 2%
+ helm-M-x 121 2%
Automatic GC 60 1%
+ call-interactively 42 0%
+ #<compiled 0x138b231> 24 0%
+ #<compiled 0xa6e561> 24 0%
+ apply 23 0%
+ yas--table-all-keys 20 0%
+ helm-internal 12 0%
+ helm--compute-sources 12 0%
+ #<compiled 0xfe83ad> 10 0%
+ #<compiled 0x1444275> 8 0%
+ funcall 6 0%
+ #<compiled 0x1391c7d> 4 0%
+ helm-update 4 0%
+ helm-check-new-input 4 0%
+ helm 4 0%
+ helm-process-filtered-candidate-transformer 4 0%
+ helm-get-candidates 3 0%
+ helm-let-internal 3 0%
So I suspected the `auto-complete'. I tried M-x auto-complete to turn it off
which worked, the typing was fast again. M-x auto-complete to turn it back
on
and typing became extremely slow again.
Hope this will help a tiny bit.
York
[-- Attachment #2: Type: text/html, Size: 10541 bytes --]
^ permalink raw reply [flat|nested] 70+ messages in thread
* Re: still seeing semi-regular lockups
2014-07-07 0:16 ` York Zhao
@ 2014-07-07 5:27 ` Nicolas Goaziou
2014-07-25 14:33 ` Sebastien Vauban
0 siblings, 1 reply; 70+ messages in thread
From: Nicolas Goaziou @ 2014-07-07 5:27 UTC (permalink / raw)
To: York Zhao; +Cc: Eric Abrahamsen, emacs-orgmode
Hello,
York Zhao <gtdplatform@gmail.com> writes:
> I'm sorry but I really shouldn't send this document to anyone other than a
> lawyer :-)
[...]
> Just want to confirm that you want me to run this command in that buffer
> and see
> if the problem can be reproduced?
Calling the provided command on your sensitive buffer will create a copy
in a temporary buffer with all its contents hidden, just preserving
structure.
If you can reproduce the problem in this new buffer and no information
leaked (the command is just a quick hack so be sure to check it is
fine), you can send its the contents. There are bonus points if you can
also explain me how to reproduce it.
Regards,
--
Nicolas Goaziou
^ permalink raw reply [flat|nested] 70+ messages in thread
* Re: still seeing semi-regular lockups
2014-07-07 1:43 ` York Zhao
@ 2014-07-07 5:33 ` Nicolas Goaziou
2014-07-07 15:10 ` York Zhao
0 siblings, 1 reply; 70+ messages in thread
From: Nicolas Goaziou @ 2014-07-07 5:33 UTC (permalink / raw)
To: York Zhao; +Cc: emacs-orgmode
York Zhao <gtdplatform@gmail.com> writes:
> Again, this happened in the big buffer that has 77,xxx lines, freshly
> opened. I
> restarted Emacs and finished `org-drill' session on 8 files before opening
> this
> big file.
>
> I then `M-x profile-start', typed a few letters and `M-x profile-report',
> here's
> the memory report:
[...]
> + zfill-org-paragraph-boundary 7,240 0%
What is that, if I may ask?
> + ac-handle-post-command 2985 56%
> + timer-event-handler 1786 33%
> + redisplay_internal (C function) 131 2%
[...]
> So I suspected the `auto-complete'. I tried M-x auto-complete to turn it off
> which worked, the typing was fast again. M-x auto-complete to turn it back
> on
> and typing became extremely slow again.
Indeed. auto-complete developers may be interested in your report. This
is not an Org bug, though.
Regards,
--
Nicolas Goaziou
^ permalink raw reply [flat|nested] 70+ messages in thread
* Re: still seeing semi-regular lockups
2014-07-07 5:33 ` Nicolas Goaziou
@ 2014-07-07 15:10 ` York Zhao
0 siblings, 0 replies; 70+ messages in thread
From: York Zhao @ 2014-07-07 15:10 UTC (permalink / raw)
To: York Zhao, emacs-orgmode
[-- Attachment #1: Type: text/plain, Size: 1883 bytes --]
>> + zfill-org-paragraph-boundary 7,240
0%
> What is that, if I may ask?
That's in my `zfill-mode' based on `refill-mode', and the function is part
of
the machinery to handle the automatic refilling of org paragraph.
> + ac-handle-post-command 2985 56%
> + timer-event-handler 1786 33%
> + redisplay_internal (C function) 131 2%
[...]
> So I suspected the `auto-complete'. I tried M-x auto-complete to turn it
off
> which worked, the typing was fast again. M-x auto-complete to turn it
back on
> and typing became extremely slow again.
> Indeed. auto-complete developers may be interested in your report. This
is not
> an Org bug, though.
Yes, it is highly possible to be a bug in `auto-complete' and I will report
it
to the `auto-complete' developers as soon as I get a bit more time. And I
totally understand if you decide not to spend time on this until I can
further
prove that this is still an org-mode problem. However, I think it might be
too
early to draw the conclusion at this point that this has nothing to do with
org-mode. This is because `auto-complete' started to manifest the problem
after
doing a bunch of org-mode specific operations, more specifically, after
running
`org-drlll' on 8 `org-mode' buffers, which suggested the possibility of the
leftover side effect introduced by org-mode operations. And the problem
could be
in `org-drlll', but also very possibly be in org-mode core because
`org-drlll'
uses the APIs provided by `org-mode' core.
Anyways, the other one I reported yesterday seemed to be related to
org-element
cache stuff and I will follow your suggestion to try to reproduce it. But I
may
not have much time this week anymore. Will definitely try it this weekend
for
sure.
Regards,
York
[-- Attachment #2: Type: text/html, Size: 2277 bytes --]
^ permalink raw reply [flat|nested] 70+ messages in thread
* Re: still seeing semi-regular lockups
2014-07-01 0:43 ` York Zhao
2014-07-01 7:38 ` Nicolas Goaziou
@ 2014-07-15 2:30 ` York Zhao
2014-07-19 3:17 ` Matt Lundin
1 sibling, 1 reply; 70+ messages in thread
From: York Zhao @ 2014-07-15 2:30 UTC (permalink / raw)
To: Eric Abrahamsen; +Cc: emacs-orgmode
[-- Attachment #1: Type: text/plain, Size: 423 bytes --]
> On Mon, Jun 30, 2014 at 8:43 PM, York Zhao <gtdplatform@gmail.com> wrote:
> I got the problem today, with org-mode version "815c218" in Emacs 24.3.1.
The
> error message is: if: Lisp nesting exceeds `max-lisp-eval-depth'.
Attached is
> the backtrace saved in a file. Hope this will help.
Just an update. I haven't been bitten by this deadly problem for awhile,
highly
likely that it had been fixed. Thanks a lot.
York
[-- Attachment #2: Type: text/html, Size: 560 bytes --]
^ permalink raw reply [flat|nested] 70+ messages in thread
* Re: still seeing semi-regular lockups
2014-07-15 2:30 ` York Zhao
@ 2014-07-19 3:17 ` Matt Lundin
2014-07-19 14:12 ` York Zhao
0 siblings, 1 reply; 70+ messages in thread
From: Matt Lundin @ 2014-07-19 3:17 UTC (permalink / raw)
To: York Zhao; +Cc: Eric Abrahamsen, emacs-orgmode
York Zhao <gtdplatform@gmail.com> writes:
>> On Mon, Jun 30, 2014 at 8:43 PM, York Zhao <gtdplatform@gmail.com>
> wrote:
>
>> I got the problem today, with org-mode version "815c218" in Emacs
> 24.3.1. The
>> error message is: if: Lisp nesting exceeds `max-lisp-eval-depth'.
> Attached is
>> the backtrace saved in a file. Hope this will help.
>
> Just an update. I haven't been bitten by this deadly problem for
> awhile, highly
> likely that it had been fixed. Thanks a lot.
FWIW, I'm still getting regular lockups with the cache. I'll dig into it
further when I have time.
Matt
^ permalink raw reply [flat|nested] 70+ messages in thread
* Re: still seeing semi-regular lockups
2014-07-19 3:17 ` Matt Lundin
@ 2014-07-19 14:12 ` York Zhao
0 siblings, 0 replies; 70+ messages in thread
From: York Zhao @ 2014-07-19 14:12 UTC (permalink / raw)
To: Matt Lundin; +Cc: Eric Abrahamsen, emacs-orgmode
[-- Attachment #1: Type: text/plain, Size: 323 bytes --]
> FWIW, I'm still getting regular lockups with the cache. I'll dig into it
> further when I have time.
I'm still being locked up from time to time, maybe less than before I guess.
What I said was that I never got the deadly problem of "Lisp nesting exceeds
`max-lisp-eval-depth", and the fix had been a life saver for me.
[-- Attachment #2: Type: text/html, Size: 396 bytes --]
^ permalink raw reply [flat|nested] 70+ messages in thread
* Re: still seeing semi-regular lockups
2014-07-07 5:27 ` Nicolas Goaziou
@ 2014-07-25 14:33 ` Sebastien Vauban
0 siblings, 0 replies; 70+ messages in thread
From: Sebastien Vauban @ 2014-07-25 14:33 UTC (permalink / raw)
To: emacs-orgmode-mXXj517/zsQ
Nicolas Goaziou wrote:
> York Zhao <gtdplatform-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> writes:
>
>> I'm sorry but I really shouldn't send this document to anyone other than a
>> lawyer :-)
>
> [...]
>
>> Just want to confirm that you want me to run this command in that buffer
>> and see
>> if the problem can be reproduced?
>
> Calling the provided command on your sensitive buffer will create a copy
> in a temporary buffer with all its contents hidden, just preserving
> structure.
>
> If you can reproduce the problem in this new buffer and no information
> leaked (the command is just a quick hack so be sure to check it is
> fine), you can send its the contents. There are bonus points if you can
> also explain me how to reproduce it.
I tested your functions on my huge Org LP file for my Emacs config. It
does work as a charm, preserving code blocks (necessary for
reproducibility purpose).
I think this should clearly make its way into Org code base...
Best regards,
Seb
--
Sebastien Vauban
^ permalink raw reply [flat|nested] 70+ messages in thread
end of thread, other threads:[~2014-07-25 14:33 UTC | newest]
Thread overview: 70+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-05-14 8:39 still seeing semi-regular lockups Eric Abrahamsen
2014-05-15 9:21 ` Bastien
2014-05-15 9:30 ` Daimrod
2014-05-15 9:46 ` Bastien
2014-05-15 10:31 ` Eric Abrahamsen
2014-05-15 10:37 ` Daimrod
2014-05-15 10:43 ` Eric Abrahamsen
2014-05-19 14:21 ` Daimrod
2014-05-20 8:25 ` Eric Abrahamsen
2014-05-20 8:55 ` Daimrod
2014-05-20 11:16 ` Eric Abrahamsen
2014-06-24 8:48 ` Nicolas Goaziou
2014-06-24 14:28 ` Eric Abrahamsen
2014-06-25 4:09 ` Matt Lundin
2014-06-25 5:39 ` Matt Lundin
2014-06-25 7:32 ` Sebastien Vauban
2014-06-27 13:00 ` Nicolas Goaziou
2014-06-25 7:38 ` Daimrod
2014-06-25 8:22 ` Eric Abrahamsen
2014-06-25 8:30 ` Bastien
2014-06-25 8:40 ` Eric Abrahamsen
2014-06-25 13:47 ` Matt Lundin
2014-06-26 2:58 ` Matt Lundin
2014-06-26 3:00 ` Matt Lundin
2014-06-27 12:56 ` Nicolas Goaziou
2014-06-27 13:37 ` Alan Schmitt
2014-06-27 22:31 ` Nicolas Goaziou
2014-06-28 19:27 ` Eric Abrahamsen
2014-06-29 1:39 ` York Zhao
2014-06-29 2:23 ` Eric Abrahamsen
2014-06-30 1:15 ` York Zhao
2014-06-30 1:43 ` York Zhao
2014-06-30 20:20 ` Alan Schmitt
2014-07-01 0:43 ` York Zhao
2014-07-01 7:38 ` Nicolas Goaziou
2014-07-01 17:14 ` York Zhao
2014-07-01 21:15 ` York Zhao
2014-07-02 8:01 ` Nicolas Goaziou
2014-07-03 1:03 ` York Zhao
2014-07-06 7:28 ` Nicolas Goaziou
2014-07-06 14:40 ` York Zhao
2014-07-06 21:05 ` York Zhao
2014-07-06 21:31 ` Nicolas Goaziou
2014-07-07 0:16 ` York Zhao
2014-07-07 5:27 ` Nicolas Goaziou
2014-07-25 14:33 ` Sebastien Vauban
2014-07-07 1:43 ` York Zhao
2014-07-07 5:33 ` Nicolas Goaziou
2014-07-07 15:10 ` York Zhao
2014-07-03 15:31 ` York Zhao
2014-07-03 15:55 ` York Zhao
2014-07-06 7:19 ` Nicolas Goaziou
2014-07-06 14:29 ` York Zhao
2014-07-15 2:30 ` York Zhao
2014-07-19 3:17 ` Matt Lundin
2014-07-19 14:12 ` York Zhao
2014-06-29 13:58 ` Nicolas Goaziou
2014-05-29 3:01 ` Daimrod
2014-05-30 9:17 ` Nicolas Goaziou
2014-05-30 14:35 ` Daimrod
2014-06-11 11:53 ` Daimrod
2014-06-11 21:30 ` Nicolas Goaziou
2014-06-11 22:18 ` Daimrod
2014-06-14 7:43 ` Nicolas Goaziou
2014-06-14 23:55 ` Daimrod
2014-06-22 7:58 ` Nicolas Goaziou
2014-06-04 4:47 ` Eric Abrahamsen
2014-06-05 4:29 ` Daimrod
-- strict thread matches above, loose matches on Subject: below --
2014-05-14 11:06 dieter
2014-05-15 2:29 ` Eric Abrahamsen
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).