[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [BUG] Source block indentation does not work properly for yaml-mode
From: |
Ihor Radchenko |
Subject: |
Re: [BUG] Source block indentation does not work properly for yaml-mode [9.6.6 ( @ /home/user/.emacs.d/elpa/org-9.6.6/)] |
Date: |
Mon, 03 Jul 2023 13:05:41 +0000 |
Sébastien Miquel <sebastien.miquel@posteo.eu> writes:
>> May you please provide an example when it is necessary?
>> `org-indent-line' will run `org-babel-do-key-sequence-in-edit-buffer', so
>> it should still use `org-src--contents-for-write-back' and will not
>> modify the org buffer text directly.
>
> You're at the end of a line, you press =org-return-and-indent=.
> 1. It adds a newline character.
> 2. =org-indent-line= adds the org indentation, _before_ calling
> =org-babel-do-key-sequence-in-edit-buffer=
I missed this:
;; At the beginning of a blank line, do some preindentation. This
;; signals org-src--edit-element to preserve the indentation on
exit
> 3. The native edit call removes the common indentation, before
> calling tab in the native buffer.
> 4. Calling tab in the native buffer possibly does nothing.
> 5. =org-src--contents-for-write-back= sees the current line is empty,
> but it should indent it (with org indentation) nonetheless.
Ok. I understand better now (I think).
We are talking about
\t#+begin_src bash
\tcd foo<point>
\t#+end_src
and user pressing <RET>
Then, the expected result is
\t#+begin_src bash
\tcd foo
\t<point>
\t#+end_src
with <point> being aligned with "cd foo" above.
Alternatively,
\t#+begin_src emacs-lisp
\t(when t<point>
\t#+end_src
<RET> should yield indentation in src block as well
\t#+begin_src emacs-lisp
\t(when t
\t <point>
\t#+end_src
-------------
For the second scenario, no special treatment of current line is needed.
For the first scenario, why do we need to do it all the way in
`org-src--contents-for-write-back'? Why not directly in
`org-indent-line'?
>> Before your change, all the blank non-empty lines were unconditionally
>> removed. After your change, the first such line is removed and the
>> function returns nil without continuing.
>
> I don't understand. With this change, the function only stops if it
> finds a non blank line with less than n indentation (same as before).
> When a blank line with less than n indentation is found, it is emptied
> (same as before), and execution continues.
Never mind this. I misread the code. Thought that `throw' is called on
blank lines.
>> Since not removing blank lines is intentional after the change, why
>> doing it on a single line that is indented less than N?
>
> Are you advocating for computing N using blank lines as well ?
No. It was a misunderstanding.
--
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>
- Re: [BUG] Source block indentation does not work properly for yaml-mode [9.6.6 ( @ /home/user/.emacs.d/elpa/org-9.6.6/)], Ihor Radchenko, 2023/07/01
- Re: [BUG] Source block indentation does not work properly for yaml-mode [9.6.6 ( @ /home/user/.emacs.d/elpa/org-9.6.6/)], Sébastien Miquel, 2023/07/01
- Re: [BUG] Source block indentation does not work properly for yaml-mode [9.6.6 ( @ /home/user/.emacs.d/elpa/org-9.6.6/)], Ihor Radchenko, 2023/07/03
- Re: [BUG] Source block indentation does not work properly for yaml-mode [9.6.6 ( @ /home/user/.emacs.d/elpa/org-9.6.6/)], Sébastien Miquel, 2023/07/03
- Re: [BUG] Source block indentation does not work properly for yaml-mode [9.6.6 ( @ /home/user/.emacs.d/elpa/org-9.6.6/)],
Ihor Radchenko <=
- Re: [BUG] Source block indentation does not work properly for yaml-mode [9.6.6 ( @ /home/user/.emacs.d/elpa/org-9.6.6/)], Sébastien Miquel, 2023/07/03
- Re: [BUG] Source block indentation does not work properly for yaml-mode [9.6.6 ( @ /home/user/.emacs.d/elpa/org-9.6.6/)], Ihor Radchenko, 2023/07/04
- Re: [BUG] Source block indentation does not work properly for yaml-mode [9.6.6 ( @ /home/user/.emacs.d/elpa/org-9.6.6/)], Sébastien Miquel, 2023/07/06
- Re: [BUG] Source block indentation does not work properly for yaml-mode [9.6.6 ( @ /home/user/.emacs.d/elpa/org-9.6.6/)], Ihor Radchenko, 2023/07/07
- Re: [BUG] Source block indentation does not work properly for yaml-mode [9.6.6 ( @ /home/user/.emacs.d/elpa/org-9.6.6/)], Ihor Radchenko, 2023/07/07
- Re: [BUG] Source block indentation does not work properly for yaml-mode [9.6.6 ( @ /home/user/.emacs.d/elpa/org-9.6.6/)], Sébastien Miquel, 2023/07/07
- Re: [BUG] Source block indentation does not work properly for yaml-mode [9.6.6 ( @ /home/user/.emacs.d/elpa/org-9.6.6/)], Ihor Radchenko, 2023/07/08
- Re: [BUG] Source block indentation does not work properly for yaml-mode [9.6.6 ( @ /home/user/.emacs.d/elpa/org-9.6.6/)], Sébastien Miquel, 2023/07/09
- Re: [BUG] Source block indentation does not work properly for yaml-mode [9.6.6 ( @ /home/user/.emacs.d/elpa/org-9.6.6/)], Ihor Radchenko, 2023/07/10
- [BUG] org-list-struct-apply-struct overrides src block indentation (was: [BUG] Source block indentation does not work properly for yaml-mode [9.6.6 ( @ /home/user/.emacs.d/elpa/org-9.6.6/)]), Ihor Radchenko, 2023/07/07