* Bug: org-insert-heading-respect-content before first heading [9.4 (9.4-19-gb1de0c-elpaplus @ /home/gustavo/.emacs.d/elpa/org-plus-contrib-20201019/)] @ 2020-10-21 14:18 Gustavo Barros 2021-05-01 16:02 ` Bastien 0 siblings, 1 reply; 7+ messages in thread From: Gustavo Barros @ 2020-10-21 14:18 UTC (permalink / raw) To: emacs-orgmode Hi All, I just found a misbehaving of `org-insert-heading-respect-content': when it's called before the first heading in the buffer, it breaks the structure of that fist heading by inserting a new heading on the line the previous heading existed. 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-20201019") #+end_src - Visit file =test.org= with contents: #+begin_src org ,#+title: Title ,* Foo #+end_src - Place point between the title and the "Foo" heading, and call `org-insert-heading-respect-content' with "C-RET". - The result is: #+begin_src org ,#+title: Title ,* !* Foo #+end_src where "!" represents point position. Which clearly does not "respect content" of the following heading. 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-19-gb1de0c-elpaplus @ /home/gustavo/.emacs.d/elpa/org-plus-contrib-20201019/) 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-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-cycle-hook '(org-cycle-hide-archived-subtrees org-cycle-hide-drawers org-cycle-show-empty-lines org-optimize-window-after-visibility-change) 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" :follow org-link--open-shell) ("news" :follow #[514 "\301\300\302Q\"\207" ["news" browse-url ":"] 6 "\n\n(fn URL ARG)"]) ("mailto" :follow #[514 "\301\300\302Q\"\207" ["mailto" browse-url ":"] 6 "\n\n(fn URL ARG)"]) ("https" :follow #[514 "\301\300\302Q\"\207" ["https" browse-url ":"] 6 "\n\n(fn URL ARG)"]) ("http" :follow #[514 "\301\300\302Q\"\207" ["http" browse-url ":"] 6 "\n\n(fn URL ARG)"]) ("ftp" :follow #[514 "\301\300\302Q\"\207" ["ftp" browse-url ":"] 6 "\n\n(fn URL ARG)"]) ("help" :follow org-link--open-help) ("file" :complete org-link-complete-file) ("elisp" :follow org-link--open-elisp) ("doi" :follow org-link--open-doi)) org-link-elisp-confirm-function 'yes-or-no-p ) ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Bug: org-insert-heading-respect-content before first heading [9.4 (9.4-19-gb1de0c-elpaplus @ /home/gustavo/.emacs.d/elpa/org-plus-contrib-20201019/)] 2020-10-21 14:18 Bug: org-insert-heading-respect-content before first heading [9.4 (9.4-19-gb1de0c-elpaplus @ /home/gustavo/.emacs.d/elpa/org-plus-contrib-20201019/)] Gustavo Barros @ 2021-05-01 16:02 ` Bastien 2021-05-02 3:07 ` Gustavo Barros 0 siblings, 1 reply; 7+ messages in thread From: Bastien @ 2021-05-01 16:02 UTC (permalink / raw) To: Gustavo Barros; +Cc: emacs-orgmode Hi Gustavo, Gustavo Barros <gusbrs.2016@gmail.com> writes: > I just found a misbehaving of `org-insert-heading-respect-content': when > it's called before the first heading in the buffer, it breaks the > structure of that fist heading by inserting a new heading on the line > the previous heading existed. Fixed with commit fb3030188 in the maint branch, thanks a lot. Please test it and report any problem you may encounter. Thanks, -- Bastien ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Bug: org-insert-heading-respect-content before first heading [9.4 (9.4-19-gb1de0c-elpaplus @ /home/gustavo/.emacs.d/elpa/org-plus-contrib-20201019/)] 2021-05-01 16:02 ` Bastien @ 2021-05-02 3:07 ` Gustavo Barros 2021-05-02 6:54 ` Bastien 0 siblings, 1 reply; 7+ messages in thread From: Gustavo Barros @ 2021-05-02 3:07 UTC (permalink / raw) To: Bastien; +Cc: emacs-orgmode Hi Bastien, On Sat, 01 May 2021 at 13:02, Bastien <bzg@gnu.org> wrote: > Hi Gustavo, > > Gustavo Barros <gusbrs.2016@gmail.com> writes: > >> I just found a misbehaving of `org-insert-heading-respect-content': >> when >> it's called before the first heading in the buffer, it breaks the >> structure of that fist heading by inserting a new heading on the line >> the previous heading existed. > > Fixed with commit fb3030188 in the maint branch, thanks a lot. > > Please test it and report any problem you may encounter. Thank you very much. I just tested the fix and, indeed, `org-insert-heading-respect-content' no longer breaks the structure of the first heading. However, if I may add a nitpick, the value of `org-blank-before-new-entry' does not seem to be honored in this case. For default values, a distance of one blank line is ensured to the next heading. In the report's ECM, after the fix, the new heading is inserted immediately before it. (I'm not sure it is really `org-blank-before-new-entry' which is at play here, but the behavior is not the same before the first heading than it is after it, with respect to blank lines). Best, Gustavo. ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Bug: org-insert-heading-respect-content before first heading [9.4 (9.4-19-gb1de0c-elpaplus @ /home/gustavo/.emacs.d/elpa/org-plus-contrib-20201019/)] 2021-05-02 3:07 ` Gustavo Barros @ 2021-05-02 6:54 ` Bastien 2021-05-02 17:11 ` Gustavo Barros 0 siblings, 1 reply; 7+ messages in thread From: Bastien @ 2021-05-02 6:54 UTC (permalink / raw) To: Gustavo Barros; +Cc: emacs-orgmode Hi Gustavo, Gustavo Barros <gusbrs.2016@gmail.com> writes: > I just tested the fix and, indeed, > `org-insert-heading-respect-content' no longer breaks the structure of > the first heading. However, if I may add a nitpick, the value of > `org-blank-before-new-entry' does not seem to be honored in this case. > For default values, a distance of one blank line is ensured to the > next heading. My understanding is that `org-blank-before-new-entry' will ensure there is a blank line before the new entry, which is what I see. Let me know if there is something I miss here. Thanks! -- Bastien ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Bug: org-insert-heading-respect-content before first heading [9.4 (9.4-19-gb1de0c-elpaplus @ /home/gustavo/.emacs.d/elpa/org-plus-contrib-20201019/)] 2021-05-02 6:54 ` Bastien @ 2021-05-02 17:11 ` Gustavo Barros 2021-05-06 11:53 ` Bastien 0 siblings, 1 reply; 7+ messages in thread From: Gustavo Barros @ 2021-05-02 17:11 UTC (permalink / raw) To: Bastien; +Cc: emacs-orgmode Hi Bastien, On Sun, 02 May 2021 at 03:54, Bastien <bzg@gnu.org> wrote: > Hi Gustavo, > > Gustavo Barros <gusbrs.2016@gmail.com> writes: > >> I just tested the fix and, indeed, >> `org-insert-heading-respect-content' no longer breaks the structure >> of >> the first heading. However, if I may add a nitpick, the value of >> `org-blank-before-new-entry' does not seem to be honored in this >> case. >> For default values, a distance of one blank line is ensured to the >> next heading. > > My understanding is that `org-blank-before-new-entry' will ensure > there is a blank line before the new entry, which is what I see. > > Let me know if there is something I miss here. Thanks! Indeed, that's why I said I'm not sure `org-blank-before-new-entry' is the culprit here. Still, there is a difference of behavior in that regard if point is before or after the fist heading. An ECM to reproduce it is the following. From the situation ("|" represents point position), call `C-RET': #+begin_src org ,#+title: Title | ,* Foo ,* Bar ,* Baz #+end_src The result is: #+begin_src org ,#+title: Title ,* | ,* Foo ,* Bar ,* Baz #+end_src Now move point to: #+begin_src org ,#+title: Title ,* ,* Foo ,* Bar | ,* Baz #+end_src And call `C-RET'. The result is: #+begin_src org ,#+title: Title ,* ,* Foo ,* Bar ,* | ,* Baz #+end_src Not quite sure what is the cause, and also not absolutely sure what would be expected behavior. Since, if we now place point at: #+begin_src org ,#+title: Title ,* ,* Foo | ,* Bar ,* ,* Baz #+end_src And call `C-RET', we get: #+begin_src org ,#+title: Title ,* ,* Foo ,* | ,* Bar ,* ,* Baz #+end_src My guess, and this is just a hunch, is that the default value of `org-blank-before-new-entry', which by default is `auto' for `heading' is somehow backward looking, and hence has somewhat of a hard time in making the said "intelligent decision" as to how many blank lines to include. Particularly before the first heading. Indeed, I can understand the last case in that perspective, since the first heading we inserted has no blank line to "Foo", so that when inserting a new heading between "Foo" and "Bar" if we look right above "no blank line" is the rule to infer. And, if that first heading is removed, inserting a new one there, will behave just as it does between "Bar" and "Baz". This was all tested with `emacs -Q', version 27.2, and Org commit 3e497bec3. No variables changed, thus out-of-the-box experience. Anyway, as mentioned, "nitpick" level stuff, since you asked for testing. Best regards, Gustavo. ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Bug: org-insert-heading-respect-content before first heading [9.4 (9.4-19-gb1de0c-elpaplus @ /home/gustavo/.emacs.d/elpa/org-plus-contrib-20201019/)] 2021-05-02 17:11 ` Gustavo Barros @ 2021-05-06 11:53 ` Bastien 2021-05-06 12:15 ` Gustavo Barros 0 siblings, 1 reply; 7+ messages in thread From: Bastien @ 2021-05-06 11:53 UTC (permalink / raw) To: Gustavo Barros; +Cc: emacs-orgmode Hi Gustavo, certainly a nitpick, but I think a good one. I fixed this in the maint branch, please let me know if you notice any weirdness. Thanks again, -- Bastien ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Bug: org-insert-heading-respect-content before first heading [9.4 (9.4-19-gb1de0c-elpaplus @ /home/gustavo/.emacs.d/elpa/org-plus-contrib-20201019/)] 2021-05-06 11:53 ` Bastien @ 2021-05-06 12:15 ` Gustavo Barros 0 siblings, 0 replies; 7+ messages in thread From: Gustavo Barros @ 2021-05-06 12:15 UTC (permalink / raw) To: Bastien; +Cc: emacs-orgmode Hi Bastien, On Thu, 06 May 2021 at 08:53, Bastien <bzg@gnu.org> wrote: > I fixed this in the > maint branch, please let me know if you notice any weirdness. > It's looking good here now. Thanks again. Best, Gustavo. ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2021-05-06 12:18 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2020-10-21 14:18 Bug: org-insert-heading-respect-content before first heading [9.4 (9.4-19-gb1de0c-elpaplus @ /home/gustavo/.emacs.d/elpa/org-plus-contrib-20201019/)] Gustavo Barros 2021-05-01 16:02 ` Bastien 2021-05-02 3:07 ` Gustavo Barros 2021-05-02 6:54 ` Bastien 2021-05-02 17:11 ` Gustavo Barros 2021-05-06 11:53 ` Bastien 2021-05-06 12:15 ` Gustavo Barros
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).