flymake и python-execute-region - PullRequest
       13

flymake и python-execute-region

2 голосов
/ 21 апреля 2010

Я получил ошибку от flymake-get-file-name-name-mode-and-mask «Неверное имя файла», когда я вызвал py-execute-region (связать с C-c |) Также появляется пустой буфер с именем вроде /tmp/python-3434.py.

Моя настройка мухобойки:

(when (load "flymake" t)
 (defun flymake-pylint-init ()
 (let* ((temp-file (flymake-init-create-temp-buffer-copy
                    'flymake-create-temp-inplace))
        (local-file (file-relative-name
                     temp-file
                     (file-name-directory buffer-file-name))))
   (list "epylint" (list local-file))))

(add-to-list 'flymake-allow-file-name-masks '("\ .py \'" flymake-pylint-init))) (add-hook 'python-mode-hook' flymake-mode)

1 Ответ

4 голосов
/ 19 мая 2010

У меня была такая же проблема, и я решил ее, заставив emacs не загружать flymake для временных буферов, передаваемых интерпретатору. I

Соответствующие биты моей настройки flymake для Python:

(when (load "flymake" t)
  (defun flymake-python-init ()
    (let* ((temp-file (flymake-init-create-temp-buffer-copy
                     'flymake-create-temp-inplace))
         (local-file (file-relative-name
                      temp-file
                      (file-name-directory buffer-file-name))))
    (list "pyflymake" (list local-file)))) ; substitute epylint for this
  (push '(".+\\.py$" flymake-python-init) flymake-allowed-file-name-masks))

(add-hook 'python-mode-hook
          (lambda ()
            ; Activate flymake unless buffer is a tmp buffer for the interpreter
            (unless (eq buffer-file-name nil) (flymake-mode t)) ; this should fix your problem
            ;; Bind a few keys for navigating errors
            (local-set-key (kbd "C-c w") 'show-fly-err-at-point) ; remove these if you want
            (local-set-key (kbd "M-n") 'flymake-goto-next-error)
            (local-set-key (kbd "M-p") 'flymake-goto-prev-error)))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...