New DWIM commands for changing letter-case

* lisp/simple.el (upcase-dwim, downcase-dwim, capitalize-dwim):
New functions.  (Bug#21501)

Copyright-paperwork-exempt: yes
This commit is contained in:
Zachary Kanfer 2015-09-26 11:09:19 +03:00 committed by Eli Zaretskii
parent 7b532d3e26
commit 80cc5d13d4

View file

@ -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)