[Top][All Lists]
[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