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