From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.help Subject: Re: inhibit-modification-hooks set to t globally Date: Thu, 25 Sep 2014 17:06:53 -0400 Organization: A noiseless patient Spider Message-ID: References: <8761gd2ffo.fsf@geodiff-mac3.ulb.ac.be> <83egv0x155.fsf@gnu.org> <87iokc0x5l.fsf@geodiff-mac3.ulb.ac.be> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1411679427 24680 80.91.229.3 (25 Sep 2014 21:10:27 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 25 Sep 2014 21:10:27 +0000 (UTC) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Thu Sep 25 23:10:21 2014 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1XXGIu-0005gY-Uh for geh-help-gnu-emacs@m.gmane.org; Thu, 25 Sep 2014 23:10:21 +0200 Original-Received: from localhost ([::1]:43032 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XXGIu-0001Jh-47 for geh-help-gnu-emacs@m.gmane.org; Thu, 25 Sep 2014 17:10:20 -0400 Original-Path: usenet.stanford.edu!news.kjsl.com!feeder.erje.net!eu.feeder.erje.net!newsfeed.fsmpi.rwth-aachen.de!eternal-september.org!feeder.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail Original-Newsgroups: gnu.emacs.help Original-Lines: 23 Injection-Info: mx05.eternal-september.org; posting-host="71cac3715741fca00beec08d311af4df"; logging-data="13853"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/jmbNR8ijSu3MUKYH+tdJ2" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.4.50 (gnu/linux) Cancel-Lock: sha1:ilsJwVBYwMBUq99DV58t/wMhqeU= sha1:TVOBuM5/BiIbsY5Wl8delkSjAO0= Original-Xref: usenet.stanford.edu gnu.emacs.help:207883 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:100158 Archived-At: > Hopefully, not many Lisp packages/functions let-bind this variable, so > you won't need to wade through too many false positives. Inhibit-modification-hooks gets let-bound *all the time* by things like font-lock, after-change-functions, etc... I see two ways for that variable to become globally non-nil: - a braindead package uses `setq' on that variable. - you bang on C-g enough that you end up hitting the infamous race-condition on unwind-protect (and let unbinding): unwind-protect forms get run when exiting because of C-g, but if you hit C-g while running those unwind forms, they may not run to completion, so you can end up with some of those unwind forms being "not run" (or only partly run). I guess we could try to inhibit-quit while running the unwind forms to try and circumvent this problem, but such a change could introduce new bugs (if an unwind-form takes a long time to run, i.e. expect to be run without inhibit-quit). Of course, there could also be a third way, but I can't imagine what that would look like. -- Stefan