]> git.eshelyaron.com Git - emacs.git/commitdiff
(comint-arguments): Treat \" and such as part of one arg.
authorRichard M. Stallman <rms@gnu.org>
Mon, 2 Mar 1998 19:02:28 +0000 (19:02 +0000)
committerRichard M. Stallman <rms@gnu.org>
Mon, 2 Mar 1998 19:02:28 +0000 (19:02 +0000)
lisp/comint.el

index 102cd1ec8c78e8288b90d436c518928096b17f65..6c44a551123caa6290fde3d2bfc6bc279d9938f7 100644 (file)
@@ -1126,7 +1126,15 @@ We assume whitespace separates arguments, except within quotes.
 Also, a run of one or more of a single character
 in `comint-delimiter-argument-list' is a separate argument.
 Argument 0 is the command name."
-  (let ((argpart "[^ \n\t\"'`]+\\|\\(\"[^\"]*\"\\|'[^']*'\\|`[^`]*`\\)")
+  ;; The first line handles ordinary characters and backslash-sequences.
+  ;; The second matches "-quoted strings.
+  ;; The third matches '-quoted strings.
+  ;; The fourth matches `-quoted strings.
+  ;; This seems to fit the syntax of BASH 2.0.
+  (let ((argpart "[^ \n\t\"'`\\]+\\|\\\\[\"'`\\]+\\|\
+\\(\"\\([^\"\\]\\|\\\\.\\)*\"\\|\
+'[^']*'\\|\
+`[^`]*`\\)") 
        (args ()) (pos 0)
        (count 0)
        beg str value quotes)