]> git.eshelyaron.com Git - emacs.git/commitdiff
* lisp/progmodes/subword.el (subword-capitalize): Be careful when
authorDima Kogan <dima@secretsauce.net>
Mon, 14 Oct 2013 19:20:29 +0000 (15:20 -0400)
committerStefan Monnier <monnier@iro.umontreal.ca>
Mon, 14 Oct 2013 19:20:29 +0000 (15:20 -0400)
the search for [[:alpha:]] fails.

Fixes: debbugs:15580
lisp/ChangeLog
lisp/progmodes/subword.el

index 4471d4c2b2503f1a9169fddbe193f17a47cfcb2b..ea25c557a51d7f398e40688efd98ad48fcde8a3a 100644 (file)
@@ -1,3 +1,8 @@
+2013-10-14  Dima Kogan  <dima@secretsauce.net>  (tiny change)
+
+       * progmodes/subword.el (subword-capitalize): Be careful when
+       the search for [[:alpha:]] fails (bug#15580).
+
 2013-10-14  Eli Zaretskii  <eliz@gnu.org>
 
        * menu-bar.el (tty-menu-navigation-map): Bind shifted mouse clicks
@@ -5,8 +10,8 @@
 
 2013-10-14  Dmitry Gutov  <dgutov@yandex.ru>
 
-       * progmodes/ruby-mode.el (ruby-smie--args-separator-p): Handle
-       methods ending with `?' and `!'.
+       * progmodes/ruby-mode.el (ruby-smie--args-separator-p):
+       Handle methods ending with `?' and `!'.
 
 2013-10-14  Akinori MUSHA  <knu@iDaemons.org>
 
@@ -41,8 +46,8 @@
        Fix indentation/fontification of Java enum with
        "implements"/generic.
 
-       * progmodes/cc-engine.el (c-backward-over-enum-header): Extracted
-       from the three other places and enhanced to handle generics.
+       * progmodes/cc-engine.el (c-backward-over-enum-header):
+       Extracted from the three other places and enhanced to handle generics.
        (c-inside-bracelist-p): Uses new function above.
        * progmodes/cc-fonts.el (c-font-lock-declarations): Uses new
        function above.
 
        * tooltip.el (tooltip-mode): Don't error out on TTYs.
 
-       * menu-bar.el (popup-menu, popup-menu-normalize-position): Moved
-       here from mouse.el.
+       * menu-bar.el (popup-menu, popup-menu-normalize-position):
+       Move here from mouse.el.
        (popup-menu): Support menu-bar navigation on TTYs using C-f/C-b
        and arrow keys.
        (tty-menu-navigation-map): New map for TTY menu navigation.
index 8cf4feb62cb69a69ba8375d40f4e8b8603c0f8d4..1232588ca3294f3a23fff94d75c4bab97374e33e 100644 (file)
@@ -257,24 +257,25 @@ Optional argument ARG is the same as for `upcase-word'."
 See the command `subword-mode' for a description of subwords.
 Optional argument ARG is the same as for `capitalize-word'."
   (interactive "p")
-  (let ((count (abs arg))
-       (start (point))
-       (advance (if (< arg 0) nil t)))
-    (dotimes (i count)
-      (if advance
-         (progn (re-search-forward
-                 (concat "[[:alpha:]]")
-                 nil t)
-                (goto-char (match-beginning 0)))
-       (subword-backward))
-      (let* ((p (point))
-            (pp (1+ p))
-            (np (subword-forward)))
-       (upcase-region p pp)
-       (downcase-region pp np)
-       (goto-char (if advance np p))))
-    (unless advance
-      (goto-char start))))
+  (catch 'search-failed
+    (let ((count (abs arg))
+          (start (point))
+          (advance (>= arg 0)))
+
+      (dotimes (i count)
+        (if advance
+            (progn
+              (search-forward "[[:alpha:]]")
+              (goto-char (match-beginning 0)))
+          (subword-backward))
+        (let* ((p (point))
+               (pp (1+ p))
+               (np (subword-forward)))
+          (upcase-region p pp)
+          (downcase-region pp np)
+          (goto-char (if advance np p))))
+      (unless advance
+        (goto-char start)))))
 
 \f