Subject: 24.3; Wrong (greedy) forward-word in cap-words.el
From: Konstantine Rybnikov <[email-masked]>
To: [email-masked]
Date: Fri, 23 Aug 2013 03:34:37 +0300
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi!

Currently, cap-words.el behaves a bit wrong. If you start from

capitalizedWorDD
^

And press forward-word, you'll move here:

capitalizedWorDD
                ^

While I think you should move here:

capitalizedWorDD
            ^

Some more exaplanations are at 
https://github.com/haskell/haskell-mode/issu=
es/194#issuecomment-22898190

Thank you!

In GNU Emacs 24.3.1 (x86_64-pc-linux-gnu, GTK+ Version 3.4.2)
of 2013-04-14 on chindi10, modified by Debian
Windowing system distributor `The X.Org Foundation', version 11.0.11103000
System Description: Ubuntu 12.04.3 LTS

Configured using:
`configure '--build' 'x86_64-linux-gnu' '--build' 'x86_64-linux-gnu'
'--prefix=3D/usr' '--sharedstatedir=3D/var/lib' '--libexecdir=3D/usr/lib'
'--localstatedir=3D/var/lib' '--infodir=3D/usr/share/info'
'--mandir=3D/usr/share/man' '--with-pop=3Dyes'
'--enable-locallisppath=3D/etc/emacs24:/etc/emacs:/usr/local/share/emacs/2=
4.3/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/24.3/site-l= 

isp:/usr/share/emacs/site-lisp'
'--with-crt-dir=3D/usr/lib/x86_64-linux-gnu' '--with-x=3Dyes'
'--with-x-toolkit=3Dgtk3' '--with-toolkit-scroll-bars'
'build_alias=3Dx86_64-linux-gnu' 'CFLAGS=3D-g -O2 -fstack-protector
--param=3Dssp-buffer-size=3D4 -Wformat -Wformat-security
-Werror=3Dformat-security -Wall' 'LDFLAGS=3D-Wl,-Bsymbolic-functions
-Wl,-z,relro' 'CPPFLAGS=3D-D_FORTIFY_SOURCE=3D2''

Important settings:
value of $LANG: en_US.UTF-8
locale-coding-system: utf-8-unix
default enable-multibyte-characters: t

Major mode: jabber-roster

Minor modes in effect:
jabber-activity-mode: t
show-paren-mode: t
global-auto-complete-mode: t
global-rainbow-delimiters-mode: t
rainbow-delimiters-mode: t
projectile-global-mode: t
projectile-mode: t
yas-global-mode: t
yas-minor-mode: t
diff-auto-refine-mode: t
tabbar-mwheel-mode: t
tabbar-mode: t
shell-dirtrack-mode: t
global-auto-revert-mode: t
tooltip-mode: t
mouse-wheel-mode: t
menu-bar-mode: t
file-name-shadow-mode: t
global-font-lock-mode: t
font-lock-mode: t
blink-cursor-mode: t
auto-composition-mode: t
auto-encryption-mode: t
auto-compression-mode: t
buffer-read-only: t
column-number-mode: t
line-number-mode: t
transient-mark-mode: t

Recent input:
C-b M-b C-b M-w C-x b r o s <tab> C-s j u i c k C-b=20
<return> C-y <return> C-x k <return> C-x b <return>=20
C-x k <return> C-x C-j C-d C-x C-j C-c C-s r o s C-s=20
C-a C-s p s t o C-b <return> > S-SPC C-y C-p C-p C-e=20
C-SPC C-n M-m C-w C-e C-n C-f C-e C-f C-o C-f =D0=92 =D0=BE =D1=82=20
SPC =D1=8D =D1=82 =D0=BE SPC =D0=B4 =D0=B0 ! S-SPC =D0=92 =D0=BE =D1=82 
SPC=
=D1=8D =D1=82 =D0=BE SPC =D0=BD =D0=B0 =D0=B7=20
=D0=B2 =D0=B0 =D0=BD =D0=B8 =D0=B5 ! SPC =D0=9F =D0=BE =D0=B9 =D0=B4 
=D1=83=
SPC =D1=87 =D0=B8 =D1=82 =D0=B0 =D1=82 =D1=8C SPC =D0=BE <backspace>=20
=D1=87 =D0=BE SPC =D1=82 =D0=B0 =D0=BC . <return> <help-echo> 
<down-mouse-1=
 >=20
