From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Philipp Stephani
Chong Yidong <cyd@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 t= he
>>cursor on the new blank line.=C2=A0 This is incorrect behaviour, as= it
>>breaks entry of BASH here-strings when the user's intent is sti= ll
>>ambiguous.=C2=A0 This should only respond to things ending in, for = example
>>"<< " or possibly "<<E", but certai= nly NOT just "<<".
>>
>> Further, emacs does something outright wrong: An attempt to fix th= e
>>situation by inserting another '<' between the "<= ;<" and "EOF" +results
>>in ANOTHER pair of "EOF" being inserted in a syntacticall= y 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 problem= s
> with individual major modes rolling their own "electric" com= pletion
> facilities.=C2=A0 It might be nice to have a minor mode that provides = a
> unified framework for this kind of functionality; which may also need<= br> > built-in support.)
Just a note that I've reproduced the original problem in Emacs 25, so i= t
appears to be unfixed at present.