[prev in list] [next in list] [prev in thread] [next in thread] 

List:       w3m-dev-en
Subject:    [w3m-dev-en 00752] Re: tab completion weirdness in w3m 0.3
From:       Kiyokazu SUTO <suto () ks-and-ks ! ne ! jp>
Date:       2002-06-09 5:33:48
Message-ID: 20020609-143348-27d93.suto () ks-and-ks ! ne ! jp
[Download RAW message or body]

Citation (with leading "> " of each line) from article:
  <20020609-015236-27d92.suto@ks-and-ks.ne.jp>
    by Kiyokazu SUTO <suto@ks-and-ks.ne.jp> :
> Since ``PRINT'' accepts a string like ``| command ...'' as the name of
> saved file, the completion routine needs to quote spaces in file names
> with backslashes, while ``PRINT'' does not remove the backslashes even
> when it uses the string as a simple file name.

I found the same problem in file.c:doFileCopy().

-- 
SUTO, Kiyokazu <suto@ks-and-ks.ne.jp>
http://pub.ks-and-ks.ne.jp/pgp-public-key.html



diff -urN --exclude-from=w3m.ignore w3m/file.c w3m-new/file.c
--- w3m/file.c	Wed May 15 00:31:49 2002
+++ w3m-new/file.c	Sun Jun  9 14:23:02 2002
@@ -7112,18 +7112,22 @@
 {
     Str msg;
     Str filen;
-    char *p, *q;
+    char *p, *q = NULL;
 
     if (fmInitialized) {
 	p = searchKeyData();
 	if (p == NULL || *p == '\0') {
-	    p = inputLineHist("(Download)Save file to: ",
+	    q = inputLineHist("(Download)Save file to: ",
 			      defstr, IN_COMMAND, SaveHist);
-	    if (p == NULL || *p == '\0')
+	    if (q == NULL || *q == '\0')
 		return;
-	    p = conv_to_system(p);
+	    p = conv_to_system(q);
 	}
 	if (*p != '|' || !PermitSaveToPipe) {
+	    if (q) {
+		p = unescape_spaces(Strnew_charp(q))->ptr;
+		p = conv_to_system(q);
+	    }
 	    p = expandName(p);
 	    if (checkOverWrite(p) < 0)
 		return;


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic