Grep не работает с Emacs (windows) и GnuWin32 Grep - PullRequest
2 голосов
/ 24 февраля 2010

Я скачал и установил инструменты GnuWin32 и добавил исполняемые файлы grep в корзину Emacs. Кроме того, я добавил папку bin для GnuWin32 в переменную Path.

Проблема в том, что, когда я пытаюсь запустить предложенные команды grep, я всегда получаю:

Grep exited abnormally with code 53 at Wed Feb 24 17:16:12

На мой взгляд, я нигде не могу найти ссылку на код ошибки 53! (

Я попробовал точные примеры на нескольких веб-сайтах, например, когда я ввожу:

M-x grep <ret>

Это приходит с

Run grep (like this): grep -n 

Это нормально, но я понятия не имею, каких параметров он ожидает. Я попробовал некоторые в некоторых учебниках, но я снова получаю код ошибки 53!

Одна из вещей, которые я попробовал, прямо из вики emacs (http://www.emacswiki.org/emacs/GrepMode#toc2) (может быть, не для версии Windows, хотя?), И он говорит, чтобы попробовать эту команду:

M-x grep -n -e setq ~/.emacs

Что я пробовал и получаю:

-*- mode: grep; default-directory: "c:/[My Directory]/" -*-
Grep started at Wed Feb 24 17:30:47

grep -n -e setq ~/.emacs NUL

Grep exited abnormally with code 53 at Wed Feb 24 17:30:47

Настолько разочаровывающе, что это должно быть мощной особенностью Emacs, и я действительно пытаюсь выучить его, поскольку слышал о нем много хорошего!

Любая помощь будет принята с благодарностью! :)

Andy

UPDATE

Исходя из предложенного ниже, я попробовал его через командную строку, и, кажется, он работает нормально, возможно, какой-то конфиг мне не хватает?

UPDATE

Я обнаружил команду M-x Occur, которая, похоже, выполняет те же действия, что и образ grep. Есть ли много дополнительных преимуществ использования grep, если я не могу заставить это работать?

Ответы [ 3 ]

3 голосов
/ 09 мая 2010

Загрузите zip-файл зависимостей и скопируйте libiconv2.dll, libintl3.dll, pcre3.dll и regex2.dll в каталог Emacs 'bin.

Скопируйте grep.exe и find.exe в собственную директорию bin Emacs. Затем Emacs будет использовать эти файлы над любыми другими исполняемыми файлами с таким же именем, включая собственную утилиту Windows find.

Примечание: если вы не используете установщик, вам необходимо также загрузить zip-файл зависимостей и скопировать libiconv2.dll, libintl3.dll, pcre3.dll и regex2.dll в каталог Emacs 'bin, в противном случае вы можете получить сообщение об ошибке «произошел аварийный выход с кодом 53».

EmacsWiki: Grep Mode

0 голосов
/ 12 октября 2010

У меня была похожая проблема, и у меня сработало следующее.

  1. Перейти к консоли Windows
  2. Введите команду «set» для вызова системных переменных
  3. У меня был shell = c: \ progra ~ 1 \ рациональный \ рацион ~ 1 \ nutcroot \ mksnt \ sh.exe
  4. Введите "set shell =", чтобы удалить переменную
  5. Попробуйте Emacs снова

Удачи!

0 голосов
/ 25 февраля 2010

Код выхода 53, возможно, является кодом выхода ОС, а не кодом завершения, специфичным для grep. Для Windows это будет «Сетевой путь не найден». Вы делаете что-нибудь по сетевому пути? Есть ли пропавшие dll, которые нужны grep? Можете ли вы успешно запустить grep в командной строке?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...