From: Zachary Kanfer Date: Sat, 26 Sep 2015 08:09:19 +0000 (+0300) Subject: New DWIM commands for changing letter-case X-Git-Tag: emacs-25.0.90~1224^2~12 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=80cc5d13d4ceee0fae75e28ee75f351425ada1a9;p=emacs.git New DWIM commands for changing letter-case * lisp/simple.el (upcase-dwim, downcase-dwim, capitalize-dwim): New functions. (Bug#21501) Copyright-paperwork-exempt: yes --- diff --git a/lisp/simple.el b/lisp/simple.el index f80faae80d8..8acb6839744 100644 --- a/lisp/simple.el +++ b/lisp/simple.el @@ -8423,6 +8423,38 @@ contains the list of implementations currently supported for this command." "No implementation selected for command `%s'" command-name))))))) + +;;; Functions for changing capitalization that Do What I Mean +(defun upcase-dwim (arg) + "Upcase words in the region, if active; if not, upcase word at point. +If the region is active, this function calls `upcase-region'. +Otherwise, it calls `upcase-word', with prefix argument passed to it +to upcase ARG words." + (interactive "*p") + (if (use-region-p) + (upcase-region (region-beginning) (region-end)) + (upcase-word arg))) + +(defun downcase-dwim (arg) + "Downcase words in the region, if active; if not, downcase word at point. +If the region is active, this function calls `downcase-region'. +Otherwise, it calls `downcase-word', with prefix argument passed to it +to downcase ARG words." + (interactive "*p") + (if (use-region-p) + (downcase-region (region-beginning) (region-end)) + (downcase-word arg))) + +(defun capitalize-dwim (arg) + "Capitalize words in the region, if active; if not, capitalize word at point. +If the region is active, this function calls `capitalize-region'. +Otherwise, it calls `capitalize-word', with prefix argument passed to it +to capitalize ARG words." + (interactive "*p") + (if (use-region-p) + (capitalize-region (region-beginning) (region-end)) + (capitalize-word arg))) + (provide 'simple)