<mouse-movement> <mouse-movement> <drag-mouse-1> M-w=20
M-> C-y SPC =D0=BD =D1=83 , S-SPC <C-backspace> =D1=80 =D0=B5 =D0=BF 
=D0=BE=
=D0=B7 =D0=B8 =D1=82=20
=D0=BE =D1=80 =D0=B8 =D0=B9 SPC =D0=BD =D0=B5 SPC =D0=BC =D0=BE =D0=B9 , 
S-=
SPC =D1=8F SPC =D1=82 =D0=BE =D0=BB =D1=8C =D0=BA =D0=BE=20
SPC =D0=BF =D0=BE =D0=BB =D1=83 =D1=87 =D0=B0 =D1=8E SPC =D0=B4 =D0=B5 =D0=
=BD =D1=8C =D0=B3 =D0=B8 SPC =D0=B7 =D0=B0 SPC =D1=82 =D0=BE ,=20
S-SPC =D1=87 =D1=82 =D0=BE SPC =D0=BA =D0=BE =D0=BC =D0=BC =D0=B8 =D1=87 =
=D1=83 SPC =D0=B2 SPC =D0=BD =D0=B3 <backspace>=20
=D0=B5 =D0=B3 =D0=BE . <return> C-x b J u <tab> M-< M-> C-p C-p C-SPC=20
M-f M-f M-w M-> C-y SPC =D0=BD =D0=B5 SPC =D0=B7 =D0=BD =D0=B0 =D1=8E , 
S-S=
PC =D0=BF =D0=BE=20
SPC =D0=BC =D0=BD =D0=B5 SPC =D1=82 =D0=B0 =D0=BA SPC =D0=BD =D0=B0 
=D0=BE =
=D0=B1 =D0=BE =D1=80 =D0=BE =D1=82 SPC =D1=81 =D0=BB =D0=B8 =D1=88=20
=D0=BA =D0=BE =D0=BC . <return> C-x b <return> C-x k <return> C-x=20
k <return> C-x C-j C-d C-x C-j C-c C-x b P s t <tab>=20
M-< M-> C-x k <return> C-x C-j C-d M-x r e p o r t=20
SPC e m <tab> <return>

Recent messages:
[email-masked] added to roster
[email-masked] added to roster
yavasyk is now Away
Juick is now Online
Psto is now Online
kost-bebix is now Away
Jaiku Bot is now Online
Serge Negodyuck is now Away
Mark set [2 times]
Disconnected from Jabber server(s)

