I had fix this on the repository a while back by setting the buffer-read-only
flag back to nil in beanshell.el. Similar to the fix applied to jde-checkstyle.

I will leave it upto Paul whether or not we wants to rollback my fix and
apply yours. There are similar in nature.

Javier

Martin Schwamberger <[EMAIL PROTECTED]> writes:

> Javier S. Lopez wrote:
>> Paul Kinnucan <[EMAIL PROTECTED]> writes:
>> There are probably a few ways to work around the problem
>> 1. Set the inhibit-read-only flag
>> 2. Make our compiles a minor mode or rewrite the way we use it. There is a 
>> new
>>    method compile-setup that takes a flag that allows you to control this
>>    behavior.
>
> Hi Javier,
>
> I've changed jde-compile.el
> according to your first idea.
> See diff below.
>
>> I will point you to the email thread where Richard Stallman talks about it. I
>> don't agree with him, I think Stefan Monnier is right on this one.
>> http://lists.gnu.org/archive/html/emacs-devel/2004-11/msg00008.html
>
> IMHO, RMS is right here.
> Programs can easily change read-only compilation buffers
> and users shouldn't.
>
> Martin
>
>> Javier
>> 
>>>Javier S. Lopez writes:
>>> > "Anderson, Timothy K" <[EMAIL PROTECTED]> writes:
>>> > > > Hi,
>>> > > Using GNU Emacs CVS, JDE 2.3.4, CEDET 1.0beta3b.
>>> > >
>>> > > When trying to compile code with C-C C-V C-C,  I am getting the
>>> > > following error:
>>> > >
>>> > > save-excursion: Buffer is read-only: #<buffer *compilation*>
>>> > > This looks familiar...
>>> > > I had the problem when running the latest emacs from cvs. All the
>>> compilation
>>> > buffers are read only, I don't know what a good fix for this is. I just 
>>> > changed
>>> > the compile.el file to avoid making the buffers readonly. But we probably 
>>> > need
>>> > a better fix for this.
>>> > 
>>>
>>>How can the compilation buffers be read-only and allows error and other 
>>>messages
>>>to be written into them? This sounds like a bug in the CVS version of Emacs.
>>>
>>>Paul
>>>
>>> > > Javier
>>> > > >
>>> > > This happens every time - I think I have tried almost every combination
>>> > > of customize variables (at least, it feels that way).
>>> > > Has anyone else seen this?  What should I do to find the cause?
>>> > >
>>> > > Thanks for any help.
>>> > >
>>> > >
>>> > > Tim Anderson
>>> > >
>>> > >  > >
>>> > >
>>> > >
>>> > >
>>> > > ____________________________________________________________
>>> > > CONFIDENTIALITY
>>> > > This e-mail and any attachments are confidential and also may be 
>>> > > privileged.
>>> > > If you are not the named recipient, or have otherwise received this
>>> > > communication in error, please delete it from your inbox, notify the 
>>> > > sender
>>> > > immediately, and do not disclose its contents to any other person,
>>> > > use them for any purpose, or store or copy them in any medium.
>>> > > Thank you for your cooperation.
>>> > > ____________________________________________________________
>>> > >
>>> > >
>>> > >
>>> > >
>>> > > -- 
>>> > Javier S. Lopez
>>> > Software Developer
>>> > Forum Systems, Inc.
>>> > 95 Sawyer Road, Suite 110, Waltham, MA 02453
>>> > http://www.forumsys.com
>>> > > > The information contained in this electronic mail and any attached
>>> > document is the confidential and proprietary business information of
>>> > Forum Systems, Inc. It is intended solely for the addressed recipient
>>> > listed above. It may not be distributed in any manner without the
>>> > express written consent of Forum Systems, Inc.
>>>
>> 
>
> diff -u jde-compile.el.old jde-compile.el
> --- jde-compile.el.old        2004-12-17 05:29:36.000000000 +0100
> +++ jde-compile.el    2005-01-25 13:14:47.585153200 +0100
> @@ -714,24 +714,23 @@
>
>       (save-excursion
>         (set-buffer outbuf)
> -
> -      (insert (format "cd %s\n" default-directory))
> -
> -      (insert (concat
> -            compiler-path
> -            " "
> -               (mapconcat (lambda (x)
> -                            (if (and flag
> -                                     jde-compile-option-hide-classpath)
> -                                (progn
> -                                  (setq flag nil)
> -                                  "...")
> -                              (if (not (string= x "-classpath"))
> -                                  x
> -                                (progn
> -                                  (setq flag t)
> -                                  x)))) args " ")
> -            "\n\n"))
> +      (let ((inhibit-read-only t)) ; make compilation buffer temporarily
> writable
> +        (insert (format "cd %s\n" default-directory))
> +        (insert (concat
> +                 compiler-path
> +                 " "
> +                 (mapconcat (lambda (x)
> +                              (if (and flag
> +                                       jde-compile-option-hide-classpath)
> +                                  (progn
> +                                    (setq flag nil)
> +                                    "...")
> +                                (if (not (string= x "-classpath"))
> +                                    x
> +                                  (progn
> +                                    (setq flag t)
> +                                    x)))) args " ")
> +                 "\n\n")))
>
>         (let* ((process-environment (cons "EMACS=t" process-environment))
>            (w32-quote-process-args ?\")
> @@ -770,33 +769,27 @@
>                 ","))))
>
>         (setq arg-array (concat arg-array "}"))
> -
> -     
> +
>         (save-excursion
>       (set-buffer (oref (oref this buffer) buffer))
> -
> -     (insert "CompileServer output:\n")
> -     (insert "\n")
> -
> -     (let (flag temp)
> -       (setq temp
> -         (mapconcat
> -          (lambda (x)
> -            (if (and flag
> -                     jde-compile-option-hide-classpath)
> -                (progn
> -                  (setq flag nil)
> -                  "...")
> -              (if (not (string= x "-classpath"))
> -                  x
> -                (progn
> -                  (setq flag t)
> -                  x)))) args " "))
> -
> -       (insert temp " "))
> -
> -     (insert source-path "\n"))
> -
> +        (let ((inhibit-read-only t) ; make compilation buffer temporarily
> writable
> +              flag
> +              temp)
> +          (insert "CompileServer output:\n\n")
> +          (setq temp
> +                (mapconcat
> +                 (lambda (x)
> +                   (if (and flag
> +                            jde-compile-option-hide-classpath)
> +                       (progn
> +                         (setq flag nil)
> +                         "...")
> +                     (if (not (string= x "-classpath"))
> +                         x
> +                       (progn
> +                         (setq flag t)
> +                         x)))) args " "))
> +          (insert temp " " source-path "\n")))
>
>         (if (not (jde-bsh-running-p))
>         (progn

Reply via email to