GNU bug report logs - #12838
pcomplete on a path with ~ in eshell fails with "Text is read-only"

Previous Next

Package: emacs;

Reported by: Tuomas Kuismin <tuomas.kuismin <at> iki.fi>

Date: Thu, 8 Nov 2012 16:57:04 UTC

Severity: normal

Found in version 24.2

Done: Stefan Monnier <monnier <at> iro.umontreal.ca>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 12838 in the body.
You can then email your comments to 12838 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#12838; Package emacs. (Thu, 08 Nov 2012 16:57:04 GMT) Full text and rfc822 format available.

Acknowledgement sent to Tuomas Kuismin <tuomas.kuismin <at> iki.fi>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Thu, 08 Nov 2012 16:57:04 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Tuomas Kuismin <tuomas.kuismin <at> iki.fi>
To: submit <at> debbugs.gnu.org
Subject: pcomplete on a path with ~ in eshell fails with "Text is read-only"
Date: Thu, 08 Nov 2012 11:44:48 +0200
Package: Emacs
Version: 24.2

Reproducing:
+ Start emacs with "emacs -Q"
+ Start eshell with M-x eshell
+ Ignore case in eshell completion with M-x set-variable -> eshell-cmpl-ignore-case -> t
+ Exit eshell with the command "exit"
+ Restart eshell with M-x eshell
+ Create a file in your home directory with the command "touch ~/foo"
+ Try to complete said file (in eshell) by typing "cat ~/f" and pressing TAB

Result: No completion is done, message "Text is read-only" appears.
Expected result: "cat ~/foo" appears on screen.

Workaround: Add the following to your init file:
(add-hook 'eshell-mode-hook (lambda () (setq pcomplete-expand-before-complete t)))
This results in the ~ being expanded (removed) from the path before completing, thus circumventing the issue.

To my knowledge, this bug exists on Linux and Mac, Emacs 24.2 and the repository.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#12838; Package emacs. (Fri, 09 Nov 2012 02:12:01 GMT) Full text and rfc822 format available.

Message #8 received at 12838 <at> debbugs.gnu.org (full text, mbox):

From: Glenn Morris <rgm <at> gnu.org>
To: Tuomas Kuismin <tuomas.kuismin <at> iki.fi>
Cc: 12838 <at> debbugs.gnu.org
Subject: Re: bug#12838: pcomplete on a path with ~ in eshell fails with "Text
	is read-only"
Date: Thu, 08 Nov 2012 21:11:26 -0500
Tuomas Kuismin wrote:

> Reproducing:
> + Start emacs with "emacs -Q"
> + Start eshell with M-x eshell
> + Ignore case in eshell completion with M-x set-variable -> eshell-cmpl-ignore-case -> t
> + Exit eshell with the command "exit"
> + Restart eshell with M-x eshell

aka
emacs -Q --eval '(setq eshell-cmpl-ignore-case t)' -f eshell

> + Create a file in your home directory with the command "touch ~/foo"
> + Try to complete said file (in eshell) by typing "cat ~/f" and pressing TAB
>
> Result: No completion is done, message "Text is read-only" appears.

Thanks for the report, with similar symptoms to the closed
http://debbugs.gnu.org/5067.

This is a bug in pcomplete-insert-entry, which tries to delete
"/home/user/f" from a buffer that contains only "~/f", and so ends up
trying to delete the read-only prompt. There is a FIXME comment in the
source about this...

It works fine in 23.4, not in 24.1 and later.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#12838; Package emacs. (Thu, 15 Nov 2012 08:02:03 GMT) Full text and rfc822 format available.

Message #11 received at 12838 <at> debbugs.gnu.org (full text, mbox):

From: Glenn Morris <rgm <at> gnu.org>
To: Tuomas Kuismin <tuomas.kuismin <at> iki.fi>
Cc: 12838 <at> debbugs.gnu.org
Subject: Re: bug#12838: pcomplete on a path with ~ in eshell fails with "Text
	is read-only"
Date: Thu, 15 Nov 2012 03:00:21 -0500
I installed a workaround in emacs-24 for eshell.
Hopefully someone will fix it properly at some point.




Reply sent to Stefan Monnier <monnier <at> iro.umontreal.ca>:
You have taken responsibility. (Mon, 19 Nov 2012 19:25:02 GMT) Full text and rfc822 format available.

Notification sent to Tuomas Kuismin <tuomas.kuismin <at> iki.fi>:
bug acknowledged by developer. (Mon, 19 Nov 2012 19:25:02 GMT) Full text and rfc822 format available.

Message #16 received at 12838-done <at> debbugs.gnu.org (full text, mbox):

From: Stefan Monnier <monnier <at> iro.umontreal.ca>
To: Glenn Morris <rgm <at> gnu.org>
Cc: 12838-done <at> debbugs.gnu.org, Tuomas Kuismin <tuomas.kuismin <at> iki.fi>
Subject: Re: bug#12838: pcomplete on a path with ~ in eshell fails with
	"Text is read-only"
Date: Mon, 19 Nov 2012 14:22:58 -0500
> I installed a workaround in emacs-24 for eshell.
> Hopefully someone will fix it properly at some point.

Thanks.  The completion-at-point version of pcomplete works here, so
I installed a different workaround, and the "fix it properly" will be to
move to completion-at-point.


        Stefan




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Tue, 18 Dec 2012 12:24:03 GMT) Full text and rfc822 format available.

This bug report was last modified 11 years and 139 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.