Pregunta:
cada vez que intento abrir un archivo de Python, aparece el siguiente mensaje en el minibúfer:
File Mode Specification Error: (void-function nil)
Encendí el modo de depuración pero, sinceramente, no entiendo qué está pasando o cómo reducir el error:
Debugger entered--Lisp error: (void-function nil)
nil()
run-hooks(change-major-mode-after-body-hook prog-mode-hook python-mode-hook)
apply(run-hooks (change-major-mode-after-body-hook prog-mode-hook python-mode-hook))
run-mode-hooks(python-mode-hook)
python-mode()
set-auto-mode-0(python-mode nil)
set-auto-mode()
normal-mode(t)
after-find-file(nil t)
find-file-noselect-1(#<buffer flasktest.py> "~/tmp/flasktest.py" nil nil "~/data/tmp/flasktest.py" (8388619 2052))
find-file-noselect("/home/srp/tmp/flasktest.py" nil nil)
ido-file-internal(raise-frame)
ido-find-file()
call-interactively(ido-find-file nil nil)
command-execute(ido-find-file)
init.el
mi init.el
pero no encontré nada sospechoso con respecto al modo Python. Aquí están las líneas relevantes:
;; Package Management
(require 'package)
(add-to-list 'package-archives
'("melpa" . "https://melpa.org/packages/") t)
(package-initialize)
...
...
;; PYTHON IDE
;; Install rope, flake8, importmagic, autopep8 via pip
(elpy-enable)
(require 'py-autopep8)
(add-hook 'elpy-mode-hook 'py-autopep8-enable-on-save)
(autoload 'pylint "pylint")
(add-hook 'python-mode-hook 'pylint-add-menu-items)
(add-hook 'python-mode-hook 'pylint-add-key-bindings)
(add-hook 'python-mode-hook (highlight-indentation-mode 0))
¿Alguien sabe cómo solucionar ese error?
Respuesta:
Este es tu problema (al menos un problema):
(add-hook 'python-mode-hook (highlight-indentation-mode 0))
¿Qué devuelve (highlight-indentation-mode 0)
? (Mi conjetura es nil
, no una función).
Lo que devuelve se agrega como un elemento de python-mode-hook
. Entonces esa cosa, sea lo que sea, se invoca como una función. En este caso, Emacs intenta invocar nil
como función. No se puede hacer.