Commit c2de5588 authored by Dima Kogan's avatar Dima Kogan Committed by Stefan Monnier
Browse files

* lisp/progmodes/subword.el (subword-capitalize): Be careful when

the search for [[:alpha:]] fails.

Fixes: debbugs:15580
parent 279066b2
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.
......@@ -230,8 +235,8 @@
* 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.
......
......@@ -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)))))
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment