Re: [O] adapted org-flag-drawer to hide newlines of consecutive drawers to save lines
Hello, Bastien b...@gnu.org writes: If M-x org-element-cache-reset RET always solve such problems, then my problems was not related to the cache, as org-element-cache-reset did not solve it. The only reliable way to know if it is cache related is to try with `org-element-use-cache' set to nil. Regards, -- Nicolas Goaziou
Re: [O] adapted org-flag-drawer to hide newlines of consecutive drawers to save lines
Nicolas Goaziou n.goaz...@gmail.com writes: The only reliable way to know if it is cache related is to try with `org-element-use-cache' set to nil. Right, I'll try this for a while if I'm hit again by the bug. -- Bastien
Re: [O] adapted org-flag-drawer to hide newlines of consecutive drawers to save lines
Hello, Bastien b...@gnu.org writes: Thanks for the details. I think I've seen the cache corrupted several times, I didn't know it was this. Any direction on how to debug such problems? Not really. Cache bugs are a bit difficult to resolve because there can be quite a long time between the cause and the consequence. I'm hunting down two bugs related to lists. I understand the first one but the second one still eludes me. The symptoms were that moving around with M-down and friends was completely erratic. OK. I'll look into it. Regards, -- Nicolas Goaziou
Re: [O] adapted org-flag-drawer to hide newlines of consecutive drawers to save lines
Hi Nicolas, Nicolas Goaziou n.goaz...@gmail.com writes: The symptoms were that moving around with M-down and friends was completely erratic. OK. I'll look into it. If M-x org-element-cache-reset RET always solve such problems, then my problems was not related to the cache, as org-element-cache-reset did not solve it. Anyway, thanks for looking into this. -- Bastien
Re: [O] adapted org-flag-drawer to hide newlines of consecutive drawers to save lines
Hello, Bastien b...@gnu.org writes: Beside, `org-flag-drawer' is currently under revision since Michael report on slowliness (and recent discussion with Tod and Aaron.) I rewrote `org-flag-drawer' a few days ago. It shouldn't be slow if cache is activated. Regards, -- Nicolas Goaziou
Re: [O] adapted org-flag-drawer to hide newlines of consecutive drawers to save lines
Hi Nicolas, Nicolas Goaziou n.goaz...@gmail.com writes: Bastien b...@gnu.org writes: Beside, `org-flag-drawer' is currently under revision since Michael report on slowliness (and recent discussion with Tod and Aaron.) I rewrote `org-flag-drawer' a few days ago. It shouldn't be slow if cache is activated. Is the cache activated by default? If so, does it come with some inconveniency? If not, should we simply activate it all the time? Thanks, -- Bastien
Re: [O] adapted org-flag-drawer to hide newlines of consecutive drawers to save lines
Bastien b...@gnu.org writes: Is the cache activated by default? Yes, it is. There's an emergency variable, `org-element-use-cache' to disable it, but it should be used for debugging purpose only. From the user point of view, if the cache appears to be corrupted due to a bug, it may be simpler to call `org-element-cache-reset'. If so, does it come with some inconveniency? As every cache, you pay the full price the first time you fill it. For example, there may be a small overhead when opening an Org file. Most editing operations only remove the current element from the cache, but some of them (mostly operations on blocks and drawers boundaries) delete larger parts of it. As such, these are more expensive than the average. If not, should we simply activate it all the time? We really should. Regards, -- Nicolas Goaziou
Re: [O] adapted org-flag-drawer to hide newlines of consecutive drawers to save lines
Thanks for the details. I think I've seen the cache corrupted several times, I didn't know it was this. Any direction on how to debug such problems? The symptoms were that moving around with M-down and friends was completely erratic. -- Bastien
[O] adapted org-flag-drawer to hide newlines of consecutive drawers to save lines
Often several consecutive drawers follow the headline in my setup. Maybe this code to hide newlines after drawers is of some use. When drawers are hidden this wastes three lines of screen real estate : * heading : :LOGBOOK:... : :CLOCK:... : :PROPERTIES:... per line. I adapted org-flag-drawer to hide the newlines as well if another drawer is following: : * heading : :LOGBOOK:...:CLOCK:...:PROPERTIES:... This lead to a much denser editing experience. Maybe this is not the best way to do this. But this trick caused no troubles for me during the last months. All the best! Gregor #+BEGIN_SRC emacs-lisp (defun org-flag-drawer (flag) When FLAG is non-nil, hide the drawer we are within, including the newline at end of a drawer, yet only if another drawer is following. If FLAG is nil, make drawer it visible. (save-excursion (beginning-of-line 1) (when (looking-at ^[ \t]*:[a-zA-Z][a-zA-Z0-9]*:) (let ((b (match-end 0)) (selective-display-ellipses nil)) (if (re-search-forward ^[ \t]*:END: (save-excursion (outline-next-heading) (point)) t) (outline-flag-region b (save-excursion (forward-line) (if (looking-at org-drawer-regexp) (point-at-bol) (match-end 0))) flag) (error :END: line missing at position %s in buffer %s b (buffer-name))) #+END_SRC Refererences -- org.el::org-cycle-hide-drawers --
Re: [O] adapted org-flag-drawer to hide newlines of consecutive drawers to save lines
Hi Gregor, Gregor Kappler g.kapp...@gmx.net writes: When drawers are hidden this wastes three lines of screen real estate : * heading : :LOGBOOK:... : :CLOCK:... : :PROPERTIES:... per line. I adapted org-flag-drawer to hide the newlines as well if another drawer is following: : * heading : :LOGBOOK:...:CLOCK:...:PROPERTIES:... This lead to a much denser editing experience. Probably a matter of taste, so I won't argue too much, but I'd rather stick to the current folding style, where ... consistently means that there is a hidden region. Beside, `org-flag-drawer' is currently under revision since Michael report on slowliness (and recent discussion with Tod and Aaron.) Best, -- Bastien