|
From: | Mark Elston |
Subject: | Re: Emacs and Read-Only Files |
Date: | Thu, 19 Oct 2006 10:37:06 -0700 |
User-agent: | Thunderbird 1.5.0.7 (Windows/20060909) |
Well, here is what I have discovered. In Emacs 21 I used, in my c-mode-common-hook, a call to (setq c-file-style "local") to set the style for editing C/C++ files. This worked just fine in version 21, even for read-only files. Apparently, in versions 22 and 23 this is a problem, though the variable still exists. I have now replaced the (setq ...) call with (c-set-style "local") and I no longer see the behavior I mentioned. In the end that is the only change I made to my .emacs file and all is well. If anyone can tell me why this makes such a difference I would be a happy camper. Mark * Barry Margolin wrote (on 10/18/2006 9:10 PM):
In article <453676C1.8020307@advantest-ard.com>, Mark Elston <m.elston@advantest-ard.com> wrote:OK. I bit the bullet and did a little debugging. I have the following in my .emacs file that seems to be causing the problem. This worked in GNU Emacs 21 but seems to cause a problem in version 22. (defun my-c-mode-hook () (setq c-file-style "local") (setq tab-width 4 ;; this ought to make sure spaces are used instead of tabs indent-tabs-mode nil) ;; we like auto-newline and hungry-delete (c-toggle-auto-hungry-state 1) (define-key c-mode-base-map "\C-m" 'newline-and-indent) (c-set-offset 'substatement-open 0) ) (add-hook 'c-mode-common-hook 'my-c-mode-hook) Any idea why this is causing a problem in 22 and 23?I'm not sure how that could be the problem. Nothing up there tries to modify the buffer.The *Messages* messages indicate that the error is occurring when semantic-c is loaded. I suggest you set debug-on-error to t, so you'll get a stack trace when the read-only error occurs. Then post the stack trace here.Mark * Mark Elston wrote (on 10/18/2006 11:11 AM):One other thing I noticed - when I look at the *Messages* buffer I get the following messages: Note: file is write protected Loading semantic-c...done byte-code: Buffer is read-only: #<buffer abc.cpp> Loading semantic-edit...done Loading semanticdb-file...done Mark set However, I commented out the loading of the cedet code (and the ecb that requires it) and I still get the same issue. Mark * Mark Elston wrote (on 10/18/2006 11:03 AM):I have GNU Emacs 23.0.0.1 and GNU Emacs 22.0.50.1 compiled for Windows. Both versions behave strangely when loading files that are Read-Only. In both cases the file gets loaded, I get a message saying 'Mark Set' but the window doesn't switch to the newly loaded file. This doesn't happen when I load a file with write permission. Unfortunately (or fortunately), when I start up emacs with --no-init this behavior doesn't occur. I have a rather extensive .emacs file and would *really* hate to go through the cycle of commenting out blocks and re-starting necessary to track this down. So, does anyone have any ideas what could be happening? Obviously, something I have loaded is interfering with the loading of these read-only files, but I don't have a clue what it could be. Mark
[Prev in Thread] | Current Thread | [Next in Thread] |