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/)]

2020-09-21 Thread Gustavo Barros

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/)]

2020-09-21 Thread Nicholas Savage
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/)]

2020-09-21 Thread Gustavo Barros
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/)]

2020-12-22 Thread Bastien
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/)]

2021-04-26 Thread Bastien
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/)]

2021-04-27 Thread Ihor Radchenko
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/)]

2021-04-27 Thread Bastien
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/)]

2021-04-27 Thread Gustavo Barros



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.