Path: csiph.com!aioe.org!news.glorb.com!usenet.stanford.edu!not-for-mail From: Chet Ramey Newsgroups: gnu.bash.bug Subject: Re: Tab completion misbehaves with newlines Date: Thu, 16 Jul 2015 17:08:01 -0400 Lines: 35 Approved: bug-bash@gnu.org Message-ID: References: <20150715152557.GM4309@eeg.ccf.org> <877fq174l4.fsf@igel.home> Reply-To: chet.ramey@case.edu NNTP-Posting-Host: lists.gnu.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Trace: usenet.stanford.edu 1437080924 27560 208.118.235.17 (16 Jul 2015 21:08:44 GMT) X-Complaints-To: action@cs.stanford.edu Cc: Rickard Norlander , bug-bash@gnu.org, bash@packages.debian.org, chet.ramey@case.edu To: Andreas Schwab , Greg Wooledge Envelope-to: bug-bash@gnu.org User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 In-Reply-To: <877fq174l4.fsf@igel.home> X-Junkmail-Status: score=10/50, host=mpv6.cwru.edu X-Junkmail-Whitelist: YES (by domain whitelist at mpv1.tis.cwru.edu) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.4.x-2.6.x [generic] X-Received-From: 129.22.105.36 X-BeenThere: bug-bash@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Bug reports for the GNU Bourne Again SHell List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Xref: aioe.org gnu.bash.bug:11224 On 7/15/15 12:44 PM, Andreas Schwab wrote: > Greg Wooledge writes: > >> I type: >> >> $ cat bad >> >> and press Tab twice. (The first does nothing visible.) This gives me >> two completion choices: >> >> bad bad^Jfile >> >> If I press Ctrl-V Ctrl-J, the cursor moves to the next line. At this >> point, further Tabbing (with or without characters) acts like a new >> completion rather than a continuation of the previous completion, as >> this bug report indicated. > > You are inserting an unquoted whitespace, which ends the current word. > The only bug is that readline doesn't perform command completion on the > new line. It performs filename completion, and that's not a bug. Readline understands that \n is one of the characters that separates words for the purposes of completion, so it passes "" as the word to be completed. Bash, which is what performs the command completion, is smart enough to know that even though it follows a newline, the current word is not in a command position, and defaults to filename completion. Chet -- ``The lyf so short, the craft so long to lerne.'' - Chaucer ``Ars longa, vita brevis'' - Hippocrates Chet Ramey, ITS, CWRU chet@case.edu http://cnswww.cns.cwru.edu/~chet/