www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2001/03/22/19:16:43

From: Jason Green <news AT jgreen4 DOT fsnet DOT co DOT uk>
Newsgroups: comp.os.msdos.djgpp
Subject: Re: Tab completion in BASH 2.04
Date: Fri, 23 Mar 2001 00:05:35 +0000
Lines: 38
Message-ID: <o22lbtop852s8fk8dtuh6p198qpcopimbr@4ax.com>
References: <g1lfbtkjfn9o09pfnuf6rdpii7ou2n7v4u AT 4ax DOT com> <Pine DOT SUN DOT 3 DOT 91 DOT 1010321120637 DOT 24397X-100000 AT is>
NNTP-Posting-Host: modem-225.hydrogen.dialup.pol.co.uk
Mime-Version: 1.0
X-Trace: newsg4.svr.pol.co.uk 985305892 25169 62.136.0.225 (23 Mar 2001 00:04:52 GMT)
NNTP-Posting-Date: 23 Mar 2001 00:04:52 GMT
X-Complaints-To: abuse AT theplanet DOT net
X-Newsreader: Forte Agent 1.7/32.534
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp
Reply-To: djgpp AT delorie DOT com

Eli Zaretskii <eliz AT is DOT elta DOT co DOT il> wrote:

> On Unix, I understand why does Bash do that.  But the DJGPP port
> shouldn't do that, since a colon is routinely used in file names.
> It would be a nuisance to require users to escape the colon after the
> drive letter in each file name they type.

They don't have to actually type it in the DJGPP port of Bash 2.03, it
automatically gets inserted as part of the tab completetion.  And this
seems to be the key to getting the space escaped.

The following patch is to restore the feature so that Bash 2.04 behaves
as 2.03 did.  Also, I believe it fixes something else too because there
was some DOS specific code that was not being compiled in (line 1840).

--- bashline.c.orig     Wed Apr  5 17:48:54 2000
+++ bashline.c  Tue Mar 20 17:13:00 2001
@@ -45,6 +45,8 @@

 #include <glob/glob.h>

+#include "filesys.h"
+
 #ifdef __MSDOS__
 #include "dosutil.h"
 #endif
@@ -322,7 +324,11 @@
   enable_hostname_completion (perform_hostname_completion);

   /* characters that need to be quoted when appearing in filenames. */
+#ifndef HAVE_DOS_BASED_FILE_SYSTEM
   rl_filename_quote_characters = " \t\n\\\"'@<>=;|&()#$`?*[!:{"; /* { */
+#else
+  rl_filename_quote_characters = " \t\n\\\"'@<>=;|&()#$`?*[!{"; /* { */
+#endif
   rl_filename_quoting_function = bash_quote_filename;
   rl_filename_dequoting_function = bash_dequote_filename;
   rl_char_is_quoted_p = char_is_quoted;

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019