Load-path shadows:
/home/kb/.emacs.d/elpa/magit-20130819.2234/.dir-locals hides 
/home/kb/.emac=
s.d/elpa/pkg-info-20130817.2334/.dir-locals
/home/kb/.emacs.d/elpa/jabber-0.8.90/jabber-truncate hides 
~/.emacs.d/emacs=
-jabber/jabber-truncate
/home/kb/.emacs.d/elpa/jabber-0.8.90/jabber-ahc hides 
~/.emacs.d/emacs-jabb=
er/jabber-ahc
/home/kb/.emacs.d/elpa/jabber-0.8.90/jabber-awesome hides 
~/.emacs.d/emacs-=
jabber/jabber-awesome
/home/kb/.emacs.d/elpa/jabber-0.8.90/jabber-roster hides 
~/.emacs.d/emacs-j=
abber/jabber-roster
/home/kb/.emacs.d/elpa/jabber-0.8.90/jabber-si-server hides 
~/.emacs.d/emac=
s-jabber/jabber-si-server
/home/kb/.emacs.d/elpa/jabber-0.8.90/jabber-sawfish hides 
~/.emacs.d/emacs-=
jabber/jabber-sawfish
/home/kb/.emacs.d/elpa/jabber-0.8.90/jabber-keymap hides 
~/.emacs.d/emacs-j=
abber/jabber-keymap
/home/kb/.emacs.d/elpa/jabber-0.8.90/jabber-compose hides 
~/.emacs.d/emacs-=
jabber/jabber-compose
/home/kb/.emacs.d/elpa/jabber-0.8.90/jabber-ahc-presence hides 
~/.emacs.d/e=
macs-jabber/jabber-ahc-presence
/home/kb/.emacs.d/elpa/jabber-0.8.90/jabber-ratpoison hides 
~/.emacs.d/emac=
s-jabber/jabber-ratpoison
/home/kb/.emacs.d/elpa/jabber-0.8.90/jabber-util hides 
~/.emacs.d/emacs-jab=
ber/jabber-util
/home/kb/.emacs.d/elpa/jabber-0.8.90/jabber-socks5 hides 
~/.emacs.d/emacs-j=
abber/jabber-socks5
/home/kb/.emacs.d/elpa/jabber-0.8.90/jabber-alert hides 
~/.emacs.d/emacs-ja=
bber/jabber-alert
/home/kb/.emacs.d/elpa/jabber-0.8.90/jabber-version hides 
~/.emacs.d/emacs-=
jabber/jabber-version
/home/kb/.emacs.d/elpa/jabber-0.8.90/jabber-register hides 
~/.emacs.d/emacs=
-jabber/jabber-register
/home/kb/.emacs.d/elpa/jabber-0.8.90/jabber-vcard hides 
~/.emacs.d/emacs-ja=
bber/jabber-vcard
/home/kb/.emacs.d/elpa/jabber-0.8.90/jabber-core hides 
~/.emacs.d/emacs-jab=
ber/jabber-core
/home/kb/.emacs.d/elpa/jabber-0.8.90/jabber-sasl hides 
~/.emacs.d/emacs-jab=
ber/jabber-sasl
/home/kb/.emacs.d/elpa/jabber-0.8.90/jabber-events hides 
~/.emacs.d/emacs-j=
abber/jabber-events
/home/kb/.emacs.d/elpa/jabber-0.8.90/jabber-xmessage hides 
~/.emacs.d/emacs=
-jabber/jabber-xmessage
/home/kb/.emacs.d/elpa/jabber-0.8.90/jabber-muc hides 
~/.emacs.d/emacs-jabb=
er/jabber-muc
/home/kb/.emacs.d/elpa/jabber-0.8.90/jabber-avatar hides 
~/.emacs.d/emacs-j=
abber/jabber-avatar
/home/kb/.emacs.d/elpa/jabber-0.8.90/jabber-screen hides 
~/.emacs.d/emacs-j=
abber/jabber-screen
/home/kb/.emacs.d/elpa/jabber-0.8.90/jabber-chatbuffer hides 
~/.emacs.d/ema=
cs-jabber/jabber-chatbuffer
/home/kb/.emacs.d/elpa/jabber-0.8.90/jabber-si-client hides 
~/.emacs.d/emac=
s-jabber/jabber-si-client
/home/kb/.emacs.d/elpa/jabber-0.8.90/jabber-history hides 
~/.emacs.d/emacs-=
jabber/jabber-history
/home/kb/.emacs.d/elpa/jabber-0.8.90/jabber-ft-server hides 
~/.emacs.d/emac=
s-jabber/jabber-ft-server
/home/kb/.emacs.d/elpa/jabber-0.8.90/jabber-watch hides 
~/.emacs.d/emacs-ja=
bber/jabber-watch
/home/kb/.emacs.d/elpa/jabber-0.8.90/jabber-export hides 
~/.emacs.d/emacs-j=
abber/jabber-export
/home/kb/.emacs.d/elpa/jabber-0.8.90/jabber-presence hides 
~/.emacs.d/emacs=
-jabber/jabber-presence
/home/kb/.emacs.d/elpa/jabber-0.8.90/jabber-festival hides 
~/.emacs.d/emacs=
-jabber/jabber-festival
/home/kb/.emacs.d/elpa/jabber-0.8.90/jabber-feature-neg hides 
~/.emacs.d/em=
acs-jabber/jabber-feature-neg
/home/kb/.emacs.d/elpa/jabber-0.8.90/jabber-ft-client hides 
~/.emacs.d/emac=
s-jabber/jabber-ft-client
/home/kb/.emacs.d/elpa/jabber-0.8.90/jabber-autoloads hides 
~/.emacs.d/emac=
s-jabber/jabber-autoloads
/home/kb/.emacs.d/elpa/jabber-0.8.90/jabber-private hides 
~/.emacs.d/emacs-=
jabber/jabber-private
/home/kb/.emacs.d/elpa/jabber-0.8.90/jabber-muc-nick-completion hides 
~/.em=
acs.d/emacs-jabber/jabber-muc-nick-completion
/home/kb/.emacs.d/elpa/jabber-0.8.90/jabber-autoaway hides 
~/.emacs.d/emacs=
-jabber/jabber-autoaway
/home/kb/.emacs.d/elpa/jabber-0.8.90/srv hides ~/.emacs.d/emacs-jabber/srv
/home/kb/.emacs.d/elpa/jabber-0.8.90/jabber-keepalive hides 
~/.emacs.d/emac=
s-jabber/jabber-keepalive
/home/kb/.emacs.d/elpa/jabber-0.8.90/jabber-xml hides 
~/.emacs.d/emacs-jabb=
er/jabber-xml
/home/kb/.emacs.d/elpa/jabber-0.8.90/jabber-newdisco hides 
~/.emacs.d/emacs=
-jabber/jabber-newdisco
/home/kb/.emacs.d/elpa/jabber-0.8.90/jabber-si-common hides 
~/.emacs.d/emac=
s-jabber/jabber-si-common
/home/kb/.emacs.d/elpa/jabber-0.8.90/jabber-modeline hides 
~/.emacs.d/emacs=
-jabber/jabber-modeline
/home/kb/.emacs.d/elpa/jabber-0.8.90/jabber-bookmarks hides 
~/.emacs.d/emac=
s-jabber/jabber-bookmarks
/home/kb/.emacs.d/elpa/jabber-0.8.90/jabber-wmii hides 
~/.emacs.d/emacs-jab=
ber/jabber-wmii
/home/kb/.emacs.d/elpa/jabber-0.8.90/jabber-gmail hides 
~/.emacs.d/emacs-ja=
bber/jabber-gmail
/home/kb/.emacs.d/elpa/jabber-0.8.90/fsm hides ~/.emacs.d/emacs-jabber/fsm
/home/kb/.emacs.d/elpa/jabber-0.8.90/jabber-ourversion hides 
~/.emacs.d/ema=
cs-jabber/jabber-ourversion
/home/kb/.emacs.d/elpa/jabber-0.8.90/jabber-time hides 
~/.emacs.d/emacs-jab=
ber/jabber-time
/home/kb/.emacs.d/elpa/jabber-0.8.90/jabber-vcard-avatars hides 
~/.emacs.d/=
emacs-jabber/jabber-vcard-avatars
/home/kb/.emacs.d/elpa/jabber-0.8.90/jabber-activity hides 
~/.emacs.d/emacs=
-jabber/jabber-activity
/home/kb/.emacs.d/elpa/jabber-0.8.90/jabber-browse hides 
~/.emacs.d/emacs-j=
abber/jabber-browse
/home/kb/.emacs.d/elpa/jabber-0.8.90/jabber hides 
~/.emacs.d/emacs-jabber/j=
abber
/home/kb/.emacs.d/elpa/jabber-0.8.90/jabber-osd hides 
~/.emacs.d/emacs-jabb=
er/jabber-osd
/home/kb/.emacs.d/elpa/jabber-0.8.90/jabber-widget hides 
~/.emacs.d/emacs-j=
abber/jabber-widget
/home/kb/.emacs.d/elpa/jabber-0.8.90/jabber-chatstates hides 
~/.emacs.d/ema=
cs-jabber/jabber-chatstates
/home/kb/.emacs.d/elpa/jabber-0.8.90/jabber-menu hides 
~/.emacs.d/emacs-jab=
ber/jabber-menu
/home/kb/.emacs.d/elpa/jabber-0.8.90/jabber-search hides 
~/.emacs.d/emacs-j=
abber/jabber-search
/home/kb/.emacs.d/elpa/jabber-0.8.90/jabber-logon hides 
~/.emacs.d/emacs-ja=
bber/jabber-logon
/home/kb/.emacs.d/elpa/jabber-0.8.90/jabber-ft-common hides 
~/.emacs.d/emac=
s-jabber/jabber-ft-common
/home/kb/.emacs.d/elpa/jabber-0.8.90/jabber-disco hides 
~/.emacs.d/emacs-ja=
bber/jabber-disco
/home/kb/.emacs.d/elpa/jabber-0.8.90/jabber-iq hides 
~/.emacs.d/emacs-jabbe=
r/jabber-iq
/home/kb/.emacs.d/elpa/jabber-0.8.90/jabber-conn hides 
~/.emacs.d/emacs-jab=
ber/jabber-conn
/home/kb/.emacs.d/elpa/jabber-0.8.90/jabber-chat hides 
~/.emacs.d/emacs-jab=
ber/jabber-chat
/home/kb/.emacs.d/elpa/adaptive-wrap-0.5/adaptive-wrap hides 
~/.emacs.d/ada=
ptive-wrap
~/.emacs.d/golden-ratio.el/golden-ratio hides ~/.emacs.d/golden-ratio
/usr/share/emacs/24.3/site-lisp/debian-startup hides 
/usr/share/emacs/site-=
lisp/debian-startup
/usr/share/emacs/24.3/site-lisp/cmake-data/cmake-mode hides 
/usr/share/emac=
s/site-lisp/cmake-mode
~/.emacs.d/emacs-juick-el/json hides /usr/share/emacs/24.3/lisp/json
/usr/share/emacs24/site-lisp/dictionaries-common/flyspell hides 
/usr/share/=
emacs/24.3/lisp/textmodes/flyspell
/usr/share/emacs24/site-lisp/dictionaries-common/ispell hides 
/usr/share/em=
acs/24.3/lisp/textmodes/ispell
/home/kb/.emacs.d/elpa/python-20120402/python hides 
/usr/share/emacs/24.3/l=
isp/progmodes/python
/home/kb/.emacs.d/elpa/flymake-0.4.13/flymake hides 
/usr/share/emacs/24.3/l=
isp/progmodes/flymake
/home/kb/.emacs.d/elpa/magit-20130819.2234/.dir-locals hides 
/usr/share/ema=
cs/24.3/lisp/gnus/.dir-locals

