I setup flymake with pep8 to validate style of python files with the following configuration:

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

 (add-to-list 'flymake-allowed-file-name-masks
              '("\\.py\\'" flymake-pylint-init)))

(defun my-flymake-show-help ()
  (when (get-char-property (point) 'flymake-overlay)
    (let ((help (get-char-property (point) 'help-echo)))
      (if help (message "%s" help)))))

(add-hook 'python-mode-hook
      '(lambda() (flymake-mode)))

It worked fine from the start. I just evaluated it in a scratch buffer and worked for several weeks, then I suddenly closed Emacs and after that restart messages are not shown when you navigate to a problem line, but these lines are still highlighted.

(message "DDD") - works

pep8 works fine too in a terminal

Any ideas? I think I forgot some step.

1 Answer 1


At last I found that missing line.

(add-hook 'post-command-hook 'my-flymake-show-help)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.