From: Drew Adams <drew.adams@oracle.com>
To: John Wiegley <jwiegley@gmail.com>
Cc: Stefan Monnier <monnier@iro.umontreal.ca>, emacs-devel@gnu.org
Subject: RE: Should mode commands be idempotent?
Date: Tue, 26 Sep 2017 11:50:13 -0700 (PDT) [thread overview]
Message-ID: <44241233-0da3-4536-ab64-4071ecbfdac5@default> (raw)
In-Reply-To: <m24lrp8hkg.fsf@newartisans.com>
> >> FWIW, I can't off the top of my head think of a reason why (foo-mode 1)
> >> followed by (foo-mode 1) should do something different than just calling
> >> it once.
>
> > Just what do you have in mind, for the meaning here of
> > "do something different"? Are we saying that the state
> > of the Emacs session after the second call should be
> > identical to the state after the first call? Just what
> > kind of "identical" would be meant?
>
> Yes, idempotence: calling it N times is the exact same as calling it once.
Good luck with such a guideline. The state of an Emacs
session is _never_ exactly the same after each time you
turn on a mode - any mode, any session. So many things
change...
If you don't want to specify what can and cannot change,
to be able to satisfy the guideline, then the guideline
is effectively useless.
This isn't Haskell. (And even for Haskell the session
state changes.)
next prev parent reply other threads:[~2017-09-26 18:50 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
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 [this message]
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=44241233-0da3-4536-ab64-4071ecbfdac5@default \
--to=drew.adams@oracle.com \
--cc=emacs-devel@gnu.org \
--cc=jwiegley@gmail.com \
--cc=monnier@iro.umontreal.ca \
/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).