GNU bug report logs - #6674
PATCH: fix assignment of grep-find-use-xargs on Windows/MS-DOS

Previous Next

Package: emacs;

Reported by: Óscar Fuentes <ofv <at> wanadoo.es>

Date: Tue, 20 Jul 2010 03:51:02 UTC

Severity: normal

Done: Óscar Fuentes <ofv <at> wanadoo.es>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Óscar Fuentes <ofv <at> wanadoo.es>
To: 6674 <at> debbugs.gnu.org
Subject: bug#6674: PATCH: fix assignment of grep-find-use-xargs on Windows/MS-DOS
Date: Tue, 20 Jul 2010 05:49:35 +0200
On Windows, when find-program points to a GNU-compatible `find'
executable, grep-find-use-xargs is assigned the symbol 'gnu. The
consequence of this is that `rgrep' ends building a command that
contains a pipe: find <args> | xargs -0 grep <args> This ends with
`find' reporting confusing errors about wrong arguments.

An extra test is added to the assigment of grep-find-use-xargs to force
the value 'exec on Windows and MS-DOS.

2010-07-20  Óscar Fuentes  <ofv <at> wanadoo.es>

	* progmodes/grep.el: (grep-compute-defaults): always assign
        'exec to grep-find-use-xargs on Windows and MS-DOS.

=== modified file 'lisp/progmodes/grep.el'
*** lisp/progmodes/grep.el	2010-05-21 20:43:04 +0000
--- lisp/progmodes/grep.el	2010-07-20 03:42:21 +0000
*************** Set up `compilation-exit-message-functio
*** 552,557 ****
--- 552,560 ----
  	(unless grep-find-use-xargs
  	  (setq grep-find-use-xargs
  		(cond
+ 		 ;; We don't want a shell pipe on those systems:
+ 		 ((or (eq system-type 'windows-nt) (eq system-type 'ms-dos))
+ 		  'exec)
  		 ((and
  		   (grep-probe find-program `(nil nil nil ,null-device "-print0"))
  		   (grep-probe xargs-program `(nil nil nil "-0" "-e" "echo")))




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

Previous Next


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