Мой Emacs в Windows Seven всегда показывает ошибку запуска о предупреждении - PullRequest
3 голосов
/ 07 февраля 2011

РЕДАКТИРОВАНИЕ 2 : Ответ на этот вопрос еще не завершен, но решение, представленное @ vpit3833, работает так, как мне нужно. Итак, назовите emacs таким образом emacs -nw --no-site-file. Это подавляет сообщение об ошибке, и .emacs все еще вызывается. Однако я все равно не могу найти причину ошибки. Любое предложение? Но на этот раз не щедрость.

РЕДАКТИРОВАНИЕ 1 : Я назначаю вознаграждение за этот вопрос всем, кто может решить эту проблему. Потому что это довольно раздражает, когда я запускаю Emacs, и я должен загрузить файл .emacs вручную.

Я использую приложение Emacs Native Windows. Работает хорошо. Но теперь он не будет читать мой .emacs, и всегда будет отображаться сообщение об ошибке:

if: Wrong number of arguments: #[(type level message &rest args) "ÄÅÆ  
##" [type message args level display-warning apply format] 6 ("c:/Development/Tools/emacs-23.2/lisp/emacs-lisp/warnings.elc" . 8481)], 2

Кажется, все работает нормально. Но после того, как я установил Emacs W32 и Ergo Emacs, и удалил их обоих, теперь Emacs Native Windows Applications отображает эту ошибку.

Что случилось?

Ответы [ 5 ]

3 голосов
/ 21 марта 2012

У меня такая же проблема. Что случилось со мной, я сохранил папку «site-lisp» из EmacsW32, чтобы сохранить свои конфигурации. И EmacsW32 "site-start.el" здесь выглядит так:

; ****** Added by emacsw32-setup-base at Mon Nov 01 16:16:09 2010
;; Add EmacsW32/lisp to load-path if found.

Это работает после того, как я удалю эту конкретную часть.

Надеюсь, это поможет.

3 голосов
/ 07 февраля 2011

Похоже, либо ошибка в вашем .emacs, либо что-то установлено в системный конфигурационный файл Emacs W32 или Ergo Emacs, который теперь обнаруживается вашим собственным приложением Emacs.Из самого сообщения проблема, вероятно, связана с плохо отформатированным оператором (если ...).

Вы можете проверить, связана ли проблема с вашим .emacs, запустив Emacs с опцией -q, которую яугадайте в Windows, что вы делаете из опции «Запустить программу» в меню «Пуск»?

emacs -q

Если это работает правильно, проблема в ваших .emacs.Если проблема не устранена, попробуйте

emacs -Q

, которая игнорирует все файлы конфигурации в вашей системе.Если emacs -Q решит проблему, то проблема в общесистемной конфигурации, но я не уверен, где это находится в Windows.

2 голосов
/ 22 февраля 2011

Попробуйте установить переменную среды HOME явно, чтобы она указывала на ваш файл .emacs.

Я запускаю Emacs из пакета в Windows или из сценария оболочки в Unix. Пакет Windows выглядит следующим образом

set drive=D:
set home=u:\Oleg

set emacs_home=%drive%\Soft\Emacs
set cygwin_home=C:/cygwin
set utils=%drive%\utils
set path=%utils%;%cygwin_home%\bin;%utils%\7-Zip;%utils%\gnu-win32;%utils%\putty;%path%
set temp=d:/temp/

%emacs_home%\emacs-23.2\bin\runemacs.exe --debug-init

Таким образом, я могу легко изменять HOME, PATH и другие переменные окружения в зависимости от компьютера, на котором я работаю.

1 голос
/ 01 апреля 2014

Я только что установил 64-битный Emacs для Windows (http://semantic.supelec.fr/popineau/programming-emacs.html#sec-2) и обнаружил ту же ошибку.

(lwarn "Can't find %s" lisp-dir)

Глядя на код warning.el, он не соответствует параметрам функции. Я изменил строку на это:

(lwarn '(emacsw32) :warning "Can't find %s" lisp-dir)

и ошибка загрузки исчезла.

1 голос
/ 10 марта 2012

У меня была идентичная проблема. Спасибо vpit3833 за помощь, по крайней мере, с моей проблемой. EmacsW32 создал каталог с именем C: \ site_lisp . Очевидно, он не удаляет этот каталог во время удаления. У меня на самом деле есть несколько версий Emacs для Windows. Когда я попробовал все из них, у всех них была та же самая проблема, описанная выше. Я использовал предложение сделать "emacs --no-site-file" . Это, похоже, сработало и указало, что где-то на моем компьютере есть файл сайта. Я искал его, обнаружил каталог site_lisp. Удаление этого каталога, которого раньше не было, помогло вернуть мой Emacs в порядок.

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