From 80cc5d13d4ceee0fae75e28ee75f351425ada1a9 Mon Sep 17 00:00:00 2001 From: Zachary Kanfer Date: Sat, 26 Sep 2015 11:09:19 +0300 Subject: [PATCH] New DWIM commands for changing letter-case * lisp/simple.el (upcase-dwim, downcase-dwim, capitalize-dwim): New functions. (Bug#21501) Copyright-paperwork-exempt: yes --- lisp/simple.el | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) 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) -- 2.39.2