From: Glenn Morris <rgm@gnu.org>
To: Chong Yidong <cyd@gnu.org>
Cc: emacs-devel@gnu.org
Subject: Re: toggle-read-only should not give compilation warnings
Date: Wed, 11 Jul 2012 14:22:40 -0400 [thread overview]
Message-ID: <uimx36duof.fsf@fencepost.gnu.org> (raw)
In-Reply-To: <877gubszqq.fsf@gnu.org> (Chong Yidong's message of "Wed, 11 Jul 2012 12:11:57 +0800")
Chong Yidong wrote:
> There are lots of toggle-read-only warnings in the Emacs Lisp source
> tree.
I count 10 (excluding obsolete/). Some are probably already suppressed
though. Of these:
cedet/ede/util.el seems obviously wrong.
cedet/semantic/debug.el and vc/ediff.el are unclear to me.
gnus/smime.el seems bugged (fails to ensure a pre-existing buffer is
read-write).
vc/vc-cvs.el seems wrong.
vc/vc.el not immediately clear.
> As far as I can tell, the overwhelming majority of these are all
> legitimate use cases. The typical intention is "do whatever the
> `toggle-read-only' command does, then do some other stuff on top of
> that," so the caveat about toggle-read-only not being used in Lisp
> code is bogus.
The obvious intention is to make the buffer read-only. Often it's
unclear to me whether the author also wanted the "extra stuff" that
toggle-read-only does (which is only view-mode, isn't it?), or just
didn't think about it.
IMO, it would be better to factor out the view mode enabling piece to a
separate function to be explicitly called when necessary after setting
buffer-read-only. This would then remove the ambiguity.
Some issues caused by inappropriate use of toggle-read-only are: 7292,
10006.
Maybe on average it's right to use it as often as it is wrong. A warning
at least might make people thunk about whether they do want to use it.
next prev parent reply other threads:[~2012-07-11 18:22 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-07-11 4:11 toggle-read-only should not give compilation warnings Chong Yidong
2012-07-11 16:23 ` Samuel Bronson
2012-07-11 17:04 ` Achim Gratz
2012-07-11 18:22 ` Glenn Morris [this message]
2012-07-13 5:22 ` Chong Yidong
2012-07-13 6:03 ` Drew Adams
2012-07-13 13:04 ` Stefan Monnier
2012-07-13 13:47 ` Chong Yidong
2012-07-15 22:01 ` Stefan Monnier
2012-07-12 0:58 ` 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=uimx36duof.fsf@fencepost.gnu.org \
--to=rgm@gnu.org \
--cc=cyd@gnu.org \
--cc=emacs-devel@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).