several config updates
[emacs-init.git] / python / init_python.el
index 86f8d11..1ba4818 100644 (file)
@@ -4,6 +4,7 @@
 ;(require 'python-mode)
 ;(provide 'python)
 ;(provide 'python21)
+(require 'python)
 
 ;; pymacs
 (autoload 'pymacs-apply "pymacs")
@@ -24,6 +25,8 @@
 
 (define-key ropemacs-local-keymap "\M-/" 'hippie-expand)
 
+(global-unset-key "\C-xpn")
+
 (defun write-file-py-cleanup-imports ()
   (save-excursion
     (condition-case nil
   (flymake-goto-next-error)
   (my-flymake-show-error))
 
+(defun my-flymake-goto-prev-error ()
+  (interactive)
+  (my-flymake-check-and-wait)
+  (flymake-goto-prev-error)
+  (my-flymake-show-error))
+
 (defun py-find-file (errormark filename defaultdir)
   (let ((fullname (expand-file-name filename defaultdir)))
     (or (and (not (file-exists-p fullname))
             (progn
               (set (make-local-variable 'py-eshell-last-error) (point))
               (set (make-local-variable 'py-eshell-prefix) (or (match-string 1) ""))
+              (if (string-match "Original $" py-eshell-prefix)
+                  (setq py-eshell-prefix (substring py-eshell-prefix 0 (match-beginning 0))))
               (if example
                   (forward-line 2)
                 (while (and (< (forward-line 1) 1) (looking-at (concat py-eshell-prefix "  ")))))
   (define-key python-mode-map "\C-ci" 'my-pyflymake-add-import-from-error)
   (define-key python-mode-map "\C-ce" 'my-flymake-show-error)
   (define-key python-mode-map "\C-cn" 'my-flymake-goto-next-error)
+  (define-key python-mode-map "\C-cp" 'my-flymake-goto-prev-error)
   (define-key python-mode-map "\C-cI" 'py-cleanup-imports)
 )
 
            (local-file (file-relative-name
                         temp-file
                         (file-name-directory buffer-file-name))))
+      (message "flymake init pyflakes %s" local-file)
       (list "pyflakes" (list local-file))))
   (add-to-list 'flymake-allowed-file-name-masks
                '("\\.py\\'" flymake-pyflakes-init)))