GNU bug report logs - #1212
23.0.60; split-string-and-unquote problems

Previous Next

Package: emacs;

Reported by: Eli Zaretskii <eliz <at> gnu.org>

Date: Mon, 20 Oct 2008 16:10:04 UTC

Severity: normal

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 1212 in the body.
You can then email your comments to 1212 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#1212; Package emacs. Full text and rfc822 format available.

Acknowledgement sent to Eli Zaretskii <eliz <at> gnu.org>:
New bug report received and forwarded. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. Full text and rfc822 format available.

Message #5 received at submit <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: emacs-pretest-bug <at> gnu.org
Subject: 23.0.60; split-string-and-unquote problems
Date: Mon, 20 Oct 2008 18:04:41 +0200
Please write in English if possible, because the Emacs maintainers
usually do not have translators to read other languages for them.

Your bug report will be posted to the emacs-pretest-bug <at> gnu.org mailing list.

Please describe exactly what actions triggered the bug
and the precise symptoms of the bug:

The function split-string-and-unquote is a great help in taking apart
shell command lines, but the values it returns seem incorrect in some
situations, at least from shell command quoting perspective:

 (split-string-and-unquote "foo\ bar")
    => ("foobar")                 [where's my blank?]
 (split-string-and-unquote "foo\\\ bar")
    => ("foo\\bar")               [where's my blank?]
 (split-string-and-unquote "foo\" \"bar")
    => ("foo" " " "bar")          [where's my blank]
 (split-string-and-unquote "foo\"*\"bar")
    => ("foo" "*" "bar")          [can't quote in the middle of a string?]
 (split-string-and-unquote "foo\\\"bar")
    => End of file during parsing [how do you quote a quote?]

Also, it doesn't support '..' quoting, which is quite frequent in
shell commands.

If Emacs crashed, and you have the Emacs process in the gdb debugger,
please include the output from the following gdb commands:
    `bt full' and `xbacktrace'.
If you would like to further debug the crash, please read the file
d:/gnu/emacs/etc/DEBUG for instructions.


In GNU Emacs 23.0.60.1 (i386-mingw-nt5.1.2600)
 of 2008-10-20 on HOME-C4E4A596F7
Windowing system distributor `Microsoft Corp.', version 5.1.2600
configured using `configure --with-gcc (3.4)'

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: ENU
  value of $XMODIFIERS: nil
  locale-coding-system: cp1255
  default-enable-multibyte-characters: t

Major mode: Lisp Interaction

Minor modes in effect:
  show-paren-mode: t
  tooltip-mode: t
  tool-bar-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  global-auto-composition-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
<down> <down> <down> <down> <down> <down> C-SPC <right> 
<right> <right> <right> <right> <right> <right> <right> 
<right> <right> <right> <right> <right> <right> <right> 
<right> <right> M-w C-x b <return> C-y <return> M-: 
<up> <C-right> <C-right> <C-right> <C-right> <right> 
<right> <right> <right> <right> <right> <right> <delete> 
* <return> M-: <up> C-SPC C-e M-w <return> C-y SPC 
= > SPC C-x b <return> <down> <down> C-a C-SPC <right> 
<right> <right> <right> <right> <right> <right> <right> 
<right> <right> <right> <right> <right> <right> <right> 
<right> <right> M-w C-x b <return> C-y <return> M-: 
<up> <up> <up> <up> <down> <up> <up> <right> <right> 
<right> <right> <right> <right> <right> <right> <right> 
<right> <right> <right> <right> <right> <right> <right> 
<right> <right> <right> <right> <right> <right> <right> 
<right> <right> <right> <right> <delete> <delete> <delete> 
<delete> <delete> <delete> <delete> <delete> <delete> 
<delete> <delete> <delete> <delete> <delete> <delete> 
<delete> <delete> <delete> <delete> <delete> <delete> 
<right> <right> <right> <right> <right> <right> <right> 
<right> <right> <right> <delete> <delete> <delete> 
<delete> <delete> <delete> <delete> <delete> <delete> 
<delete> <delete> <delete> <delete> <delete> <right> 
<right> C-SPC C-a M-w <return> C-y SPC = > SPC <down> 
<down> <down> <up> C-a M-: <up> <return> <C-right> 
<C-right> <C-right> <C-right> <C-right> <C-left> C-SPC 
<up> <down> C-e M-w <up> <left> C-y <right> M-: <up> 
<up> <up> <up> <C-right> <C-right> <C-right> <C-right> 
<C-right> \ <return> M-: <up> <C-right> <C-right> <C-right> 
<C-right> <C-right> \ <return> M-: <up> C-SPC C-e M-w 
<return> <up> <up> <up> <left> <return> C-y SPC = > 
SPC C-x b <return> <down> <down> <down> <down> <down> 
<down> <down> <left> <left> <left> <left> <left> <left> 
<left> <left> <left> <left> <left> <left> <left> <left> 
<left> <left> <left> C-SPC <right> <right> <right> 
<right> <right> <right> <right> <right> <right> <right> 
<right> <right> M-w C-x b <return> C-y C-x <up> <down> 
<up> M-x r e p o r t - e m a <tab> <return>

Recent messages:
("foo" "*" "bar") [2 times]
Mark set [3 times]
split-string-and-unquote: End of file during parsing
Mark set
split-string-and-unquote: End of file during parsing
Mark set [2 times]
("foo\\" "bar")
("foo\\bar") [2 times]
Mark set [3 times]
Scanning for dabbrevs...100%




Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#1212; Package emacs. Full text and rfc822 format available.

Acknowledgement sent to Andreas Schwab <schwab <at> suse.de>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. Full text and rfc822 format available.

Message #10 received at submit <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Andreas Schwab <schwab <at> suse.de>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 1212 <at> debbugs.gnu.org, emacs-pretest-bug <at> gnu.org
Subject: Re: bug#1212: 23.0.60; split-string-and-unquote problems
Date: Mon, 20 Oct 2008 19:01:12 +0200
Eli Zaretskii <eliz <at> gnu.org> writes:

>  (split-string-and-unquote "foo\ bar")
>     => ("foobar")                 [where's my blank?]

(elisp)Syntax for Strings.

Andreas.

-- 
Andreas Schwab, SuSE Labs, schwab <at> suse.de
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
PGP key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."




Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#1212; Package emacs. Full text and rfc822 format available.

Acknowledgement sent to Andreas Schwab <schwab <at> suse.de>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. Full text and rfc822 format available.

Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#1212; Package emacs. Full text and rfc822 format available.

Acknowledgement sent to Andreas Schwab <schwab <at> suse.de>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. Full text and rfc822 format available.

Message #20 received at submit <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Andreas Schwab <schwab <at> suse.de>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 1212 <at> debbugs.gnu.org, emacs-pretest-bug <at> gnu.org
Subject: Re: bug#1212: 23.0.60; split-string-and-unquote problems
Date: Mon, 20 Oct 2008 19:08:35 +0200
Eli Zaretskii <eliz <at> gnu.org> writes:

> The function split-string-and-unquote is a great help in taking apart
> shell command lines, but the values it returns seem incorrect in some
> situations, at least from shell command quoting perspective:

The docstring of split-string-and-unquote doesn't mention the word
"shell" anywhere.  Why do you think that "Emacs Lisp quoting" has
anything to do with "shell command quoting"?

Andreas.

-- 
Andreas Schwab, SuSE Labs, schwab <at> suse.de
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
PGP key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."




Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#1212; Package emacs. Full text and rfc822 format available.

Acknowledgement sent to Andreas Schwab <schwab <at> suse.de>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. Full text and rfc822 format available.

Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#1212; Package emacs. Full text and rfc822 format available.

Acknowledgement sent to Eli Zaretskii <eliz <at> gnu.org>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. Full text and rfc822 format available.

Message #30 received at 1212 <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Andreas Schwab <schwab <at> suse.de>
Cc: 1212 <at> debbugs.gnu.org, emacs-pretest-bug <at> gnu.org
Subject: Re: bug#1212: 23.0.60; split-string-and-unquote problems
Date: Mon, 20 Oct 2008 21:06:05 +0200
> From: Andreas Schwab <schwab <at> suse.de>
> Cc: 1212 <at> emacsbugs.donarmstrong.com, emacs-pretest-bug <at> gnu.org
> Date: Mon, 20 Oct 2008 19:01:12 +0200
> 
> Eli Zaretskii <eliz <at> gnu.org> writes:
> 
> >  (split-string-and-unquote "foo\ bar")
> >     => ("foobar")                 [where's my blank?]
> 
> (elisp)Syntax for Strings.

I tried that as well, in the part you omitted.




Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#1212; Package emacs. Full text and rfc822 format available.

Acknowledgement sent to Eli Zaretskii <eliz <at> gnu.org>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. Full text and rfc822 format available.

Message #35 received at submit <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Andreas Schwab <schwab <at> suse.de>
Cc: 1212 <at> debbugs.gnu.org, emacs-pretest-bug <at> gnu.org
Subject: Re: bug#1212: 23.0.60; split-string-and-unquote problems
Date: Mon, 20 Oct 2008 21:16:09 +0200
> From: Andreas Schwab <schwab <at> suse.de>
> Cc: 1212 <at> emacsbugs.donarmstrong.com, emacs-pretest-bug <at> gnu.org
> Date: Mon, 20 Oct 2008 19:08:35 +0200
> 
> Why do you think that "Emacs Lisp quoting" has anything to do with
> "shell command quoting"?

Because I grep'ped Emacs sources for its users.




Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#1212; Package emacs. Full text and rfc822 format available.

Acknowledgement sent to Eli Zaretskii <eliz <at> gnu.org>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. Full text and rfc822 format available.

Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#1212; Package emacs. Full text and rfc822 format available.

Acknowledgement sent to Eli Zaretskii <eliz <at> gnu.org>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. Full text and rfc822 format available.

Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#1212; Package emacs. Full text and rfc822 format available.

Acknowledgement sent to Andreas Schwab <schwab <at> suse.de>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. Full text and rfc822 format available.

Message #50 received at submit <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Andreas Schwab <schwab <at> suse.de>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 1212 <at> debbugs.gnu.org, emacs-pretest-bug <at> gnu.org
Subject: Re: bug#1212: 23.0.60; split-string-and-unquote problems
Date: Mon, 20 Oct 2008 23:28:21 +0200
Eli Zaretskii <eliz <at> gnu.org> writes:

>> From: Andreas Schwab <schwab <at> suse.de>
>> Cc: 1212 <at> emacsbugs.donarmstrong.com, emacs-pretest-bug <at> gnu.org
>> Date: Mon, 20 Oct 2008 19:08:35 +0200
>> 
>> Why do you think that "Emacs Lisp quoting" has anything to do with
>> "shell command quoting"?
>
> Because I grep'ped Emacs sources for its users.

That does not make it more suitable.

Andreas.

-- 
Andreas Schwab, SuSE Labs, schwab <at> suse.de
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
PGP key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."




Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#1212; Package emacs. Full text and rfc822 format available.

Acknowledgement sent to Andreas Schwab <schwab <at> suse.de>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. Full text and rfc822 format available.

Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#1212; Package emacs. Full text and rfc822 format available.

Acknowledgement sent to Andreas Schwab <schwab <at> suse.de>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. Full text and rfc822 format available.

Message #60 received at submit <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Andreas Schwab <schwab <at> suse.de>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 1212 <at> debbugs.gnu.org, emacs-pretest-bug <at> gnu.org
Subject: Re: bug#1212: 23.0.60; split-string-and-unquote problems
Date: Mon, 20 Oct 2008 23:30:35 +0200
Eli Zaretskii <eliz <at> gnu.org> writes:

>> From: Andreas Schwab <schwab <at> suse.de>
>> Cc: 1212 <at> emacsbugs.donarmstrong.com, emacs-pretest-bug <at> gnu.org
>> Date: Mon, 20 Oct 2008 19:01:12 +0200
>> 
>> Eli Zaretskii <eliz <at> gnu.org> writes:
>> 
>> >  (split-string-and-unquote "foo\ bar")
>> >     => ("foobar")                 [where's my blank?]
>> 
>> (elisp)Syntax for Strings.
>
> I tried that as well, in the part you omitted.

What did you try?

Andreas.

-- 
Andreas Schwab, SuSE Labs, schwab <at> suse.de
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
PGP key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."




Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#1212; Package emacs. Full text and rfc822 format available.

Acknowledgement sent to Andreas Schwab <schwab <at> suse.de>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. Full text and rfc822 format available.

Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#1212; Package emacs. Full text and rfc822 format available.

Acknowledgement sent to Eli Zaretskii <eliz <at> gnu.org>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. Full text and rfc822 format available.

Message #70 received at submit <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Andreas Schwab <schwab <at> suse.de>
Cc: 1212 <at> debbugs.gnu.org, emacs-pretest-bug <at> gnu.org
Subject: Re: bug#1212: 23.0.60; split-string-and-unquote problems
Date: Tue, 21 Oct 2008 00:36:39 +0200
> From: Andreas Schwab <schwab <at> suse.de>
> Cc: 1212 <at> emacsbugs.donarmstrong.com, emacs-pretest-bug <at> gnu.org
> Date: Mon, 20 Oct 2008 23:30:35 +0200
> 
> Eli Zaretskii <eliz <at> gnu.org> writes:
> 
> >> From: Andreas Schwab <schwab <at> suse.de>
> >> Cc: 1212 <at> emacsbugs.donarmstrong.com, emacs-pretest-bug <at> gnu.org
> >> Date: Mon, 20 Oct 2008 19:01:12 +0200
> >> 
> >> Eli Zaretskii <eliz <at> gnu.org> writes:
> >> 
> >> >  (split-string-and-unquote "foo\ bar")
> >> >     => ("foobar")                 [where's my blank?]
> >> 
> >> (elisp)Syntax for Strings.
> >
> > I tried that as well, in the part you omitted.
> 
> What did you try?

The other inputs, see my original mail.




Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#1212; Package emacs. Full text and rfc822 format available.

Acknowledgement sent to Eli Zaretskii <eliz <at> gnu.org>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. Full text and rfc822 format available.

Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#1212; Package emacs. Full text and rfc822 format available.

Acknowledgement sent to Eli Zaretskii <eliz <at> gnu.org>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. Full text and rfc822 format available.

Message #80 received at submit <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Andreas Schwab <schwab <at> suse.de>
Cc: 1212 <at> debbugs.gnu.org, emacs-pretest-bug <at> gnu.org,
        emacs-devel <at> gnu.org
Subject: Re: bug#1212: 23.0.60; split-string-and-unquote problems
Date: Tue, 21 Oct 2008 00:53:30 +0200
> From: Andreas Schwab <schwab <at> suse.de>
> Cc: 1212 <at> emacsbugs.donarmstrong.com, emacs-pretest-bug <at> gnu.org
> Date: Mon, 20 Oct 2008 23:28:21 +0200
> 
> Eli Zaretskii <eliz <at> gnu.org> writes:
> 
> >> From: Andreas Schwab <schwab <at> suse.de>
> >> Cc: 1212 <at> emacsbugs.donarmstrong.com, emacs-pretest-bug <at> gnu.org
> >> Date: Mon, 20 Oct 2008 19:08:35 +0200
> >> 
> >> Why do you think that "Emacs Lisp quoting" has anything to do with
> >> "shell command quoting"?
> >
> > Because I grep'ped Emacs sources for its users.
> 
> That does not make it more suitable.

You know, since you evidently know better, how about if you explained
what that pair of functions is supposed to do, exactly, and what are
their intended uses?  The doc strings fall short by a large margin,
and NEWS had this to say about these functions:

    *** `split-string-and-unquote' does (what?)

    *** `combine-and-quote-strings' does (what?)

If I can understand the explanation, maybe I could produce from it a
suitable section of the ELisp manual, which is the reason why I
started to play with split-string-and-unquote.  Failing that, I will
stick to my interpretation.

Here's what I wrote in the ELisp manual about these two functions;
comments and corrections, if someone has them, are greatly
appreciated:

  @cindex quoting and unquoting shell command line
    The following two functions help creating shell commands from
  individual argument strings and taking shell command lines apart into
  individual arguments.

  @defun split-string-and-unquote string &optional separators
  This function splits @var{string} into substrings at matches for the
  regular expression @var{separators}, like @code{split-string} does
  (@pxref{Creating Strings}), but it additionally removes quoting from
  the substrings.  It then makes a list of the substrings and returns
  it.

  If @var{separators} is omitted or nil, it defaults to @code{"\\s-+"},
  which is a regular expression that matches one or more characters with
  whitespace syntax (@pxref{Syntax Class Table}).

  The quoting this function supports is of 2 styles: by enclosing a
  whole string in double quotes @code{"@dots{}"}, or by quoting
  individual characters with a backslash escape @samp{\}.  The latter is
  also used in Lisp strings, so this function can handle those as well.
  @end defun

  @defun combine-and-quote-strings list-of-strings &optional separator
  This function concatenates @var{list-of-strings} into a single string,
  quoting each string in the list that needs quoting as it goes.  It
  also sticks the @var{separator} string in between each pair of strings
  in the result, and returns that result.  If @var{separator} is omitted
  or @code{nil}, it defaults to a blank @code{" "}.

  The strings in @var{list-of-strings} that need quoting are those that
  include @var{separator} as their substring.  Quoting a string encloses
  it in double quotes @code{"@dots{}"}.  In the simplest case, if you
  are consing a shell command from the individual command-line
  arguments, every argument that includes embedded blanks will be
  quoted.
  @end defun




Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#1212; Package emacs. Full text and rfc822 format available.

Acknowledgement sent to Eli Zaretskii <eliz <at> gnu.org>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. Full text and rfc822 format available.

Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#1212; Package emacs. Full text and rfc822 format available.

Acknowledgement sent to Stefan Monnier <monnier <at> iro.umontreal.ca>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. Full text and rfc822 format available.

Message #90 received at submit <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Stefan Monnier <monnier <at> iro.umontreal.ca>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: Andreas Schwab <schwab <at> suse.de>, emacs-pretest-bug <at> gnu.org,
        1212 <at> debbugs.gnu.org, emacs-devel <at> gnu.org
Subject: Re: bug#1212: 23.0.60; split-string-and-unquote problems
Date: Mon, 20 Oct 2008 21:11:10 -0400
>     *** `split-string-and-unquote' does (what?)
>     *** `combine-and-quote-strings' does (what?)

AFAIK, these two functions are meant to:

- provide a way to specify any list of strings within a single string
  (i.e. it needs to provide some separators and some way to quote the
  separators), using a format that's simple to type for the end user.
- be inverse of each other; more precisely
  (equal STR (split-string-and-unquote (combine-and-quote-strings STR)))
  this is also stipulated in the docstring of split-string-and-unquote.

As the docstring of split-string-and-unquote explains, the quoting used
is the same as the one used for ELisp strings.

I could have used sh-style quoting or csh-style, or any other style, but
csh-style is nasty, sh-style is too powerful (what should we do with
backquotes and $(...)), and ELisp is what Emacs uses already and it's
reasonably simple and we know it handles all cases reasonably well, so
it seemed like an OK choice.


        Stefan




Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#1212; Package emacs. Full text and rfc822 format available.

Acknowledgement sent to Stefan Monnier <monnier <at> iro.umontreal.ca>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. Full text and rfc822 format available.

Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#1212; Package emacs. Full text and rfc822 format available.

Acknowledgement sent to Andreas Schwab <schwab <at> suse.de>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. Full text and rfc822 format available.

Message #100 received at submit <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Andreas Schwab <schwab <at> suse.de>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 1212 <at> debbugs.gnu.org, emacs-pretest-bug <at> gnu.org
Subject: Re: bug#1212: 23.0.60; split-string-and-unquote problems
Date: Tue, 21 Oct 2008 11:25:33 +0200
Eli Zaretskii <eliz <at> gnu.org> writes:

>> From: Andreas Schwab <schwab <at> suse.de>
>> Cc: 1212 <at> emacsbugs.donarmstrong.com, emacs-pretest-bug <at> gnu.org
>> Date: Mon, 20 Oct 2008 23:30:35 +0200
>> 
>> Eli Zaretskii <eliz <at> gnu.org> writes:
>> 
>> >> From: Andreas Schwab <schwab <at> suse.de>
>> >> Cc: 1212 <at> emacsbugs.donarmstrong.com, emacs-pretest-bug <at> gnu.org
>> >> Date: Mon, 20 Oct 2008 19:01:12 +0200
>> >> 
>> >> Eli Zaretskii <eliz <at> gnu.org> writes:
>> >> 
>> >> >  (split-string-and-unquote "foo\ bar")
>> >> >     => ("foobar")                 [where's my blank?]
>> >> 
>> >> (elisp)Syntax for Strings.
>> >
>> > I tried that as well, in the part you omitted.
>> 
>> What did you try?
>
> The other inputs, see my original mail.

Please read the node again.  There is no blank.

Andreas.

-- 
Andreas Schwab, SuSE Labs, schwab <at> suse.de
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
PGP key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."




Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#1212; Package emacs. Full text and rfc822 format available.

Acknowledgement sent to Andreas Schwab <schwab <at> suse.de>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. Full text and rfc822 format available.

Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#1212; Package emacs. Full text and rfc822 format available.

Acknowledgement sent to Eli Zaretskii <eliz <at> gnu.org>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. Full text and rfc822 format available.

Message #110 received at submit <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Andreas Schwab <schwab <at> suse.de>
Cc: 1212 <at> debbugs.gnu.org, emacs-pretest-bug <at> gnu.org
Subject: Re: bug#1212: 23.0.60; split-string-and-unquote problems
Date: Tue, 21 Oct 2008 12:18:08 +0200
> From: Andreas Schwab <schwab <at> suse.de>
> Cc: 1212 <at> emacsbugs.donarmstrong.com, emacs-pretest-bug <at> gnu.org
> Date: Tue, 21 Oct 2008 11:25:33 +0200
> 
> Eli Zaretskii <eliz <at> gnu.org> writes:
> 
> >> From: Andreas Schwab <schwab <at> suse.de>
> >> Cc: 1212 <at> emacsbugs.donarmstrong.com, emacs-pretest-bug <at> gnu.org
> >> Date: Mon, 20 Oct 2008 23:30:35 +0200
> >> 
> >> Eli Zaretskii <eliz <at> gnu.org> writes:
> >> 
> >> >> From: Andreas Schwab <schwab <at> suse.de>
> >> >> Cc: 1212 <at> emacsbugs.donarmstrong.com, emacs-pretest-bug <at> gnu.org
> >> >> Date: Mon, 20 Oct 2008 19:01:12 +0200
> >> >> 
> >> >> Eli Zaretskii <eliz <at> gnu.org> writes:
> >> >> 
> >> >> >  (split-string-and-unquote "foo\ bar")
> >> >> >     => ("foobar")                 [where's my blank?]
> >> >> 
> >> >> (elisp)Syntax for Strings.
> >> >
> >> > I tried that as well, in the part you omitted.
> >> 
> >> What did you try?
> >
> > The other inputs, see my original mail.
> 
> Please read the node again.  There is no blank.

Please read my questions again, in the original report.




Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#1212; Package emacs. Full text and rfc822 format available.

Acknowledgement sent to Eli Zaretskii <eliz <at> gnu.org>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. Full text and rfc822 format available.

Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#1212; Package emacs. Full text and rfc822 format available.

Acknowledgement sent to Andreas Schwab <schwab <at> suse.de>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. Full text and rfc822 format available.

Message #120 received at submit <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Andreas Schwab <schwab <at> suse.de>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 1212 <at> debbugs.gnu.org, emacs-pretest-bug <at> gnu.org
Subject: Re: bug#1212: 23.0.60; split-string-and-unquote problems
Date: Tue, 21 Oct 2008 13:00:35 +0200
Eli Zaretskii <eliz <at> gnu.org> writes:

>> From: Andreas Schwab <schwab <at> suse.de>
>> Cc: 1212 <at> emacsbugs.donarmstrong.com, emacs-pretest-bug <at> gnu.org
>> Date: Tue, 21 Oct 2008 11:25:33 +0200
>> 
>> Eli Zaretskii <eliz <at> gnu.org> writes:
>> 
>> >> From: Andreas Schwab <schwab <at> suse.de>
>> >> Cc: 1212 <at> emacsbugs.donarmstrong.com, emacs-pretest-bug <at> gnu.org
>> >> Date: Mon, 20 Oct 2008 23:30:35 +0200
>> >> 
>> >> Eli Zaretskii <eliz <at> gnu.org> writes:
>> >> 
>> >> >> From: Andreas Schwab <schwab <at> suse.de>
>> >> >> Cc: 1212 <at> emacsbugs.donarmstrong.com, emacs-pretest-bug <at> gnu.org
>> >> >> Date: Mon, 20 Oct 2008 19:01:12 +0200
>> >> >> 
>> >> >> Eli Zaretskii <eliz <at> gnu.org> writes:
>> >> >> 
>> >> >> >  (split-string-and-unquote "foo\ bar")
>> >> >> >     => ("foobar")                 [where's my blank?]
                                              ^^^^^^^^^^^^^^^^^
>> >> >> 
>> >> >> (elisp)Syntax for Strings.
>> >> >
>> >> > I tried that as well, in the part you omitted.
>> >> 
>> >> What did you try?
>> >
>> > The other inputs, see my original mail.
>> 
>> Please read the node again.  There is no blank.
>
> Please read my questions again, in the original report.

I did, see above.

Andreas.

-- 
Andreas Schwab, SuSE Labs, schwab <at> suse.de
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
PGP key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."




Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#1212; Package emacs. Full text and rfc822 format available.

Acknowledgement sent to Andreas Schwab <schwab <at> suse.de>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. Full text and rfc822 format available.

Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#1212; Package emacs. Full text and rfc822 format available.

Acknowledgement sent to Eli Zaretskii <eliz <at> gnu.org>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. Full text and rfc822 format available.

Message #130 received at submit <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Andreas Schwab <schwab <at> suse.de>
Cc: 1212 <at> debbugs.gnu.org, emacs-pretest-bug <at> gnu.org
Subject: Re: bug#1212: 23.0.60; split-string-and-unquote problems
Date: Tue, 21 Oct 2008 13:33:56 +0200
> From: Andreas Schwab <schwab <at> suse.de>
> Cc: 1212 <at> emacsbugs.donarmstrong.com, emacs-pretest-bug <at> gnu.org
> Date: Tue, 21 Oct 2008 13:00:35 +0200
> 
> Eli Zaretskii <eliz <at> gnu.org> writes:
> 
> >> From: Andreas Schwab <schwab <at> suse.de>
> >> Cc: 1212 <at> emacsbugs.donarmstrong.com, emacs-pretest-bug <at> gnu.org
> >> Date: Tue, 21 Oct 2008 11:25:33 +0200
> >> 
> >> Eli Zaretskii <eliz <at> gnu.org> writes:
> >> 
> >> >> From: Andreas Schwab <schwab <at> suse.de>
> >> >> Cc: 1212 <at> emacsbugs.donarmstrong.com, emacs-pretest-bug <at> gnu.org
> >> >> Date: Mon, 20 Oct 2008 23:30:35 +0200
> >> >> 
> >> >> Eli Zaretskii <eliz <at> gnu.org> writes:
> >> >> 
> >> >> >> From: Andreas Schwab <schwab <at> suse.de>
> >> >> >> Cc: 1212 <at> emacsbugs.donarmstrong.com, emacs-pretest-bug <at> gnu.org
> >> >> >> Date: Mon, 20 Oct 2008 19:01:12 +0200
> >> >> >> 
> >> >> >> Eli Zaretskii <eliz <at> gnu.org> writes:
> >> >> >> 
> >> >> >> >  (split-string-and-unquote "foo\ bar")
> >> >> >> >     => ("foobar")                 [where's my blank?]
>                                               ^^^^^^^^^^^^^^^^^
> >> >> >> 
> >> >> >> (elisp)Syntax for Strings.
> >> >> >
> >> >> > I tried that as well, in the part you omitted.
> >> >> 
> >> >> What did you try?
> >> >
> >> > The other inputs, see my original mail.
> >> 
> >> Please read the node again.  There is no blank.
> >
> > Please read my questions again, in the original report.
> 
> I did, see above.

Which part of "the other inputs" did you misunderstand?




Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#1212; Package emacs. Full text and rfc822 format available.

Acknowledgement sent to Eli Zaretskii <eliz <at> gnu.org>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. Full text and rfc822 format available.

Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#1212; Package emacs. Full text and rfc822 format available.

Acknowledgement sent to Andreas Schwab <schwab <at> suse.de>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. Full text and rfc822 format available.

Message #140 received at submit <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Andreas Schwab <schwab <at> suse.de>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 1212 <at> debbugs.gnu.org, emacs-pretest-bug <at> gnu.org
Subject: Re: bug#1212: 23.0.60; split-string-and-unquote problems
Date: Tue, 21 Oct 2008 13:49:02 +0200
Eli Zaretskii <eliz <at> gnu.org> writes:

>> From: Andreas Schwab <schwab <at> suse.de>
>> Cc: 1212 <at> emacsbugs.donarmstrong.com, emacs-pretest-bug <at> gnu.org
>> Date: Tue, 21 Oct 2008 13:00:35 +0200
>> 
>> Eli Zaretskii <eliz <at> gnu.org> writes:
>> 
>> >> From: Andreas Schwab <schwab <at> suse.de>
>> >> Cc: 1212 <at> emacsbugs.donarmstrong.com, emacs-pretest-bug <at> gnu.org
>> >> Date: Tue, 21 Oct 2008 11:25:33 +0200
>> >> 
>> >> Eli Zaretskii <eliz <at> gnu.org> writes:
>> >> 
>> >> >> From: Andreas Schwab <schwab <at> suse.de>
>> >> >> Cc: 1212 <at> emacsbugs.donarmstrong.com, emacs-pretest-bug <at> gnu.org
>> >> >> Date: Mon, 20 Oct 2008 23:30:35 +0200
>> >> >> 
>> >> >> Eli Zaretskii <eliz <at> gnu.org> writes:
>> >> >> 
>> >> >> >> From: Andreas Schwab <schwab <at> suse.de>
>> >> >> >> Cc: 1212 <at> emacsbugs.donarmstrong.com, emacs-pretest-bug <at> gnu.org
>> >> >> >> Date: Mon, 20 Oct 2008 19:01:12 +0200
>> >> >> >> 
>> >> >> >> Eli Zaretskii <eliz <at> gnu.org> writes:
>> >> >> >> 
>> >> >> >> >  (split-string-and-unquote "foo\ bar")
>> >> >> >> >     => ("foobar")                 [where's my blank?]
>>                                               ^^^^^^^^^^^^^^^^^
>> >> >> >> 
>> >> >> >> (elisp)Syntax for Strings.
>> >> >> >
>> >> >> > I tried that as well, in the part you omitted.
>> >> >> 
>> >> >> What did you try?
>> >> >
>> >> > The other inputs, see my original mail.
>> >> 
>> >> Please read the node again.  There is no blank.
>> >
>> > Please read my questions again, in the original report.
>> 
>> I did, see above.
>
> Which part of "the other inputs" did you misunderstand?

This is completely irrelevant.  I have answered _only_ your question
above.

Andreas.

-- 
Andreas Schwab, SuSE Labs, schwab <at> suse.de
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
PGP key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."




Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#1212; Package emacs. Full text and rfc822 format available.

Acknowledgement sent to Andreas Schwab <schwab <at> suse.de>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. Full text and rfc822 format available.

Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#1212; Package emacs. Full text and rfc822 format available.

Acknowledgement sent to Eli Zaretskii <eliz <at> gnu.org>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. Full text and rfc822 format available.

Message #150 received at submit <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Andreas Schwab <schwab <at> suse.de>
Cc: 1212 <at> debbugs.gnu.org, emacs-pretest-bug <at> gnu.org
Subject: Re: bug#1212: 23.0.60; split-string-and-unquote problems
Date: Tue, 21 Oct 2008 14:25:32 +0200
> From: Andreas Schwab <schwab <at> suse.de>
> Cc: 1212 <at> emacsbugs.donarmstrong.com, emacs-pretest-bug <at> gnu.org
> Date: Tue, 21 Oct 2008 13:49:02 +0200
> 
> Eli Zaretskii <eliz <at> gnu.org> writes:
> 
> >> From: Andreas Schwab <schwab <at> suse.de>
> >> Cc: 1212 <at> emacsbugs.donarmstrong.com, emacs-pretest-bug <at> gnu.org
> >> Date: Tue, 21 Oct 2008 13:00:35 +0200
> >> 
> >> Eli Zaretskii <eliz <at> gnu.org> writes:
> >> 
> >> >> From: Andreas Schwab <schwab <at> suse.de>
> >> >> Cc: 1212 <at> emacsbugs.donarmstrong.com, emacs-pretest-bug <at> gnu.org
> >> >> Date: Tue, 21 Oct 2008 11:25:33 +0200
> >> >> 
> >> >> Eli Zaretskii <eliz <at> gnu.org> writes:
> >> >> 
> >> >> >> From: Andreas Schwab <schwab <at> suse.de>
> >> >> >> Cc: 1212 <at> emacsbugs.donarmstrong.com, emacs-pretest-bug <at> gnu.org
> >> >> >> Date: Mon, 20 Oct 2008 23:30:35 +0200
> >> >> >> 
> >> >> >> Eli Zaretskii <eliz <at> gnu.org> writes:
> >> >> >> 
> >> >> >> >> From: Andreas Schwab <schwab <at> suse.de>
> >> >> >> >> Cc: 1212 <at> emacsbugs.donarmstrong.com, emacs-pretest-bug <at> gnu.org
> >> >> >> >> Date: Mon, 20 Oct 2008 19:01:12 +0200
> >> >> >> >> 
> >> >> >> >> Eli Zaretskii <eliz <at> gnu.org> writes:
> >> >> >> >> 
> >> >> >> >> >  (split-string-and-unquote "foo\ bar")
> >> >> >> >> >     => ("foobar")                 [where's my blank?]
> >>                                               ^^^^^^^^^^^^^^^^^
> >> >> >> >> 
> >> >> >> >> (elisp)Syntax for Strings.
> >> >> >> >
> >> >> >> > I tried that as well, in the part you omitted.
> >> >> >> 
> >> >> >> What did you try?
> >> >> >
> >> >> > The other inputs, see my original mail.
> >> >> 
> >> >> Please read the node again.  There is no blank.
> >> >
> >> > Please read my questions again, in the original report.
> >> 
> >> I did, see above.
> >
> > Which part of "the other inputs" did you misunderstand?
> 
> This is completely irrelevant.  I have answered _only_ your question
> above.

The answer to that specific question is completely irrelevant to the
problem I reported in the original bug report.  You need to consider
all the examples and questions together.




Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#1212; Package emacs. Full text and rfc822 format available.

Acknowledgement sent to Eli Zaretskii <eliz <at> gnu.org>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. Full text and rfc822 format available.

Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#1212; Package emacs. Full text and rfc822 format available.

Acknowledgement sent to Andreas Schwab <schwab <at> suse.de>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. Full text and rfc822 format available.

Message #160 received at submit <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Andreas Schwab <schwab <at> suse.de>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 1212 <at> debbugs.gnu.org, emacs-pretest-bug <at> gnu.org
Subject: Re: bug#1212: 23.0.60; split-string-and-unquote problems
Date: Tue, 21 Oct 2008 14:50:30 +0200
Eli Zaretskii <eliz <at> gnu.org> writes:

> The answer to that specific question is completely irrelevant to the
> problem I reported in the original bug report.  You need to consider
> all the examples and questions together.

It makes half of your examples useless.

Andreas.

-- 
Andreas Schwab, SuSE Labs, schwab <at> suse.de
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
PGP key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."




Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#1212; Package emacs. Full text and rfc822 format available.

Acknowledgement sent to Andreas Schwab <schwab <at> suse.de>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. Full text and rfc822 format available.

Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#1212; Package emacs. Full text and rfc822 format available.

Acknowledgement sent to Eli Zaretskii <eliz <at> gnu.org>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. Full text and rfc822 format available.

Message #170 received at submit <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Andreas Schwab <schwab <at> suse.de>
Cc: 1212 <at> debbugs.gnu.org, emacs-pretest-bug <at> gnu.org
Subject: Re: bug#1212: 23.0.60; split-string-and-unquote problems
Date: Tue, 21 Oct 2008 14:58:01 +0200
> X-Spam-Status: No, score=-1.7 required=5.0 tests=AWL,BAYES_00,
> 	DNS_FROM_SECURITYSAGE autolearn=no version=3.1.0
> From: Andreas Schwab <schwab <at> suse.de>
> Cc: 1212 <at> emacsbugs.donarmstrong.com, emacs-pretest-bug <at> gnu.org
> Date: Tue, 21 Oct 2008 14:50:30 +0200
> 
> Eli Zaretskii <eliz <at> gnu.org> writes:
> 
> > The answer to that specific question is completely irrelevant to the
> > problem I reported in the original bug report.  You need to consider
> > all the examples and questions together.
> 
> It makes half of your examples useless.

I made a lot of trials out of sheer despair.  The examples were
supposed to demonstrate that nothing worked.




Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#1212; Package emacs. Full text and rfc822 format available.

Acknowledgement sent to Eli Zaretskii <eliz <at> gnu.org>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. Full text and rfc822 format available.

Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#1212; Package emacs. Full text and rfc822 format available.

Acknowledgement sent to Andreas Schwab <schwab <at> suse.de>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. Full text and rfc822 format available.

Message #180 received at submit <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Andreas Schwab <schwab <at> suse.de>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 1212 <at> debbugs.gnu.org, emacs-pretest-bug <at> gnu.org
Subject: Re: bug#1212: 23.0.60; split-string-and-unquote problems
Date: Tue, 21 Oct 2008 15:24:11 +0200
Eli Zaretskii <eliz <at> gnu.org> writes:

>> X-Spam-Status: No, score=-1.7 required=5.0 tests=AWL,BAYES_00,
>> 	DNS_FROM_SECURITYSAGE autolearn=no version=3.1.0
>> From: Andreas Schwab <schwab <at> suse.de>
>> Cc: 1212 <at> emacsbugs.donarmstrong.com, emacs-pretest-bug <at> gnu.org
>> Date: Tue, 21 Oct 2008 14:50:30 +0200
>> 
>> Eli Zaretskii <eliz <at> gnu.org> writes:
>> 
>> > The answer to that specific question is completely irrelevant to the
>> > problem I reported in the original bug report.  You need to consider
>> > all the examples and questions together.
>> 
>> It makes half of your examples useless.
>
> I made a lot of trials out of sheer despair.  The examples were
> supposed to demonstrate that nothing worked.

Of course, if there is nothing to split.  What's your point?

Andreas.

-- 
Andreas Schwab, SuSE Labs, schwab <at> suse.de
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
PGP key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."




Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#1212; Package emacs. Full text and rfc822 format available.

Acknowledgement sent to Andreas Schwab <schwab <at> suse.de>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. Full text and rfc822 format available.

Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#1212; Package emacs. Full text and rfc822 format available.

Acknowledgement sent to Eli Zaretskii <eliz <at> gnu.org>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. Full text and rfc822 format available.

Message #190 received at submit <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Andreas Schwab <schwab <at> suse.de>
Cc: 1212 <at> debbugs.gnu.org, emacs-pretest-bug <at> gnu.org
Subject: Re: bug#1212: 23.0.60; split-string-and-unquote problems
Date: Tue, 21 Oct 2008 15:36:52 +0200
> From: Andreas Schwab <schwab <at> suse.de>
> Cc: 1212 <at> emacsbugs.donarmstrong.com, emacs-pretest-bug <at> gnu.org
> Date: Tue, 21 Oct 2008 15:24:11 +0200
> 
> Eli Zaretskii <eliz <at> gnu.org> writes:
> 
> >> X-Spam-Status: No, score=-1.7 required=5.0 tests=AWL,BAYES_00,
> >> 	DNS_FROM_SECURITYSAGE autolearn=no version=3.1.0
> >> From: Andreas Schwab <schwab <at> suse.de>
> >> Cc: 1212 <at> emacsbugs.donarmstrong.com, emacs-pretest-bug <at> gnu.org
> >> Date: Tue, 21 Oct 2008 14:50:30 +0200
> >> 
> >> Eli Zaretskii <eliz <at> gnu.org> writes:
> >> 
> >> > The answer to that specific question is completely irrelevant to the
> >> > problem I reported in the original bug report.  You need to consider
> >> > all the examples and questions together.
> >> 
> >> It makes half of your examples useless.
> >
> > I made a lot of trials out of sheer despair.  The examples were
> > supposed to demonstrate that nothing worked.
> 
> Of course, if there is nothing to split.  What's your point?

The point is that the function says it also _unquotes_.  It's the
unquoting that didn't work for me in the cases I described in the bug
report.  Adding more text just so it could split doesn't change the
problematic behavior, but would clutter the bug report with irrelevant
details.




Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#1212; Package emacs. Full text and rfc822 format available.

Acknowledgement sent to Eli Zaretskii <eliz <at> gnu.org>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. Full text and rfc822 format available.

Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#1212; Package emacs. Full text and rfc822 format available.

Acknowledgement sent to Andreas Schwab <schwab <at> suse.de>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. Full text and rfc822 format available.

Message #200 received at submit <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Andreas Schwab <schwab <at> suse.de>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 1212 <at> debbugs.gnu.org, emacs-pretest-bug <at> gnu.org
Subject: Re: bug#1212: 23.0.60; split-string-and-unquote problems
Date: Tue, 21 Oct 2008 15:44:44 +0200
Eli Zaretskii <eliz <at> gnu.org> writes:

> The point is that the function says it also _unquotes_.

Why did you emphasize on the missing blank then?

Andreas.

-- 
Andreas Schwab, SuSE Labs, schwab <at> suse.de
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
PGP key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."




Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#1212; Package emacs. Full text and rfc822 format available.

Acknowledgement sent to Andreas Schwab <schwab <at> suse.de>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. Full text and rfc822 format available.

Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#1212; Package emacs. Full text and rfc822 format available.

Acknowledgement sent to Eli Zaretskii <eliz <at> gnu.org>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. Full text and rfc822 format available.

Message #210 received at submit <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Andreas Schwab <schwab <at> suse.de>
Cc: 1212 <at> debbugs.gnu.org, emacs-pretest-bug <at> gnu.org
Subject: Re: bug#1212: 23.0.60; split-string-and-unquote problems
Date: Tue, 21 Oct 2008 17:13:09 +0200
> From: Andreas Schwab <schwab <at> suse.de>
> Cc: 1212 <at> emacsbugs.donarmstrong.com, emacs-pretest-bug <at> gnu.org
> Date: Tue, 21 Oct 2008 15:44:44 +0200
> 
> Eli Zaretskii <eliz <at> gnu.org> writes:
> 
> > The point is that the function says it also _unquotes_.
> 
> Why did you emphasize on the missing blank then?

Because I couldn't find any way of quoting embedded blanks with
backslashes, something frequently done in shell commands.




Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#1212; Package emacs. Full text and rfc822 format available.

Acknowledgement sent to Eli Zaretskii <eliz <at> gnu.org>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. Full text and rfc822 format available.

Reply sent to Eli Zaretskii <eliz <at> gnu.org>:
You have taken responsibility. (Sat, 11 Dec 2010 09:45:02 GMT) Full text and rfc822 format available.

Notification sent to Eli Zaretskii <eliz <at> gnu.org>:
bug acknowledged by developer. (Sat, 11 Dec 2010 09:45:02 GMT) Full text and rfc822 format available.

Message #220 received at 1212-done <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Dave Abrahams <dave <at> boostpro.com>
Cc: 7563-done <at> debbugs.gnu.org, 1212-done <at> debbugs.gnu.org
Subject: Re: bug#7563: 23.2;
	`split-string-and-unquote' mis-documented / purpose unclear
Date: Sat, 11 Dec 2010 11:50:35 +0200
> Date: Sun, 05 Dec 2010 16:28:16 -0500
> From: Dave Abrahams <dave <at> boostpro.com>
> Cc: 
> 
>        This function performs two types of quoting: enclosing a whole
>        string in double quotes `"..."', and quoting individual characters
>        with a backslash escape `\'.  The latter is also used in Lisp
>        strings, so this function can handle those as well.
> 
> 
> First problem: the last paragraph above is simply wrong.
> split-string-and-unquote doesn't perform any type of quoting; it
> un-quotes.

I changed "performs" to "supports".  Thanks for catching this.

> Second problem: the doc implies that a string that could be executed
> by the shell could be split into its constituent arguments by
> split-string-and-unquote, but in general, it cannot, e.g.:
> 
>   (split-string-and-unquote "'foo bar'") => ("'foo" "bar'")
>   (split-string-and-unquote "foo\\ bar") => ("foo" "bar")
> 
> I'm not sure what this function is really supposed to be for, but any
> implication that it properly handles conversion into shell arguments
> is highly misleading.  Some motivation should be given for proper use
> of split-string-and-unquote, or it should be deprecated.

This has come up before; see Bug #1212 and this thread:

  http://lists.gnu.org/archive/html/emacs-devel/2008-10/msg00431.html

The best explanation I can give you is that this function is for
taking minibuffer input and converting it to a list of string
arguments as required by call-process and start-process.  (I added
this information to the manual.)  Note that the documentation does not
mention "shell" anywhere.  You could also gain some insight by looking
at the users of this function.

With those changes, I'm closing this bug report (and 1212 as well),
because the issue has been already beaten to death in the above
discussion.

The changes I made are on the emacs-23 branch, btw, in case you want
to eyeball them.




Message #221 received at 1212-done <at> debbugs.gnu.org (full text, mbox):

From: Dave Abrahams <dave <at> boostpro.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 7563-done <at> debbugs.gnu.org, 1212-done <at> debbugs.gnu.org
Subject: Re: bug#7563: 23.2;
	`split-string-and-unquote' mis-documented / purpose unclear
Date: Sat, 11 Dec 2010 08:43:42 -0500
At Sat, 11 Dec 2010 11:50:35 +0200,
Eli Zaretskii wrote:
> 
> > Date: Sun, 05 Dec 2010 16:28:16 -0500
> > From: Dave Abrahams <dave <at> boostpro.com>
> > 
> >        This function performs two types of quoting: enclosing a whole
> >        string in double quotes `"..."', and quoting individual characters
> >        with a backslash escape `\'.  The latter is also used in Lisp
> >        strings, so this function can handle those as well.
> > 
> > 
> > First problem: the last paragraph above is simply wrong.
> > split-string-and-unquote doesn't perform any type of quoting; it
> > un-quotes.
> 
> I changed "performs" to "supports".  Thanks for catching this.

But it's still wrong, I'm afraid.  As I mentioned in my original
report,

    (split-string-and-unquote "foo\\ bar") 

yields a list of 2 elements (I wrote it wrong below: you get a
trailing backslash on "foo\\")

> > Second problem: the doc implies that a string that could be executed
> > by the shell could be split into its constituent arguments by
> > split-string-and-unquote, but in general, it cannot, e.g.:
> > 
> >   (split-string-and-unquote "'foo bar'") => ("'foo" "bar'")
> >   (split-string-and-unquote "foo\\ bar") => ("foo" "bar")
> > 
> > I'm not sure what this function is really supposed to be for, but any
> > implication that it properly handles conversion into shell arguments
> > is highly misleading.  Some motivation should be given for proper use
> > of split-string-and-unquote, or it should be deprecated.
> 
> This has come up before; see Bug #1212 and this thread:
> 
>   http://lists.gnu.org/archive/html/emacs-devel/2008-10/msg00431.html
> 
> The best explanation I can give you is that this function is for
> taking minibuffer input and converting it to a list of string
> arguments as required by call-process and start-process.  (I added
> this information to the manual.)  Note that the documentation does not
> mention "shell" anywhere.  You could also gain some insight by looking
> at the users of this function.
> 
> With those changes, I'm closing this bug report (and 1212 as well),
> because the issue has been already beaten to death in the above
> discussion.  The changes I made are on the emacs-23 branch, btw, in
> case you want to eyeball them.

Well, I'm sorry that the previous discussion was so unpleasant, but:

* I disagree strongly that it is a proper resolution:

  * I spent lots of time trying to suss out what was really going on
    here and writing a clear bug report.  I did that in the hopes that
    nobody else would waste time trying to figure this out again, and
    I don't believe that change will prevent it.

  * The functions' design still has nothing to do with shell quoting;
    they are hard-coded to work with double-quotes and only
    double-quotes, which is not guaranteed to work for an arbitrary
    definition of "shell."

* I believe my report is clearer than #1212 as it identifies the cause
  of the original reporter's confusion, and should be evaluated on its
  own merits without prejudice.

* Having now read the history of this issue, I am strongly convinced
  that the proper thing to do is deprecate these functions. I'm not
  sure what Emacs convention is here, but I would do it as follows:

  * Leave them in the source so nobody's code breaks

  * Change their documentation in source to note that they are 
    deprecated

  * Remove their documentation from the manual or move it to
    an appendix of deprecated functionality.

-- 
Dave Abrahams
BoostPro Computing
http://www.boostpro.com





Message #222 received at 1212-done <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Dave Abrahams <dave <at> boostpro.com>
Cc: 7563-done <at> debbugs.gnu.org, 1212-done <at> debbugs.gnu.org
Subject: Re: bug#7563: 23.2;
	`split-string-and-unquote' mis-documented / purpose unclear
Date: Sat, 11 Dec 2010 17:52:02 +0200
> Date: Sat, 11 Dec 2010 08:43:42 -0500
> From: Dave Abrahams <dave <at> boostpro.com>
> Cc: 7563-done <at> debbugs.gnu.org,
> 	1212-done <at> debbugs.gnu.org
> 
> > >        This function performs two types of quoting: enclosing a whole
> > >        string in double quotes `"..."', and quoting individual characters
> > >        with a backslash escape `\'.  The latter is also used in Lisp
> > >        strings, so this function can handle those as well.
> > > 
> > > 
> > > First problem: the last paragraph above is simply wrong.
> > > split-string-and-unquote doesn't perform any type of quoting; it
> > > un-quotes.
> > 
> > I changed "performs" to "supports".  Thanks for catching this.
> 
> But it's still wrong, I'm afraid.

It's not "wrong", in the sense that previously the text made it sound
as if split-string-and-unquote could actually _add_ quoting.  That is
the only thing I intended to fix there.

> As I mentioned in my original report,
> 
>     (split-string-and-unquote "foo\\ bar") 
> 
> yields a list of 2 elements (I wrote it wrong below: you get a
> trailing backslash on "foo\\")

That's by design; read the discussion I pointed to, where Stefan
explained his rationale.  You could agree or disagree with him, but
evidently these functions are useful in a certain class of situations;
see how they are used in a few Lisp packages that come with Emacs.

>   * I spent lots of time trying to suss out what was really going on
>     here and writing a clear bug report.  I did that in the hopes that
>     nobody else would waste time trying to figure this out again, and
>     I don't believe that change will prevent it.

Now that the manual explicitly mentions call-process and
start-process, which are the clients of this function, what else is
missing or unclear?  Please be specific.

>   * The functions' design still has nothing to do with shell quoting;
>     they are hard-coded to work with double-quotes and only
>     double-quotes, which is not guaranteed to work for an arbitrary
>     definition of "shell."

I believe the manual says precisely that.  If the problem is with
mentioning "shell", would removing that solve this difficulty?

> * Having now read the history of this issue, I am strongly convinced
>   that the proper thing to do is deprecate these functions.

They were introduced fairly recently, and I'm sure they were added for
good reasons.  I'll let Stefan respond in detail.




Message #223 received at 1212-done <at> debbugs.gnu.org (full text, mbox):

From: Dave Abrahams <dave <at> boostpro.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: "7563-done <at> debbugs.gnu.org" <7563-done <at> debbugs.gnu.org>,
	"1212-done <at> debbugs.gnu.org" <1212-done <at> debbugs.gnu.org>
Subject: Re: bug#7563: 23.2;
	`split-string-and-unquote' mis-documented / purpose unclear
Date: Sat, 11 Dec 2010 12:57:30 -0500
On Dec 11, 2010, at 10:52 AM, Eli Zaretskii <eliz <at> gnu.org> wrote:

>> Date: Sat, 11 Dec 2010 08:43:42 -0500
>> From: Dave Abrahams <dave <at> boostpro.com>
>> Cc: 7563-done <at> debbugs.gnu.org,
>>    1212-done <at> debbugs.gnu.org
>> 
>>>>       This function performs two types of quoting: enclosing a whole
>>>>       string in double quotes `"..."', and quoting individual characters
>>>>       with a backslash escape `\'.  The latter is also used in Lisp
>>>>       strings, so this function can handle those as well.
>>>> 
>>>> 
>>>> First problem: the last paragraph above is simply wrong.
>>>> split-string-and-unquote doesn't perform any type of quoting; it
>>>> un-quotes.
>>> 
>>> I changed "performs" to "supports".  Thanks for catching this.
>> 
>> But it's still wrong, I'm afraid.
> 
> It's not "wrong", in the sense that previously the text made it sound
> as if split-string-and-unquote could actually _add_ quoting.  That is
> the only thing I intended to fix there.

Sorry, let me precise: your fix is correct inasmuch as it fulfills your intention, but the text you were working on is still wrong because it says quite clearly that backslash escaping is supported, but as I have shown, it is not. 

> 
>> As I mentioned in my original report,
>> 
>>    (split-string-and-unquote "foo\\ bar") 
>> 
>> yields a list of 2 elements (I wrote it wrong below: you get a
>> trailing backslash on "foo\\")
> 
> That's by design; read the discussion I pointed to, where Stefan
> explained his rationale.  You could agree or disagree with him, but
> evidently these functions are useful in a certain class of situations;
> see how they are used in a few Lisp packages that come with Emacs.

Fine; I'm not arguing with their functionality. I'm arguing that they're mis-documented. 

> 
>>  * I spent lots of time trying to suss out what was really going on
>>    here and writing a clear bug report.  I did that in the hopes that
>>    nobody else would waste time trying to figure this out again, and
>>    I don't believe that change will prevent it.
> 
> Now that the manual explicitly mentions call-process and
> start-process, which are the clients of this function, what else is
> missing or unclear?  Please be specific.

Specifically it specifically states they handle backslashes, and strongly implies that they have generally-useful semantics for interacting with arbitrary shells, when in fact they are essentially implementation details of call-/start-process whose semantics are only appropriate to an undocumented set of conditions set up in those two functions. 

>>  * The functions' design still has nothing to do with shell quoting;
>>    they are hard-coded to work with double-quotes and only
>>    double-quotes, which is not guaranteed to work for an arbitrary
>>    definition of "shell."
> 
> I believe the manual says precisely that.  If the problem is with
> mentioning "shell", would removing that solve this difficulty?

It would certainly help

>> * Having now read the history of this issue, I am strongly convinced
>>  that the proper thing to do is deprecate these functions.
> 
> They were introduced fairly recently, and I'm sure they were added for
> good reasons.  I'll let Stefan respond in detail.

I'm sure they belong in the codebase, but fairly certain they don't belong in the docs until they can be documented accurately. 

BoostPro Computing * http://boostpro.com
[Sent from coveted but awkward mobile device]





bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sun, 09 Jan 2011 12:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 14 years and 164 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.