a thing I need quite often...

;; (global-set-key [(control kp-9)] 'revert-chars)

(defun revert-chars ()
  "Revert reciproke chars as \"[\" to \"]\", upcase or downcase. "
  (interactive "*")
  (let* ((cf (char-after))
         (cn (downcase cf)))
    (cond ((or (eq cf 62)(eq cf ?\>))
           (setq cn "<"))
          ((or (eq cf 60)(eq cf ?\<))
           (setq cn ">"))
          ((or (eq cf 40)(eq cf ?\())
           (setq cn ")"))
          ((or (eq cf 41)(eq cf ?\)))
           (setq cn "("))
          ((or (eq cf 123) (eq cf ?\{))
           (setq cn "}"))
          ((or (eq cf 125) (eq cf ?\}))
           (setq cn "{"))
          ((or (eq cf 93)(eq cf ?\]))
           (setq cn "["))
          ((or (eq cf 91)(eq cf ?\[))
           (setq cn "]"))
          ((or (eq cf 45)(eq cf ?\-))
           (setq cn "_"))
          ((or (eq cf 95)(eq cf ?\_))
           (setq cn "-"))
          (t (when (eq cf cn)
               (setq cn (upcase cf)))))
    (delete-char 1)
    (insert cn)))

This function may be changed, extended and/or commented at

http://repo.or.cz/w/elbb.git
resp.
http://repo.or.cz/w/elbb.git?a=blob;f=code/elbb-misc-utils.el


Cheers

Andreas Röhler

--
http://bazaar.launchpad.net/~a-roehler/python-mode/python-mode.el/
https://code.launchpad.net/s-x-emacs-werkstatt/


_______________________________________________
gnu-emacs-sources mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/gnu-emacs-sources

Reply via email to