ちょいと理解すっとばしてpython用のelispの関数を書いた

以下のようなの

(add-hook 'python-mode-hook
          (function  
           (lambda ()
             (local-set-key "\"" 'electric-pair)
             (local-set-key "\'" 'electric-pair)
             (local-set-key "(" 'electric-pair)
             (local-set-key "[" 'electric-pair)
             (local-set-key "{" 'electric-pair)
             (local-set-key "," 'py-comma)
             (local-set-key "=" 'py-equal)
             (local-set-key "+" (lambda () (interactive)(insert " + ")))
             )))

(defun py-comma ()
  (interactive)
  (let ((assign-len (length ", ")))
    (if (and
         (save-excursion
           (backward-char assign-len)
           (looking-at ", ")))
        (progn
          (delete-backward-char assign-len)
          (insert ","))
      (delete-horizontal-space)
      (insert ", "))))

(defun py-equal ()
  (interactive)
  (let ((assign-len (length " = ")))
    (if (and
         (save-excursion
           (backward-char assign-len)
           (looking-at " = ")))
        (progn
          (delete-backward-char assign-len)
          (insert " == "))
      (delete-horizontal-space)
      (insert " = "))))

electric-pairっつーのはemacs wikiにのってるからそっち見てちょ。
py-commaっつーのは一回目の,押下ではカンマの後にスペース入れる。で二回目押下だと普通のカンマ。
py-eqaulっつーのは一回目の=押下では"スペース=スペース"。で二回目押下だと"スペース==スペース"。
pythonで絶対イコール前後の空白を入れる人とかには共感してもらえるんではなかろーか。
添削歓迎。というか添削して。