From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#8321: 23.1; emerge error diff extra operand Date: Tue, 22 Mar 2011 21:48:27 +0200 Message-ID: <83pqpj7x84.fsf@gnu.org> References: <4D88C5CC.8090205@yv.org> <83vczb7zc5.fsf@gnu.org> <4D88F91F.8020109@yv.org> Reply-To: Eli Zaretskii NNTP-Posting-Host: lo.gmane.org X-Trace: dough.gmane.org 1300825656 1482 80.91.229.12 (22 Mar 2011 20:27:36 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Tue, 22 Mar 2011 20:27:36 +0000 (UTC) Cc: 8321@debbugs.gnu.org To: "Mark H. David" Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Tue Mar 22 21:27:31 2011 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Q28Ao-0008IV-TV for geb-bug-gnu-emacs@m.gmane.org; Tue, 22 Mar 2011 21:27:27 +0100 Original-Received: from localhost ([127.0.0.1]:40981 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Q27rR-0006FZ-RK for geb-bug-gnu-emacs@m.gmane.org; Tue, 22 Mar 2011 16:07:25 -0400 Original-Received: from [140.186.70.92] (port=34442 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Q27rC-00067z-2l for bug-gnu-emacs@gnu.org; Tue, 22 Mar 2011 16:07:11 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Q27rA-0002rN-Af for bug-gnu-emacs@gnu.org; Tue, 22 Mar 2011 16:07:09 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:37513) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Q27rA-0002rJ-8x for bug-gnu-emacs@gnu.org; Tue, 22 Mar 2011 16:07:08 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.69) (envelope-from ) id 1Q27Ze-0003bG-1B; Tue, 22 Mar 2011 15:49:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-To: owner@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 22 Mar 2011 19:49:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 8321 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 8321-submit@debbugs.gnu.org id=B8321.130082331813805 (code B ref 8321); Tue, 22 Mar 2011 19:49:01 +0000 Original-Received: (at 8321) by debbugs.gnu.org; 22 Mar 2011 19:48:38 +0000 Original-Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1Q27ZF-0003ac-Uy for submit@debbugs.gnu.org; Tue, 22 Mar 2011 15:48:38 -0400 Original-Received: from mtaout20.012.net.il ([80.179.55.166]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1Q27ZD-0003aP-GJ for 8321@debbugs.gnu.org; Tue, 22 Mar 2011 15:48:36 -0400 Original-Received: from conversion-daemon.a-mtaout20.012.net.il by a-mtaout20.012.net.il (HyperSendmail v2007.08) id <0LIH007005LWFQ00@a-mtaout20.012.net.il> for 8321@debbugs.gnu.org; Tue, 22 Mar 2011 21:48:29 +0200 (IST) Original-Received: from HOME-C4E4A596F7 ([77.126.16.52]) by a-mtaout20.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0LIH006FS5ORHS70@a-mtaout20.012.net.il>; Tue, 22 Mar 2011 21:48:29 +0200 (IST) In-reply-to: <4D88F91F.8020109@yv.org> X-012-Sender: halo1@inter.net.il X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list Resent-Date: Tue, 22 Mar 2011 15:49:02 -0400 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:45268 Archived-At: > Date: Tue, 22 Mar 2011 15:31:43 -0400 > From: "Mark H. David" > > Thanks for checking on this so fast! > > Wow, actually having a full pathname with no spaces worked. If so, I think this is already fixed in the development sources. Can you try the patch below? --- lisp/emerge.el~0 2011-03-10 19:56:29.093750000 +0200 +++ lisp/emerge.el 2011-03-18 23:48:44.187500000 +0200 @@ -3187,21 +3187,26 @@ ;; Metacharacters that have to be protected from the shell when executing ;; a diff/diff3 command. -(defcustom emerge-metachars "[ \t\n!\"#$&'()*;<=>?[\\^`{|~]" - "Characters that must be quoted with \\ when used in a shell command line. +(defcustom emerge-metachars + (if (memq system-type '(ms-dos windows-nt)) + "[ \t\"<>|?*^&=]" + "[ \t\n!\"#$&'()*;<=>?[\\^`{|~]") + "Characters that must be quoted when used in a shell command line. More precisely, a [...] regexp to match any one such character." :type 'regexp :group 'emerge) ;; Quote metacharacters (using \) when executing a diff/diff3 command. (defun emerge-protect-metachars (s) - (let ((limit 0)) - (while (string-match emerge-metachars s limit) - (setq s (concat (substring s 0 (match-beginning 0)) - "\\" - (substring s (match-beginning 0)))) - (setq limit (1+ (match-end 0))))) - s) + (if (memq system-type '(ms-dos windows-nt)) + (shell-quote-argument s) + (let ((limit 0)) + (while (string-match emerge-metachars s limit) + (setq s (concat (substring s 0 (match-beginning 0)) + "\\" + (substring s (match-beginning 0)))) + (setq limit (1+ (match-end 0))))) + s)) (provide 'emerge)