mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-12-23 10:34:07 +00:00
(c-forward-subword, c-backward-subword):
Add CUA move property.
This commit is contained in:
parent
dac85f4b38
commit
5e8c9892ef
@ -167,6 +167,8 @@ Optional argument ARG is the same as for `forward-word'."
|
||||
(t
|
||||
(point))))
|
||||
|
||||
(put 'c-forward-subword 'CUA 'move)
|
||||
|
||||
(defun c-backward-subword (&optional arg)
|
||||
"Do the same as `backward-word' but on subwords.
|
||||
See the command `c-subword-mode' for a description of subwords.
|
||||
@ -193,6 +195,8 @@ Optional argument ARG is the same as for `mark-word'."
|
||||
(point))
|
||||
nil t))))
|
||||
|
||||
(put 'c-backward-subword 'CUA 'move)
|
||||
|
||||
(defun c-kill-subword (arg)
|
||||
"Do the same as `kill-word' but on subwords.
|
||||
See the command `c-subword-mode' for a description of subwords.
|
||||
@ -222,7 +226,7 @@ Optional argument ARG is the same as for `capitalize-word'."
|
||||
(let ((count (abs arg))
|
||||
(direction (if (< 0 arg) 1 -1)))
|
||||
(dotimes (i count)
|
||||
(when (re-search-forward
|
||||
(when (re-search-forward
|
||||
(concat "[" c-alpha "]")
|
||||
nil t)
|
||||
(goto-char (match-beginning 0)))
|
||||
@ -253,15 +257,15 @@ Optional argument ARG is the same as for `upcase-word'."
|
||||
;;
|
||||
(defun c-forward-subword-internal ()
|
||||
(if (and
|
||||
(save-excursion
|
||||
(save-excursion
|
||||
(let ((case-fold-search nil))
|
||||
(re-search-forward
|
||||
(re-search-forward
|
||||
(concat "\\W*\\(\\([" c-upper "]*\\W?\\)[" c-lower c-digit "]*\\)")
|
||||
nil t)))
|
||||
(> (match-end 0) (point))) ; So we don't get stuck at a
|
||||
; "word-constituent" which isn't c-upper,
|
||||
; c-lower or c-digit
|
||||
(goto-char
|
||||
(goto-char
|
||||
(cond
|
||||
((< 1 (- (match-end 2) (match-beginning 2)))
|
||||
(1- (match-end 2)))
|
||||
@ -271,15 +275,15 @@ Optional argument ARG is the same as for `upcase-word'."
|
||||
|
||||
|
||||
(defun c-backward-subword-internal ()
|
||||
(if (save-excursion
|
||||
(let ((case-fold-search nil))
|
||||
(if (save-excursion
|
||||
(let ((case-fold-search nil))
|
||||
(re-search-backward
|
||||
(concat
|
||||
"\\(\\(\\W\\|[" c-lower c-digit "]\\)\\([" c-upper "]+\\W*\\)"
|
||||
"\\|\\W\\w+\\)")
|
||||
"\\|\\W\\w+\\)")
|
||||
nil t)))
|
||||
(goto-char
|
||||
(cond
|
||||
(goto-char
|
||||
(cond
|
||||
((and (match-end 3)
|
||||
(< 1 (- (match-end 3) (match-beginning 3)))
|
||||
(not (eq (point) (match-end 3))))
|
||||
|
Loading…
Reference in New Issue
Block a user