]> git.eshelyaron.com Git - emacs.git/commitdiff
New DWIM commands for changing letter-case
authorZachary Kanfer <zkanfer@gmail.com>
Sat, 26 Sep 2015 08:09:19 +0000 (11:09 +0300)
committerEli Zaretskii <eliz@gnu.org>
Sat, 26 Sep 2015 08:09:19 +0000 (11:09 +0300)
* lisp/simple.el (upcase-dwim, downcase-dwim, capitalize-dwim):
New functions.  (Bug#21501)

Copyright-paperwork-exempt: yes

lisp/simple.el

index f80faae80d873ca6e7a4a31dad9306b2411650f3..8acb6839744b4949c4ba7a2c94207cd7f046fbd8 100644 (file)
@@ -8423,6 +8423,38 @@ contains the list of implementations currently supported for this command."
                            "No implementation selected for command `%s'"
                            command-name)))))))
 
+\f
+;;; 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)))
+
 \f
 
 (provide 'simple)