Bug: Logbook drawer and org-adapt-indentation with value headline-data [9.4 (9.4-7-g3eccc5-elpaplus @ /home/gustavo/.emacs.d/elpa/org-plus-contrib-20200921/)]
Hi All, the new release brought the interesting value `headline-data' to the option `org-adapt-indentation'. However it introduces some issues regarding the indentation of log entries in the `LOGBOOK' drawer, which I describe below. An ECM to reproduce the issue is: - Start 'emacs -Q' - Do an initial setup: #+begin_src emacs-lisp (add-to-list 'load-path "~/.emacs.d/elpa/org-plus-contrib-20200921") ;; This is the latest Org weekly build (Org 9.4) (setq org-adapt-indentation 'headline-data) (setq org-log-into-drawer t) (setq org-todo-keywords '((sequence "TODO(t)" "DONE(d@)"))) #+end_src - Open file "~/org/test.org", with contents: #+begin_src org ,** Foo #+end_src - Change the todo state of "Foo" to "DONE" and add a corresponding note with "C-c C-t d Baz C-c C-c". - After expanding the `LOGBOOK' drawer we find: #+begin_src org ,** DONE Foo :LOGBOOK: - State "DONE" from [2020-09-21 Mon 16:19] \\ Baz :END: #+end_src In which we find that the drawer itself is honoring the setting in `org-adapt-indentation' whereas the content of the drawer is not. And it is expected that it did. - After that, move point to the headline and demote it with "" and examine the buffer again to find: #+begin_src org ,*** DONE Foo :LOGBOOK: - State "DONE" from [2020-09-21 Mon 16:19] \\ Baz :END: #+end_src We now see the demotion did bring the content of `LOGBOOK' to align with the headline, but in doing so, broke the plain list structure of the note, removing the indent of "Baz", which is also not expected. Best regards, Gustavo. Emacs : GNU Emacs 27.1 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.20, cairo version 1.16.0) of 2020-08-11 Package: Org mode version 9.4 (9.4-7-g3eccc5-elpaplus @ /home/gustavo/.emacs.d/elpa/org-plus-contrib-20200921/) current state: == (setq org-src-mode-hook '(org-src-babel-configure-edit-buffer org-src-mode-configure-edit-buffer) org-link-shell-confirm-function 'yes-or-no-p org-metadown-hook '(org-babel-pop-to-session-maybe) org-clock-out-hook '(org-clock-remove-empty-clock-drawer) org-mode-hook '(#[0 "\300\301\302\303\304$\207" [add-hook change-major-mode-hook org-show-all append local] 5] #[0 "\300\301\302\303\304$\207" [add-hook change-major-mode-hook org-babel-show-result-all append local] 5] org-babel-result-hide-spec org-babel-hide-all-hashes org-eldoc-load) org-archive-hook '(org-attach-archive-delete-maybe) org-confirm-elisp-link-function 'yes-or-no-p org-agenda-before-write-hook '(org-agenda-add-entry-text) org-metaup-hook '(org-babel-load-in-session-maybe) org-bibtex-headline-format-function #[257 "\300\236A\207" [:title] 3 "\n\n(fn ENTRY)"] org-adapt-indentation 'headline-data org-babel-pre-tangle-hook '(save-buffer) org-tab-first-hook '(org-babel-hide-result-toggle-maybe org-babel-header-arg-expand) org-agenda-loop-over-headlines-in-active-region nil org-src-lang-modes '(("arduino" . arduino) ("redis" . redis) ("php" . php) ("C" . c) ("C++" . c++) ("asymptote" . asy) ("bash" . sh) ("beamer" . latex) ("calc" . fundamental) ("cpp" . c++) ("ditaa" . artist) ("dot" . fundamental) ("elisp" . emacs-lisp) ("ocaml" . tuareg) ("screen" . shell-script) ("shell" . sh) ("sqlite" . sql)) org-occur-hook '(org-first-headline-recenter) org-log-into-drawer t org-cycle-hook '(org-cycle-hide-archived-subtrees org-cycle-hide-drawers org-cycle-show-empty-lines org-optimize-window-after-visibility-change) org-todo-keywords '((sequence "TODO(t)" "DONE(d@)")) org-speed-command-hook '(org-speed-command-activate org-babel-speed-command-activate) org-export-before-parsing-hook '(org-attach-expand-links) org-confirm-shell-link-function 'yes-or-no-p org-link-parameters '(("attachment" :follow org-attach-follow :complete org-attach-complete-link) ("id" :follow org-id-open) ("eww" :follow org-eww-open :store org-eww-store-link) ("rmail" :follow org-rmail-open :store org-rmail-store-link) ("mhe" :follow org-mhe-open :store org-mhe-store-link) ("irc" :follow org-irc-visit :store org-irc-store-link :export org-irc-export) ("info" :follow org-info-open :export org-info-export :store org-info-store-link) ("gnus" :follow org-gnus-open :store org-gnus-store-link) ("docview" :follow org-docview-open :export org-docview-export :store org-docview-store-link) ("bibtex" :follow org-bibtex-open :store org-bibtex-store-link) ("bbdb" :follow org-bbdb-open :export org-bbdb-export :complete org-bbdb-complete-link :store org-bbdb-store-link) ("w3m" :store org-w3m-store-link) ("file+sys") ("file+emacs") ("shell" :follo
Re: Bug: Logbook drawer and org-adapt-indentation with value headline-data [9.4 (9.4-7-g3eccc5-elpaplus @ /home/gustavo/.emacs.d/elpa/org-plus-contrib-20200921/)]
I tried reproducing this, but I am having difficulties. "Baz" and the " - State" stayed correctly aligned as I would have expected them, and not as you have shown them. I am on emacs 28.0.50 though so maybe that has made the difference, with org compiled from master as of a day or two ago. Nick On Mon, Sep 21, 2020, at 15:37, Gustavo Barros wrote: > Hi All, > > the new release brought the interesting value `headline-data' to the > option `org-adapt-indentation'. However it introduces some issues > regarding the indentation of log entries in the `LOGBOOK' drawer, which > I describe below. > > An ECM to reproduce the issue is: > > - Start 'emacs -Q' > > - Do an initial setup: > #+begin_src emacs-lisp > (add-to-list 'load-path "~/.emacs.d/elpa/org-plus-contrib-20200921") > ;; This is the latest Org weekly build (Org 9.4) > (setq org-adapt-indentation 'headline-data) > (setq org-log-into-drawer t) > (setq org-todo-keywords '((sequence "TODO(t)" "DONE(d@)"))) > #+end_src > > - Open file "~/org/test.org", with contents: > #+begin_src org > ,** Foo > #+end_src > > - Change the todo state of "Foo" to "DONE" and add a corresponding note > with "C-c C-t d Baz C-c C-c". > > - After expanding the `LOGBOOK' drawer we find: > #+begin_src org > ,** DONE Foo > :LOGBOOK: > - State "DONE" from [2020-09-21 Mon 16:19] \\ > Baz > :END: > #+end_src > > In which we find that the drawer itself is honoring the setting in > `org-adapt-indentation' whereas the content of the drawer is not. And > it is expected that it did. > > - After that, move point to the headline and demote it with "" > and examine the buffer again to find: > #+begin_src org > ,*** DONE Foo > :LOGBOOK: > - State "DONE" from [2020-09-21 Mon 16:19] \\ > Baz > :END: > #+end_src > > We now see the demotion did bring the content of `LOGBOOK' to align > with the headline, but in doing so, broke the plain list structure of > the note, removing the indent of "Baz", which is also not expected. > > > Best regards, > Gustavo. > > > > > Emacs : GNU Emacs 27.1 (build 1, x86_64-pc-linux-gnu, GTK+ Version > 3.24.20, cairo version 1.16.0) > of 2020-08-11 > Package: Org mode version 9.4 (9.4-7-g3eccc5-elpaplus @ > /home/gustavo/.emacs.d/elpa/org-plus-contrib-20200921/) > > current state: > == > (setq > org-src-mode-hook '(org-src-babel-configure-edit-buffer > org-src-mode-configure-edit-buffer) > org-link-shell-confirm-function 'yes-or-no-p > org-metadown-hook '(org-babel-pop-to-session-maybe) > org-clock-out-hook '(org-clock-remove-empty-clock-drawer) > org-mode-hook '(#[0 "\300\301\302\303\304$\207" [add-hook > change-major-mode-hook org-show-all append local] 5] >#[0 "\300\301\302\303\304$\207" > [add-hook change-major-mode-hook > org-babel-show-result-all append local] 5] >org-babel-result-hide-spec org-babel-hide-all-hashes >org-eldoc-load) > org-archive-hook '(org-attach-archive-delete-maybe) > org-confirm-elisp-link-function 'yes-or-no-p > org-agenda-before-write-hook '(org-agenda-add-entry-text) > org-metaup-hook '(org-babel-load-in-session-maybe) > org-bibtex-headline-format-function #[257 "\300\236A\207" [:title] 3 > "\n\n(fn ENTRY)"] > org-adapt-indentation 'headline-data > org-babel-pre-tangle-hook '(save-buffer) > org-tab-first-hook '(org-babel-hide-result-toggle-maybe > org-babel-header-arg-expand) > org-agenda-loop-over-headlines-in-active-region nil > org-src-lang-modes '(("arduino" . arduino) ("redis" . redis) ("php" > . php) ("C" . c) ("C++" . c++) > ("asymptote" . asy) ("bash" . sh) ("beamer" > . latex) ("calc" . fundamental) ("cpp" . c++) > ("ditaa" . artist) ("dot" . fundamental) ("elisp" > . emacs-lisp) ("ocaml" . tuareg) > ("screen" . shell-script) ("shell" . sh) ("sqlite" > . sql)) > org-occur-hook '(org-first-headline-recenter) > org-log-into-drawer t > org-cycle-hook '(org-cycle-hide-archived-subtrees > org-cycle-hide-drawers org-cycle-show-empty-lines > org-optimize-window-after-visibility-change) > org-todo-keywords '((sequence "TODO(t)" "DONE(d@)")) > org-speed-command-hook '(org-speed-command-activate > org-babel-speed-command-activate) > org-export-before-parsing-hook '(org-attach-expand-links) > org-confirm-shell-link-function 'yes-or-no-p > org-link-parameters '(("attachment" :follow org-attach-follow :complete > org-attach-complete-link) > ("id" :follow org-id-open) ("eww" :follow > org-eww-open :store org-eww-store-link) > ("rmail" :follow org-rmail-open :store > org-rmail-store-link) > ("mhe" :follow org-mhe-
Re: Bug: Logbook drawer and org-adapt-indentation with value headline-data [9.4 (9.4-7-g3eccc5-elpaplus @ /home/gustavo/.emacs.d/elpa/org-plus-contrib-20200921/)]
Hi Nick, On Mon, 21 Sep 2020 at 19:06, "Nicholas Savage" wrote: > I tried reproducing this, but I am having difficulties. "Baz" and the " - > State" stayed correctly aligned as I would have expected them, and not as you > have shown them. > > I am on emacs 28.0.50 though so maybe that has made the difference, with org > compiled from master as of a day or two ago. > > Nick > thank you for looking into it. You mentioned that you could not reproduce the second issue, but could you reproduce the first? (That is, the note being inserted at the margin rather than indented with the drawer). Anyway, indeed the Emacs and Org versions might be making a difference. Let's see if anyone else can reproduce. Gustavo.
Re: Bug: Logbook drawer and org-adapt-indentation with value headline-data [9.4 (9.4-7-g3eccc5-elpaplus @ /home/gustavo/.emacs.d/elpa/org-plus-contrib-20200921/)]
Hi Gustavo, Gustavo Barros writes: > the new release brought the interesting value `headline-data' to the > option `org-adapt-indentation'. However it introduces some issues > regarding the indentation of log entries in the `LOGBOOK' drawer, which > I describe below. I can reproduce this bug, I will try to fix it. Thanks. -- Bastien
Re: Bug: Logbook drawer and org-adapt-indentation with value headline-data [9.4 (9.4-7-g3eccc5-elpaplus @ /home/gustavo/.emacs.d/elpa/org-plus-contrib-20200921/)]
Hi Gustavo, sorry it took so long to get back to this. Bastien writes: > Gustavo Barros writes: > >> the new release brought the interesting value `headline-data' to the >> option `org-adapt-indentation'. However it introduces some issues >> regarding the indentation of log entries in the `LOGBOOK' drawer, which >> I describe below. > > I can reproduce this bug, I will try to fix it. Thanks. This should be fixed with commit 730a05f78. Thanks!
Re: Bug: Logbook drawer and org-adapt-indentation with value headline-data [9.4 (9.4-7-g3eccc5-elpaplus @ /home/gustavo/.emacs.d/elpa/org-plus-contrib-20200921/)]
Bastien writes: > This should be fixed with commit 730a05f78. > ;; FIXME: when storing a note in a LOGBOOK drawer, > ;; `org-store-log-note' needs to insert a new line before > ;; the newly inserted note, thus the `type' at point will > ;; return `paragraph' instead of the expected `drawer', so > ;; we need to manually detect the drawer. Maybe you can use (eq (org-element-type (car (org-element-lineage element))) 'drawer) A quick test showed that org-element-lineage can detect drawer even when element is a note inside LOGBOOK drawer. Best, Ihor
Re: Bug: Logbook drawer and org-adapt-indentation with value headline-data [9.4 (9.4-7-g3eccc5-elpaplus @ /home/gustavo/.emacs.d/elpa/org-plus-contrib-20200921/)]
Ihor Radchenko writes: > Maybe you can use > > (eq (org-element-type (car (org-element-lineage element))) 'drawer) Indeed, thanks for the tip! Committed as 26d1d29cf.
Re: Bug: Logbook drawer and org-adapt-indentation with value headline-data [9.4 (9.4-7-g3eccc5-elpaplus @ /home/gustavo/.emacs.d/elpa/org-plus-contrib-20200921/)]
On Tue, 27 Apr 2021 at 04:29, Bastien wrote: Ihor Radchenko writes: Maybe you can use (eq (org-element-type (car (org-element-lineage element))) 'drawer) Indeed, thanks for the tip! Committed as 26d1d29cf. Bastien and Ihor, thank you! Gustavo.