Features:
(shadow sort mail-extr emacsbug message rfc822 mml mml-sec mm-decode
mm-bodies mm-encode mailabbrev gmm-utils mailheader url-http mail-parse
rfc2231 url-gw url-cache url-auth url url-proxy url-privacy url-expand
url-methods url-history url-cookie url-domsuf url-util url-parse
url-vars vc-git goto-addr misearch multi-isearch jabber-keepalive
jabber-bookmarks jabber-private network-stream jabber jabber-awesome
jabber-osd jabber-wmii jabber-xmessage jabber-festival jabber-sawfish
jabber-ratpoison jabber-screen jabber-socks5 jabber-ft-server
jabber-si-server jabber-ft-client jabber-ft-common jabber-si-client
jabber-feature-neg jabber-truncate jabber-time jabber-autoaway
jabber-vcard-avatars jabber-chatstates jabber-events jabber-vcard
jabber-avatar mailcap jabber-activity jabber-watch jabber-modeline
jabber-ahc-presence jabber-ahc jabber-version jabber-ourversion
jabber-muc-nick-completion hippie-exp jabber-browse jabber-search
jabber-register jabber-roster jabber-presence assoc jabber-muc
jabber-newdisco jabber-widget jabber-disco jabber-chat jabber-history
jabber-alert jabber-iq jabber-core jabber-sasl sasl sasl-anonymous
sasl-login sasl-plain fsm jabber-logon jabber-conn srv dns starttls tls
jabber-xml xml jabber-menu jabber-util vc-hg paren puppet-mode ac-nrepl
nrepl ewoc eldoc arc-mode archive-mode etags clojure-mode inf-lisp
auto-complete-config auto-complete popup rainbow-delimiters jinja2-mode
sgml-mode shpaml-mode python-get-runcmd-for-current-unit-test
golden-ratio deft rfcview projectile dash s yasnippet help-mode
magit-cherry magit-bisect magit-key-mode magit server grep epa epg
epg-config diff-mode git-commit-mode magit-compat flymake-cursor tabbar
haskell-mode haskell-string haskell-sort-imports haskell-align-imports
warnings flymake tramp tramp-compat auth-source eieio gnus-util
password-cache tramp-loaddefs shell pcomplete format-spec dabbrev
adaptive-wrap python skeleton rx ack compile yaml-mode coffee-mode
comint ansi-color ring sass-mode cus-edit cus-start cus-load haml-mode
js byte-opt bytecomp byte-compile cconv imenu cc-mode cc-fonts cc-guess
cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs
markdown-mode thingatpt noutline outline easy-mmode css-mode ruby-mode
pretty-lambdada sublime-text-2 color-theme wid-edit sendmail rfc2047
rfc2045 ietf-drums mm-util mail-prsvr mail-utils reporter
ac-nrepl-autoloads ack-autoloads adaptive-wrap-autoloads
auto-complete-autoloads carton-autoloads clojure-test-mode-autoloads
coffee-mode-autoloads color-theme-autoloads drag-stuff-autoloads
expand-region-autoloads fill-column-indicator-autoloads
flymake-autoloads flymake-cursor-autoloads flymake-easy-autoloads
ghc-autoloads haskell-mode-autoloads edmacro kmacro helm-autoloads
jenkins-watch-autoloads magit-autoloads info easymenu
git-rebase-mode-autoloads git-commit-mode-autoloads
markdown-mode-autoloads monokai-theme-autoloads
multiple-cursors-autoloads noctilux-theme-autoloads nrepl-autoloads
clojure-mode-autoloads paredit-autoloads
phoenix-dark-mono-theme-autoloads phoenix-dark-pink-theme-autoloads
popup-autoloads popwin-autoloads pretty-lambdada-autoloads
project-local-variables-autoloads projectile-autoloads
pkg-info-autoloads puppet-mode-autoloads python-autoloads
rainbow-delimiters-autoloads s-autoloads sass-mode-autoloads
haml-mode-autoloads finder-inf smex-autoloads tabbar-autoloads
twittering-mode-autoloads wrap-region-autoloads dash-autoloads
yaml-mode-autoloads yasnippet-autoloads package uniquify juick derived
cl-macs gv google-maps json cl jabber-moods jabber-tune jabber-geoloc
jabber-ibb jabber-si-common jabber-chatbuffer jabber-keymap browse-url
jabber-autoloads column-marker autorevert smooth-scrolling advice
help-fns cl-lib advice-preload windmove ido time-date tooltip ediff-hook
vc-hooks lisp-float-type mwheel x-win x-dnd tool-bar dnd fontset image
regexp-opt fringe tabulated-list newcomment lisp-mode register page
menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock font-lock
syntax facemenu font-core frame cham georgian utf-8-lang misc-lang
vietnamese tibetan thai tai-viet lao korean japanese hebrew greek
romanian slovak czech european ethiopic indian cyrillic chinese
case-table epa-hook jka-cmpr-hook help simple abbrev minibuffer loaddefs
button faces cus-face macroexp files text-properties overlay sha1 md5
base64 format env code-pages mule custom widget hashtable-print-readable
backquote make-network-process dbusbind dynamic-setting
system-font-setting font-render-setting move-toolbar gtk x-toolkit x
multi-tty emacs)