From: Drew Adams <drew.adams@oracle.com>
To: rms@gnu.org
Cc: emacs-devel@gnu.org
Subject: RE: Should mode commands be idempotent?
Date: Fri, 22 Sep 2017 08:54:23 -0700 (PDT) [thread overview]
Message-ID: <a08a3a72-47b7-449f-bc73-389288a10200@default> (raw)
In-Reply-To: <<E1dv6D1-0006Jr-Fl@fencepost.gnu.org>>
> Users expect major modes to be idempotent. Any time one is not, it
> will cause them surprises. We should treat that as a bug and fix it
> to be idempotent.
Yes. You're talking about code distributed with Emacs, no doubt.
And any 3rd-party library (if there were any) that might have
such a mode function would be well advised to make clear to its
users that the function is not idempotent, and explain why:
what to expect and why.
> As for minor modes, it has been pointed out (by Stefan?) that multiple
> hooks could enable the same major mode, and the result should be the
> same as if just one hook did so.
My question for this thread is this:
Is this proposal (add an explicit rule or convention stating
that mode functions should be idempotent) a solution looking
for a problem?
Has someone actually reported a problem that s?he ran into by
encountering an actual mode function that was not idempotent?
next prev parent reply other threads:[~2017-09-22 15:54 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-09-19 19:58 Should mode commands be idempotent? Philipp Stephani
2017-09-19 22:10 ` Clément Pit-Claudel
2017-09-19 22:29 ` Stefan Monnier
2017-09-20 7:24 ` Clément Pit-Claudel
2017-09-20 14:52 ` John Wiegley
2017-09-20 22:30 ` Stefan Monnier
2017-09-20 23:05 ` Drew Adams
2017-10-08 15:09 ` Philipp Stephani
2017-09-20 22:25 ` Stefan Monnier
2017-09-23 8:16 ` Clément Pit-Claudel
2017-09-23 14:17 ` Stefan Monnier
2017-09-23 20:37 ` Stefan Monnier
2017-09-19 22:58 ` Drew Adams
2017-09-20 3:10 ` Stefan Monnier
2017-09-20 17:52 ` Drew Adams
2017-09-21 1:11 ` Stefan Monnier
2017-09-21 5:22 ` Drew Adams
2017-09-21 18:28 ` Richard Stallman
[not found] ` <<9f11a3c6-b113-4bf6-9dab-f894b2ad77b5@default>
[not found] ` <<E1dv6D1-0006Jr-Fl@fencepost.gnu.org>
2017-09-22 15:54 ` Drew Adams [this message]
2017-09-23 0:39 ` Richard Stallman
2017-09-23 8:05 ` Clément Pit-Claudel
2017-09-24 17:26 ` Drew Adams
2017-09-25 7:03 ` Clément Pit-Claudel
2017-09-25 13:57 ` Drew Adams
2017-09-26 0:36 ` Stefan Monnier
2017-09-26 3:30 ` John Wiegley
2017-09-26 17:55 ` Drew Adams
2017-09-26 18:01 ` John Wiegley
2017-09-26 18:50 ` Drew Adams
2017-09-26 18:54 ` John Wiegley
2017-10-08 15:28 ` Philipp Stephani
2017-10-08 19:04 ` Stefan Monnier
2017-10-10 2:10 ` John Wiegley
2017-12-21 20:49 ` Philipp Stephani
2017-12-22 2:20 ` Stefan Monnier
2017-10-10 23:15 ` Herring, Davis
[not found] ` <<E1dvYUB-0007na-Mx@fencepost.gnu.org>
2017-09-24 17:26 ` Drew Adams
2017-09-25 22:06 ` Richard Stallman
2017-09-19 23:50 ` John Wiegley
2017-09-20 3:09 ` Stefan Monnier
2017-09-20 13:01 ` Richard Stallman
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=a08a3a72-47b7-449f-bc73-389288a10200@default \
--to=drew.adams@oracle.com \
--cc=emacs-devel@gnu.org \
--cc=rms@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 public inbox
https://git.savannah.gnu.org/cgit/emacs.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).