emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Error text-read-only in shell-command


From: Tassilo Horn
Subject: Re: Error text-read-only in shell-command
Date: Thu, 13 Jan 2011 08:47:38 +0100
User-agent: Gnus/5.110011 (No Gnus v0.11) Emacs/24.0.50 (gnu/linux)

Tassilo Horn <address@hidden> writes:

Hi again,

> I've just dired and opened acroread using & on a pdf file to fill out
> some forms.  After closing that, I wanted to open another file with an
> external app using &.  But then I got an text-read-only error.
>
> I've tracked it down to the call to `erase-buffer' in `shell-command'.
> That fails, because although buffer-read-only is set to nil explicitly,
> parts of the output acroread produced in *Async Shell Command Output*
> has the read-only text property set to 'fence (whatever that means).
> (The linebreaks have that property...)

Hm, acroread is not the only app raising that issue.  In fact, it seems
to happen with any GTK app I use (OO.org or GIMP).  Those issue some GTK
theme warning on startup

--8<---------------cut here---------------start------------->8---
/usr/share/themes/MurrinaAquaIsh/gtk-2.0/gtkrc:50: Murrine configuration option 
"scrollbar_color" is no longer supported and will be ignored.
/usr/share/themes/MurrinaAquaIsh/gtk-2.0/gtkrc:50: Murrine configuration option 
"scrollbar_color" is no longer supported and will be ignored.
--8<---------------cut here---------------end--------------->8---

and the last char of both lines has the read-only display property set
to fence in *Async Shell Command*.

So if nobody objects, I'll commit that patch later today.

Bye,
Tassilo

> The following patch fixes the issue.  Ok to commit?
>
> === modified file 'lisp/simple.el'
> --- lisp/simple.el    2011-01-02 20:28:40 +0000
> +++ lisp/simple.el    2011-01-12 08:53:08 +0000
> @@ -2341,7 +2341,10 @@
>                     (error "Shell command in progress")))
>               (with-current-buffer buffer
>                 (setq buffer-read-only nil)
> -               (erase-buffer)
> +               ;; Setting buffer-read-only to nil doesn't help for
> +               ;; characters with read-only text property.
> +               (let ((inhibit-read-only t))
> +                 (erase-buffer))
>                 (display-buffer buffer)
>                 (setq default-directory directory)
>                 (setq proc (start-process "Shell" buffer shell-file-name



reply via email to

[Prev in Thread] Current Thread [Next in Thread]