From: Rasmus <rasmus@gmx.us>
To: emacs-orgmode@gnu.org
Subject: Re: org-tempo insertion incoherence (lack of indentation) or misunderstanding
Date: Thu, 01 Oct 2020 19:31:13 +0200 [thread overview]
Message-ID: <87v9ft97ku.fsf@gmx.us> (raw)
In-Reply-To: 20200907051510.fnfm745xttyghhaj@localhost.localdomain
Hi Bruno,
Bruno BEAUFILS <bruno@boulgour.com> writes:
> Let us imagine this simple org file :
>
> #+NAME: first
> #+begin_src org
>
> - an item
> - subitem
>
> #+end_src
>
> If the cursor is at the last line and I want to insert an org block,
> let's say an example, using org-tempo feature, I can type =<e=
> followed by tabulation.
>
> In that case I get something like
>
> #+NAME: second
> #+begin_src org
>
> - an item
> - subitem
>
> #+begin_example
>
> #+end_example
>
> #+end_src
>
> However if I get indentation role (for instance in exports) well I do
> not expect that but instead something like:
>
> #+NAME: third
> #+begin_src org
>
> - an item
> - subitem
>
> #+begin_example
>
> #+end_example
>
> #+end_src
>
> Are my expectations (and thus my use of indentation by org-mode
> understandings) wrong or is it a bug?
Whether the inserted block is indented depends on ‘org-get-indentation’
and thus the cursor’s position, at least in some cases.
In particular, if | is the cursor, run org-get-indentation for these two
examples to understand when you get indentation and when not:
1.
- a
|
2:
- a
|
In 1. you are making a new block outside the list, in 2. it is part of the
first item of the list. Both are valid.
> In the same spirit if before trying that I type tabulation then =<e=
> then tabulation again, nothing is inserted, aka org-tempo seems to work
> only when cursor is at the beginning of line.
>
> Am I right? Is it a feature or a bug?
You can have any amount of whitespace before expanding something a tempo
snippet. You can’t have anything but whitespace before expanding a tempo
snippet as a block must be the only thing on the line.
(there does appear to be a bug in expanding when there’s something after
the snippet:
- a
<e| b
I’m not sure what is the right thing to do with “b” in this case.)
> I expected that the example block would have been inserted /correctly/
> indented as in my third example above.
>
>
> The only solution I found for getting things right is to type spaces
> instead of tabulation to let my cursor go to the right column.
>
> Let us consider this snippet.
>
> #+NAME: fourth
> #+begin_src org
>
> - an item
> - subitem
> H
> #+end_src
>
> If the cursor is in the =H= position, then if I type =<e= then
> tabulation everything seems right and I get the same result as in
> <<third>>.
>
> Any help would appreciated.
AFAICT everything is working as expected.
Kind regards,
Rasmus
--
Even a three-legged dog has three good legs to lose
prev parent reply other threads:[~2020-10-01 18:10 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-09-07 5:15 org-tempo insertion incoherence (lack of indentation) or misunderstanding Bruno BEAUFILS
2020-10-01 17:31 ` Rasmus [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87v9ft97ku.fsf@gmx.us \
--to=rasmus@gmx.us \
--cc=emacs-orgmode@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.