unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
From: carlmarcos--- via Users list for the GNU Emacs text editor <help-gnu-emacs@gnu.org>
To: Eli Zaretskii <eliz@gnu.org>
Cc: help-gnu-emacs@gnu.org
Subject: Re: [External] : Tab completion and electric-indent-mode
Date: Sat, 18 Jun 2022 10:05:54 +0200 (CEST)	[thread overview]
Message-ID: <N4pqCRj--3-2@tutanota.com> (raw)
In-Reply-To: <83pmj6o4gk.fsf@gnu.org>


Jun 18, 2022, 06:44 by eliz@gnu.org:

>> Date: Sat, 18 Jun 2022 05:45:06 +0200 (CEST)
>> From: carlmarcos@tutanota.com
>> Cc: help-gnu-emacs@gnu.org
>>
>>  But before you do, I suggest to check the latest code, because the
>>  above quotations are obsolete.
>>
>> Have looked /emacs/lisp/electric.el which now describes command loop for `electric' modes.
>>
>> Still think there should be clear explanations on the level of indentations emacs does.
>> This is because reindentation typically refers to an indentation enhancement compared to
>> some basic indentation method.  "On-the-Fly Reindentation" also has difficulty of interpretation.
>> Does there exist indentation that is "Not On-the-Fly"?  What would that do?
>>
>> Have viewed the main repository
>>
>> define-minor-mode electric-indent-mode
>>
>> says
>>
>> When enabled, this reindents whenever the hook `electric-indent-functions'
>> returns non-nil,  I do not find the comment informative regarding the types of
>> reindents.
>>
>
> I don't know in which place you looked, but the above is just a small
> part of what the doc string says.  You omitted the parts that are
> supposed to answer your questions.  In particular, the doc string does
> attempt to explain what "reindent" means.
>
>> electric-indent-functions states that it is a special hook run to decide whether to auto-indent.
>>
>
> Why are you focusing on electric-indent-functions?  In most cases, the
> cause of electric reindentation is not that function, but what the
> rest of the sentence says:
>
>  ...or if you insert one of the "electric characters".
>
Ok


>> Additionally, reindent means that an indentation scheme would have been applied
>> already, supposedly composed of a simpler indent scheme.
>>
>> Can information be introduced on how indentation and re-indentation works and the conditions
>> by which indentation is applied?
>>
>
> What exactly indentation and reindentation do depends on the current
> major mode.  electric-indent-mode just makes the mode-specific
> indentation to happen automatically in certain situations, where Emacs
> thinks the user expects reindentation.
>
> If you want to know how a specific major mode indents text, you need
> to look for answers in that mode, not in electric-indent-mode, because
> the latter simply cannot give you the answer.
>

How can a user get that information, are there commands for that?

>> There needs to be clear explanations of what indentation and reindentation do and under what 
>> conditions as the current information is developer targeted but not user targeted.
>>
>
> Here's the full doc string of electric-indent-mode in the current
> development version of Emacs:
>
>  Toggle on-the-fly reindentation of text lines (Electric Indent mode).
>
>  When enabled, this reindents whenever the hook `electric-indent-functions'
>  returns non-nil, or if you insert one of the "electric characters".
>  The electric characters normally include the newline, but can
>  also include other characters as needed by the major mode; see
>  `electric-indent-chars' for the actual list.
>
>  By "reindent" we mean remove any existing indentation, and then
>  indent the line according to context and rules of the major mode.
>
Can there be a clarification that reindentation removes the existing indentation
with new indentation rules applied?


>  This is a global minor mode.  To toggle the mode in a single buffer,
>  use `electric-indent-local-mode'.
>
> Given that electric-indent-mode doesn't know (and doesn't care) about
> the major-mode's specific indentation rules, the above explains what
> the minor mode itself does, including what is meant by
> "reindentation".  The rest of the details are in the documentation of
> the major modes, and you should look there for more information.
>



  reply	other threads:[~2022-06-18  8:05 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-06-17 11:59 Tab completion and electric-indent-mode carlmarcos--- via Users list for the GNU Emacs text editor
2022-06-17 14:10 ` [External] : " Drew Adams
2022-06-17 14:14   ` carlmarcos--- via Users list for the GNU Emacs text editor
2022-06-17 15:33   ` Eli Zaretskii
2022-06-18  3:45     ` carlmarcos--- via Users list for the GNU Emacs text editor
2022-06-18  6:44       ` Eli Zaretskii
2022-06-18  8:05         ` carlmarcos--- via Users list for the GNU Emacs text editor [this message]
2022-06-18  8:17           ` Eli Zaretskii
2022-06-18 15:35             ` carlmarcos--- via Users list for the GNU Emacs text editor
2022-06-18 16:20               ` Eli Zaretskii
2022-06-18  9:15       ` Eric S Fraga
2022-06-19  2:26         ` carlmarcos--- via Users list for the GNU Emacs text editor
2022-06-22 10:46           ` Eric S Fraga
2022-06-18 23:10       ` Drew Adams
2022-06-18 23:19         ` Drew Adams
2022-06-17 17:41   ` Emanuel Berg
2022-06-18  4:20     ` carlmarcos--- via Users list for the GNU Emacs text editor

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

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=N4pqCRj--3-2@tutanota.com \
    --to=help-gnu-emacs@gnu.org \
    --cc=carlmarcos@tutanota.com \
    --cc=eliz@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.
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).