Grüße Emacsers
Ich verwende GNU Emacs 23.1.1 unter "Ubuntu 10.04.1 LTS" und jede Suche, die ich mit dem integrierten Mx rgrep im Standard-Linux-Kernel-Quellcode (Vanille) durchführe, endet vorzeitig mit dem folgenden Fehler, der auf dem Emacs-Echo gedruckt wird Bereich:
Grep exited abnormally with code 123
Ich habe es schon eine Weile auf Redhat-Systemen gesehen, und mit anderen (großen) Codebasen hat jemand das gesehen oder noch besser geheilt?
Vielen Dank!
Bearbeiten: Aus Gründen, die über mich hinausgehen, kann ich meinen Kommentar unten nicht bearbeiten, daher werde ich ihn hier aktualisieren.
Nach dem Kommentar unten habe ich versucht, den gleichen Befehl auszuführen, den rgrep in einem Emacs-Shell-Puffer ausführt
find . \( -path \*/SCCS -o -path \*/RCS -o -path \*/CVS -o -path \*/MCVS -o -path \*/.svn -o -path \*/.git
-o -path \*/.hg -o -path \*/.bzr -o -path \*/_MTN -o -path \*/_darcs -o -path \*/\{arch\} \) -prune -o -type f \( -name \*.\[ch\] \) -p
rint0 | xargs -0 -e grep -i -nH -e v4l_compat_ioctl32
Während kein Fehler ausgegeben wird, zeigt das Abfragen des Exit-Codes erneut 123 an.
/home/mcradle/linux> echo $?
123
Nach dem Kommentar von Gilles habe ich versucht zu rennen
/home/mcradle/linux> find . -type f \( -name \*.\[ch\] \) -exec grep -i -nH -e v4l_compat_ioctl32 '{}' \;
Dies entspricht funktional der Kombination aus find und xargs und wird mit dem Exit-Code 0 abgeschlossen
/home/mcradle/linux> echo $?
0
so scheint es etwas mit xargs zu sein.
M-x rgrep
wird ausgeführtfind … | xargs grep …
, und 123 bedeutet, dass mindestens einer derxargs
Aufrufe vongrep
einen Fehlercode ungleich Null zurückgegeben hat. Wenn dies nur in großen Codebasen geschieht, kann dies mit demxargs
Aufrufen von mehr als einer Instanz von zusammenhängengrep
(möglicherweise findet eine Instanz keine Datei?). Wird ein*grep*
Puffer erstellt?