Измените все `=` на `eq` для emacs

В последнее время я часто сталкиваюсь с такими ошибками:

Debugger entered--Lisp error: (wrong-type-argument number-or-marker-p nil)

Я обнаружил, что в некоторых ситуациях ошибка вызвана такими выражениями:

(= nil 4)    

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

(eq nil 4)

Тем не менее, (1) мне нужно заменить все = на eq в этом сценарии emacs lisp (2). Я не уверен, что коды должны быть изменены следующим образом.

Мне было интересно, могу ли я написать несколько строк в конфигурационном файле ( .emacs ) вместо изменения исходного кода, чтобы все было сделано. У кого-нибудь есть идеи об этом?

1
nl ja de

1 ответы

Не делай этого.

Вы идете по пути скрытия ошибок в коде. Выясните корень причина, по которой вы передаете nil в = и исправите это.

8
добавлено
Другими словами, ошибка состоит в том, что переменная, которую вы сравниваете с 4, не должна быть nil , и вы исправляете ошибку, защищая ее ранее в коде, возможно, сообщая об ошибке при назначении переменной , вероятно, с помощью функции, которая, как предполагается, возвращает значение, но которое нет.
добавлено автор tripleee, источник
любите большой крик и это правильно.
добавлено автор kindahero, источник
Да. @Firegun Я видел вас, вопросы, вы должны выяснить, что именно происходит.
добавлено автор Edityouprofile, источник
IDE и редакторы — русскоговорящее сообщество
IDE и редакторы — русскоговорящее сообщество
393 участник(ов)

Общаемся, сравниваем и помогаем друг другу решать задачи с продуктами JetBrains, VS Code, Atom, vim, Emacs, Sublime и т.д. Всё в одном месте, ведь каждый из них хорош по своему. См. также: @js_ru, @typescript_ru, @react_js, @nodejs_ru, @javascript_jobs

Emacs — русскоговорящее сообщество
Emacs — русскоговорящее сообщество
288 участник(ов)

Общаемся на темы, посвященные замечательному редактору Emacs. Решаем проблемы, обмениваемся опытом и делимся новостями @emacs_ru_pub. Обсуждаем и другие редакторы или IDE, клавиатуры и эргономику также: @ru_mechcult, @clojure_ru

pro.lisp
pro.lisp
47 участник(ов)

Common Lisp, Scheme/Racket, Clojure, Picolisp. S-expr