[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Word boundaries in wdired mode

From: martin rudalics
Subject: Re: Word boundaries in wdired mode
Date: Fri, 05 Jan 2007 18:49:25 +0100
User-agent: Mozilla Thunderbird 1.0 (Windows/20041206)

> There's something screwy about word boundries in wdired mode.  Say I
> have the following files in a directory:
> If I try to downcase them by placing point on F and hitting "M-l" a
> number of times, then I end up with this:
> foo.ext
> BAR.ext
> BAZ.ext
> The first two M-l work as expected, but the next two skips over BAR and
> BAZ respectively.

The patch below should work around this but the bug is inherently with
`operate_on_word': When you have a buffer line like


with point-at-bol and the space before FOO is read-only, `downcase-word'
will fail to downcase FOO even if it's not read-only.

In principle, `operate_on_word' should skip any non-word syntax first
before attempting to downcase the following word.  Unfortunately, Emacs
misses a cheap `forward-nonword' primitive, (skip-syntax-forward "^w")
is a poor substitute.

*** wdired.el.~1.22.~   Sat Dec  9 22:30:12 2006
--- wdired.el   Fri Jan  5 18:22:44 2007
*** 576,583 ****
              (funcall command 1)
              (setq arg (1- arg)))
!          (if (not (forward-word 1))
!              (setq arg 0)))))))

  (defun wdired-downcase-word (arg)
    "WDired version of `downcase-word'.
--- 576,584 ----
              (funcall command 1)
              (setq arg (1- arg)))
!          (if (forward-word)
!            (skip-syntax-forward "^w")
!          (setq arg 0)))))))

  (defun wdired-downcase-word (arg)
    "WDired version of `downcase-word'.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]