GNU bug report logs - #3226
[sh-mode] here-document syntax inference and completion is broken

Previous Next

Package: emacs;

Reported by: Paul Nienaber <phox <at> phox.ca>

Date: Tue, 5 May 2009 22:20:05 UTC

Severity: minor

Tags: fixed

Merged with 19929, 43917

Found in version 24.4

Fixed in version 27.1

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Philipp Stephani <p.stephani2 <at> gmail.com>
To: Andrew Hyatt <ahyatt <at> gmail.com>, Chong Yidong <cyd <at> stupidchicken.com>
Cc: Paul Nienaber <phox <at> phox.ca>, 3226 <at> debbugs.gnu.org
Subject: bug#3226: here-document syntax inference and completion is broken
Date: Sun, 14 Feb 2016 14:44:58 +0000
[Message part 1 (text/plain, inline)]
Andrew Hyatt <ahyatt <at> gmail.com> schrieb am Di., 26. Jan. 2016 um 06:16 Uhr:

> Chong Yidong <cyd <at> stupidchicken.com> writes:
>
> >> Cook yourself up a bash script and type a line of code like:
> >> for i in $(/bin/vim <<
> >>
> >> A default emacs install will complete with "EOF\n\nEOF" (in a more
> >>clever fashion so the rest of the line is undisturbed), and place the
> >>cursor on the new blank line.  This is incorrect behaviour, as it
> >>breaks entry of BASH here-strings when the user's intent is still
> >>ambiguous.  This should only respond to things ending in, for example
> >>"<< " or possibly "<<E", but certainly NOT just "<<".
> >>
> >> Further, emacs does something outright wrong: An attempt to fix the
> >>situation by inserting another '<' between the "<<" and "EOF" +results
> >>in ANOTHER pair of "EOF" being inserted in a syntactically invalid way.
> >
> > I fixed the second problem, but I don't see any easy way to solve the
> > first one.
> >
> > (The difficulty of fixing the first bug is illustrative of the problems
> > with individual major modes rolling their own "electric" completion
> > facilities.  It might be nice to have a minor mode that provides a
> > unified framework for this kind of functionality; which may also need
> > built-in support.)
>
> Just a note that I've reproduced the original problem in Emacs 25, so it
> appears to be unfixed at present.
>
>
>
The behavior can be disabled using

(add-hook 'sh-mode-hook (lambda () (sh-electric-here-document-mode 0)))

I think this behavior should be customizable and off by default.
[Message part 2 (text/html, inline)]

This bug report was last modified 4 years and 281 days ago.

Previous Next


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