all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Zachary Kanfer <zkanfer@gmail.com>
To: Stefan Monnier <monnier@iro.umontreal.ca>
Cc: 21501@debbugs.gnu.org
Subject: bug#21501: new Emacs functions for capitalizing text intelligently
Date: Sun, 20 Sep 2015 02:13:39 -0400	[thread overview]
Message-ID: <CAFXT+RMGkYGoLraB9d4k6Jq1sY+t1rzwaAJfpo_1hsL-q6Qu8Q@mail.gmail.com> (raw)
In-Reply-To: <jwvk2rm40qd.fsf-monnier+emacsbugs@gnu.org>


[-- Attachment #1.1: Type: text/plain, Size: 1318 bytes --]

Here's a changed patch. The first line is the first line of the changelog
entry without "simple.el"; it doesn't fit.

I'm in favor of changing M-u, M-l, and M-c to the new commands; I think
it's much improved behavior. The only time a user would have to do more
work to perform a capitalization action is if they've selected a region,
but want to act only on the next word. I would bet that's rare, and even
so, the user only has to press C-g before the capitalization. So if we're
ok changing default commands, I think changing M-u, M-l, and M-c is a win.

On Sat, Sep 19, 2015 at 4:27 PM, Stefan Monnier <monnier@iro.umontreal.ca>
wrote:

> > I'm submitting some additional -dwim functions to that change the
> > capitalization of text the way the user probably wants.
>
> Looks OK to me.
>
> > Changelog entry:
> > * simple.el: Add functions for capitalizing text intelligently.
> > (capitalize-dwim): New function.
> > (upcase-dwim): New function.
> > (downcase-dwim): New function.
>
> Thanks.  Please add that to the commit message.  More specifically, use
> the first line above as the first line of the commit message, and add
>
>    (capitalize-dwim, upcase-dwim, downcase-dwim): New functions.
>
> at the end.
>
> I'm tempted to bind M-u, M-l, and M-c to those new commands.
>
> WDYT?
>
>
>         Stefan
>

[-- Attachment #1.2: Type: text/html, Size: 1850 bytes --]

[-- Attachment #2: 0002-Add-functions-for-capitalizing-text-intelligently.patch --]
[-- Type: text/x-patch, Size: 1870 bytes --]

From 70cc75c3e6ee2eb3c75d062ced5950ca36cb27d2 Mon Sep 17 00:00:00 2001
From: Zachary Kanfer <zkanfer@gmail.com>
Date: Mon, 14 Sep 2015 15:04:32 -0400
Subject: [PATCH] Add functions for capitalizing text intelligently.

This patch adds three functions: upcase-dwim, downcase-dwim, and
capitalize-dwim. These functions change the capitalization of text the
way the user probably wants -- they act on the region if it's active,
and on the next word if the region isn't.

(capitalize-dwim, upcase-dwim, downcase-dwim): New functions.
---
 lisp/simple.el | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/lisp/simple.el b/lisp/simple.el
index f80faae..e2d4470 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -8424,6 +8424,35 @@ contains the list of implementations currently supported for this command."
                            command-name)))))))
 
 \f
+;;; Functions relating to capitalization that Do What I Mean
+(defun upcase-dwim ()
+  "Call the upcase command you want (Do What I Mean).
+If the region is active, call `upcase-region'.  Otherwise call
+`upcase-word'."
+  (interactive "*")
+  (if (use-region-p)
+      (upcase-region (region-beginning) (region-end))
+    (upcase-word 1)))
+
+(defun downcase-dwim ()
+  "Call the downcase command you want (Do What I Mean).
+If the region is active, call `downcase-region'.  Otherwise call
+`downcase-word'."
+  (interactive "*")
+  (if (use-region-p)
+      (downcase-region (region-beginning) (region-end))
+    (downcase-word 1)))
+
+(defun capitalize-dwim ()
+  "Call the capitalize command you want (Do What I Mean).
+If the region is active, call `capitalize-region'.  Otherwise call
+`capitalize-word'."
+  (interactive "*")
+  (if (use-region-p)
+      (capitalize-region (region-beginning) (region-end))
+    (capitalize-word 1)))
+
+\f
 
 (provide 'simple)
 
-- 
2.5.2


  reply	other threads:[~2015-09-20  6:13 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-09-17  4:32 bug#21501: new Emacs functions for capitalizing text intelligently Zachary Kanfer
2015-09-19 20:27 ` Stefan Monnier
2015-09-20  6:13   ` Zachary Kanfer [this message]
2015-09-20  6:46     ` Eli Zaretskii
2015-09-20 18:23   ` Richard Stallman
2015-09-21 18:52     ` Zachary Kanfer
2015-09-26  8:13       ` Eli Zaretskii

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAFXT+RMGkYGoLraB9d4k6Jq1sY+t1rzwaAJfpo_1hsL-q6Qu8Q@mail.gmail.com \
    --to=zkanfer@gmail.com \
    --cc=21501@debbugs.gnu.org \
    --cc=monnier@iro.umontreal.ca \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.