annotate lisp/progmodes/cc-subword.el @ 103748:5a1769adb8af

Port memory buffer from gdb-ui.el (gdb-memory-address): New variable which holds top address of memory page shown in memory buffer (gdb-memory-repeat-count, gdb-memory-format, gdb-memory-unit): New customization variables. New functions: (gdb-display-memory-buffer, gdb-frame-memory-buffer): Functions to display the memory buffer. (gdb-memory-set-address, gdb-memory-set-repeat-count): Set memory buffer display parameters. (def-gdb-memory-format, gdb-memory-format-binary) (gdb-memory-format-octal, gdb-memory-format-unsigned) (gdb-memory-format-signed, gdb-memory-format-hexadecimal): Functions for setting memory buffer format. (gdb-memory-unit-word, gdb-memory-unit-halfword) (gdb-memory-unit-giant, gdb-memory-unit-byte): Functions to set unit size used in memory buffer. (gdb-memory-show-next-page, gdb-memory-show-previous-page): Switch to next/previous page of memory buffer.
author Dmitry Dzhus <dima@sphinx.net.ru>
date Tue, 07 Jul 2009 16:57:41 +0000
parents a9dc0e7c3f2b
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
67252
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
1 ;;; cc-subword.el --- Handling capitalized subwords in a nomenclature
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
2
100908
a9dc0e7c3f2b Add 2009 to copyright years.
Glenn Morris <rgm@gnu.org>
parents: 94673
diff changeset
3 ;; Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
67252
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
4
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
5 ;; Author: Masatake YAMATO
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
6
94673
52b7a8c22af5 Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 87649
diff changeset
7 ;; This file is part of GNU Emacs.
52b7a8c22af5 Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 87649
diff changeset
8
52b7a8c22af5 Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 87649
diff changeset
9 ;; GNU Emacs is free software: you can redistribute it and/or modify
67252
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
10 ;; it under the terms of the GNU General Public License as published by
94673
52b7a8c22af5 Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 87649
diff changeset
11 ;; the Free Software Foundation, either version 3 of the License, or
52b7a8c22af5 Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 87649
diff changeset
12 ;; (at your option) any later version.
67252
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
13
94673
52b7a8c22af5 Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 87649
diff changeset
14 ;; GNU Emacs is distributed in the hope that it will be useful,
67252
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
15 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
16 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
17 ;; GNU General Public License for more details.
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
18
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
19 ;; You should have received a copy of the GNU General Public License
94673
52b7a8c22af5 Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 87649
diff changeset
20 ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
67252
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
21
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
22 ;;; Commentary:
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
23
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
24 ;; This package provides `subword' oriented commands and a minor mode
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
25 ;; (`c-subword-mode') that substitutes the common word handling
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
26 ;; functions with them.
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
27
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
28 ;; In spite of GNU Coding Standards, it is popular to name a symbol by
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
29 ;; mixing uppercase and lowercase letters, e.g. "GtkWidget",
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
30 ;; "EmacsFrameClass", "NSGraphicsContext", etc. Here we call these
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
31 ;; mixed case symbols `nomenclatures'. Also, each capitalized (or
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
32 ;; completely uppercase) part of a nomenclature is called a `subword'.
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
33 ;; Here are some examples:
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
34
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
35 ;; Nomenclature Subwords
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
36 ;; ===========================================================
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
37 ;; GtkWindow => "Gtk" and "Window"
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
38 ;; EmacsFrameClass => "Emacs", "Frame" and "Class"
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
39 ;; NSGraphicsContext => "NS", "Graphics" and "Context"
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
40
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
41 ;; The subword oriented commands defined in this package recognize
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
42 ;; subwords in a nomenclature to move between them and to edit them as
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
43 ;; words.
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
44
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
45 ;; In the minor mode, all common key bindings for word oriented
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
46 ;; commands are overridden by the subword oriented commands:
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
47
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
48 ;; Key Word oriented command Subword oriented command
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
49 ;; ============================================================
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
50 ;; M-f `forward-word' `c-forward-subword'
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
51 ;; M-b `backward-word' `c-backward-subword'
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
52 ;; M-@ `mark-word' `c-mark-subword'
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
53 ;; M-d `kill-word' `c-kill-subword'
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
54 ;; M-DEL `backward-kill-word' `c-backward-kill-subword'
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
55 ;; M-t `transpose-words' `c-transpose-subwords'
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
56 ;; M-c `capitalize-word' `c-capitalize-subword'
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
57 ;; M-u `upcase-word' `c-upcase-subword'
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
58 ;; M-l `downcase-word' `c-downcase-subword'
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
59 ;;
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
60 ;; Note: If you have changed the key bindings for the word oriented
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
61 ;; commands in your .emacs or a similar place, the keys you've changed
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
62 ;; to are also used for the corresponding subword oriented commands.
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
63
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
64 ;; To make the mode turn on automatically, put the following code in
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
65 ;; your .emacs:
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
66 ;;
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
67 ;; (add-hook 'c-mode-common-hook
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
68 ;; (lambda () (c-subword-mode 1)))
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
69 ;;
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
70
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
71 ;; Acknowledgment:
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
72 ;; The regular expressions to detect subwords are mostly based on
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
73 ;; the old `c-forward-into-nomenclature' originally contributed by
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
74 ;; Terry_Glanfield dot Southern at rxuk dot xerox dot com.
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
75
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
76 ;; TODO: ispell-word and subword oriented C-w in isearch.
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
77
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
78 ;;; Code:
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
79
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
80 (eval-when-compile
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
81 (let ((load-path
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
82 (if (and (boundp 'byte-compile-dest-file)
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
83 (stringp byte-compile-dest-file))
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
84 (cons (file-name-directory byte-compile-dest-file) load-path)
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
85 load-path)))
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
86 (load "cc-bytecomp" nil t)))
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
87
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
88 (cc-require 'cc-defs)
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
89 (cc-require 'cc-cmds)
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
90
87314
238289d30e93 (c-subword-mode): Drop support for systems without define-minor-mode.
Glenn Morris <rgm@gnu.org>
parents: 87023
diff changeset
91 (defvar c-subword-mode-map
238289d30e93 (c-subword-mode): Drop support for systems without define-minor-mode.
Glenn Morris <rgm@gnu.org>
parents: 87023
diff changeset
92 (let ((map (make-sparse-keymap)))
238289d30e93 (c-subword-mode): Drop support for systems without define-minor-mode.
Glenn Morris <rgm@gnu.org>
parents: 87023
diff changeset
93 (dolist (cmd '(forward-word backward-word mark-word
238289d30e93 (c-subword-mode): Drop support for systems without define-minor-mode.
Glenn Morris <rgm@gnu.org>
parents: 87023
diff changeset
94 kill-word backward-kill-word
238289d30e93 (c-subword-mode): Drop support for systems without define-minor-mode.
Glenn Morris <rgm@gnu.org>
parents: 87023
diff changeset
95 transpose-words
238289d30e93 (c-subword-mode): Drop support for systems without define-minor-mode.
Glenn Morris <rgm@gnu.org>
parents: 87023
diff changeset
96 capitalize-word upcase-word downcase-word))
238289d30e93 (c-subword-mode): Drop support for systems without define-minor-mode.
Glenn Morris <rgm@gnu.org>
parents: 87023
diff changeset
97 (let ((othercmd (let ((name (symbol-name cmd)))
238289d30e93 (c-subword-mode): Drop support for systems without define-minor-mode.
Glenn Morris <rgm@gnu.org>
parents: 87023
diff changeset
98 (string-match "\\(.*-\\)\\(word.*\\)" name)
238289d30e93 (c-subword-mode): Drop support for systems without define-minor-mode.
Glenn Morris <rgm@gnu.org>
parents: 87023
diff changeset
99 (intern (concat "c-"
238289d30e93 (c-subword-mode): Drop support for systems without define-minor-mode.
Glenn Morris <rgm@gnu.org>
parents: 87023
diff changeset
100 (match-string 1 name)
238289d30e93 (c-subword-mode): Drop support for systems without define-minor-mode.
Glenn Morris <rgm@gnu.org>
parents: 87023
diff changeset
101 "sub"
238289d30e93 (c-subword-mode): Drop support for systems without define-minor-mode.
Glenn Morris <rgm@gnu.org>
parents: 87023
diff changeset
102 (match-string 2 name))))))
238289d30e93 (c-subword-mode): Drop support for systems without define-minor-mode.
Glenn Morris <rgm@gnu.org>
parents: 87023
diff changeset
103 (if (fboundp 'command-remapping)
238289d30e93 (c-subword-mode): Drop support for systems without define-minor-mode.
Glenn Morris <rgm@gnu.org>
parents: 87023
diff changeset
104 (define-key map (vector 'remap cmd) othercmd)
238289d30e93 (c-subword-mode): Drop support for systems without define-minor-mode.
Glenn Morris <rgm@gnu.org>
parents: 87023
diff changeset
105 (substitute-key-definition cmd othercmd map global-map))))
238289d30e93 (c-subword-mode): Drop support for systems without define-minor-mode.
Glenn Morris <rgm@gnu.org>
parents: 87023
diff changeset
106 map)
238289d30e93 (c-subword-mode): Drop support for systems without define-minor-mode.
Glenn Morris <rgm@gnu.org>
parents: 87023
diff changeset
107 "Keymap used in command `c-subword-mode' minor mode.")
67252
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
108
87314
238289d30e93 (c-subword-mode): Drop support for systems without define-minor-mode.
Glenn Morris <rgm@gnu.org>
parents: 87023
diff changeset
109 ;;;###autoload
238289d30e93 (c-subword-mode): Drop support for systems without define-minor-mode.
Glenn Morris <rgm@gnu.org>
parents: 87023
diff changeset
110 (define-minor-mode c-subword-mode
238289d30e93 (c-subword-mode): Drop support for systems without define-minor-mode.
Glenn Morris <rgm@gnu.org>
parents: 87023
diff changeset
111 "Mode enabling subword movement and editing keys.
67252
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
112 In spite of GNU Coding Standards, it is popular to name a symbol by
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
113 mixing uppercase and lowercase letters, e.g. \"GtkWidget\",
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
114 \"EmacsFrameClass\", \"NSGraphicsContext\", etc. Here we call these
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
115 mixed case symbols `nomenclatures'. Also, each capitalized (or
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
116 completely uppercase) part of a nomenclature is called a `subword'.
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
117 Here are some examples:
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
118
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
119 Nomenclature Subwords
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
120 ===========================================================
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
121 GtkWindow => \"Gtk\" and \"Window\"
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
122 EmacsFrameClass => \"Emacs\", \"Frame\" and \"Class\"
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
123 NSGraphicsContext => \"NS\", \"Graphics\" and \"Context\"
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
124
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
125 The subword oriented commands activated in this minor mode recognize
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
126 subwords in a nomenclature to move between subwords and to edit them
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
127 as words.
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
128
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
129 \\{c-subword-mode-map}"
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
130 nil
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
131 nil
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
132 c-subword-mode-map
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
133 (c-update-modeline))
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
134
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
135 (defun c-forward-subword (&optional arg)
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
136 "Do the same as `forward-word' but on subwords.
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
137 See the command `c-subword-mode' for a description of subwords.
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
138 Optional argument ARG is the same as for `forward-word'."
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
139 (interactive "p")
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
140 (unless arg (setq arg 1))
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
141 (c-keep-region-active)
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
142 (cond
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
143 ((< 0 arg)
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
144 (dotimes (i arg (point))
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
145 (c-forward-subword-internal)))
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
146 ((> 0 arg)
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
147 (dotimes (i (- arg) (point))
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
148 (c-backward-subword-internal)))
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
149 (t
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
150 (point))))
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
151
70649
4cc85f377783 (c-forward-subword, c-backward-subword):
Kim F. Storm <storm@cua.dk>
parents: 70239
diff changeset
152 (put 'c-forward-subword 'CUA 'move)
4cc85f377783 (c-forward-subword, c-backward-subword):
Kim F. Storm <storm@cua.dk>
parents: 70239
diff changeset
153
67252
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
154 (defun c-backward-subword (&optional arg)
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
155 "Do the same as `backward-word' but on subwords.
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
156 See the command `c-subword-mode' for a description of subwords.
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
157 Optional argument ARG is the same as for `backward-word'."
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
158 (interactive "p")
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
159 (c-forward-subword (- (or arg 1))))
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
160
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
161 (defun c-mark-subword (arg)
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
162 "Do the same as `mark-word' but on subwords.
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
163 See the command `c-subword-mode' for a description of subwords.
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
164 Optional argument ARG is the same as for `mark-word'."
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
165 ;; This code is almost copied from `mark-word' in GNU Emacs.
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
166 (interactive "p")
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
167 (cond ((and (eq last-command this-command) (mark t))
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
168 (set-mark
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
169 (save-excursion
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
170 (goto-char (mark))
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
171 (c-forward-subword arg)
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
172 (point))))
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
173 (t
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
174 (push-mark
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
175 (save-excursion
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
176 (c-forward-subword arg)
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
177 (point))
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
178 nil t))))
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
179
70649
4cc85f377783 (c-forward-subword, c-backward-subword):
Kim F. Storm <storm@cua.dk>
parents: 70239
diff changeset
180 (put 'c-backward-subword 'CUA 'move)
4cc85f377783 (c-forward-subword, c-backward-subword):
Kim F. Storm <storm@cua.dk>
parents: 70239
diff changeset
181
67252
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
182 (defun c-kill-subword (arg)
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
183 "Do the same as `kill-word' but on subwords.
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
184 See the command `c-subword-mode' for a description of subwords.
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
185 Optional argument ARG is the same as for `kill-word'."
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
186 (interactive "p")
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
187 (kill-region (point) (c-forward-subword arg)))
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
188
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
189 (defun c-backward-kill-subword (arg)
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
190 "Do the same as `backward-kill-word' but on subwords.
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
191 See the command `c-subword-mode' for a description of subwords.
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
192 Optional argument ARG is the same as for `backward-kill-word'."
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
193 (interactive "p")
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
194 (c-kill-subword (- arg)))
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
195
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
196 (defun c-transpose-subwords (arg)
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
197 "Do the same as `transpose-words' but on subwords.
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
198 See the command `c-subword-mode' for a description of subwords.
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
199 Optional argument ARG is the same as for `transpose-words'."
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
200 (interactive "*p")
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
201 (transpose-subr 'c-forward-subword arg))
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
202
77082
c783ccac00cf Install a patch from Paul Curry.
Masatake YAMATO <jet@gyve.org>
parents: 75347
diff changeset
203
c783ccac00cf Install a patch from Paul Curry.
Masatake YAMATO <jet@gyve.org>
parents: 75347
diff changeset
204
c783ccac00cf Install a patch from Paul Curry.
Masatake YAMATO <jet@gyve.org>
parents: 75347
diff changeset
205 (defun c-downcase-subword (arg)
c783ccac00cf Install a patch from Paul Curry.
Masatake YAMATO <jet@gyve.org>
parents: 75347
diff changeset
206 "Do the same as `downcase-word' but on subwords.
c783ccac00cf Install a patch from Paul Curry.
Masatake YAMATO <jet@gyve.org>
parents: 75347
diff changeset
207 See the command `c-subword-mode' for a description of subwords.
c783ccac00cf Install a patch from Paul Curry.
Masatake YAMATO <jet@gyve.org>
parents: 75347
diff changeset
208 Optional argument ARG is the same as for `downcase-word'."
c783ccac00cf Install a patch from Paul Curry.
Masatake YAMATO <jet@gyve.org>
parents: 75347
diff changeset
209 (interactive "p")
c783ccac00cf Install a patch from Paul Curry.
Masatake YAMATO <jet@gyve.org>
parents: 75347
diff changeset
210 (let ((start (point)))
c783ccac00cf Install a patch from Paul Curry.
Masatake YAMATO <jet@gyve.org>
parents: 75347
diff changeset
211 (downcase-region (point) (c-forward-subword arg))
c783ccac00cf Install a patch from Paul Curry.
Masatake YAMATO <jet@gyve.org>
parents: 75347
diff changeset
212 (when (< arg 0)
c783ccac00cf Install a patch from Paul Curry.
Masatake YAMATO <jet@gyve.org>
parents: 75347
diff changeset
213 (goto-char start))))
c783ccac00cf Install a patch from Paul Curry.
Masatake YAMATO <jet@gyve.org>
parents: 75347
diff changeset
214
c783ccac00cf Install a patch from Paul Curry.
Masatake YAMATO <jet@gyve.org>
parents: 75347
diff changeset
215 (defun c-upcase-subword (arg)
c783ccac00cf Install a patch from Paul Curry.
Masatake YAMATO <jet@gyve.org>
parents: 75347
diff changeset
216 "Do the same as `upcase-word' but on subwords.
c783ccac00cf Install a patch from Paul Curry.
Masatake YAMATO <jet@gyve.org>
parents: 75347
diff changeset
217 See the command `c-subword-mode' for a description of subwords.
c783ccac00cf Install a patch from Paul Curry.
Masatake YAMATO <jet@gyve.org>
parents: 75347
diff changeset
218 Optional argument ARG is the same as for `upcase-word'."
c783ccac00cf Install a patch from Paul Curry.
Masatake YAMATO <jet@gyve.org>
parents: 75347
diff changeset
219 (interactive "p")
c783ccac00cf Install a patch from Paul Curry.
Masatake YAMATO <jet@gyve.org>
parents: 75347
diff changeset
220 (let ((start (point)))
c783ccac00cf Install a patch from Paul Curry.
Masatake YAMATO <jet@gyve.org>
parents: 75347
diff changeset
221 (upcase-region (point) (c-forward-subword arg))
c783ccac00cf Install a patch from Paul Curry.
Masatake YAMATO <jet@gyve.org>
parents: 75347
diff changeset
222 (when (< arg 0)
c783ccac00cf Install a patch from Paul Curry.
Masatake YAMATO <jet@gyve.org>
parents: 75347
diff changeset
223 (goto-char start))))
c783ccac00cf Install a patch from Paul Curry.
Masatake YAMATO <jet@gyve.org>
parents: 75347
diff changeset
224
67252
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
225 (defun c-capitalize-subword (arg)
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
226 "Do the same as `capitalize-word' but on subwords.
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
227 See the command `c-subword-mode' for a description of subwords.
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
228 Optional argument ARG is the same as for `capitalize-word'."
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
229 (interactive "p")
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
230 (let ((count (abs arg))
77083
304a180098d2 (c-capitalize-subword): Implement
Masatake YAMATO <jet@gyve.org>
parents: 77082
diff changeset
231 (start (point))
304a180098d2 (c-capitalize-subword): Implement
Masatake YAMATO <jet@gyve.org>
parents: 77082
diff changeset
232 (advance (if (< arg 0) nil t)))
67252
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
233 (dotimes (i count)
77083
304a180098d2 (c-capitalize-subword): Implement
Masatake YAMATO <jet@gyve.org>
parents: 77082
diff changeset
234 (if advance
304a180098d2 (c-capitalize-subword): Implement
Masatake YAMATO <jet@gyve.org>
parents: 77082
diff changeset
235 (progn (re-search-forward
304a180098d2 (c-capitalize-subword): Implement
Masatake YAMATO <jet@gyve.org>
parents: 77082
diff changeset
236 (concat "[" c-alpha "]")
304a180098d2 (c-capitalize-subword): Implement
Masatake YAMATO <jet@gyve.org>
parents: 77082
diff changeset
237 nil t)
304a180098d2 (c-capitalize-subword): Implement
Masatake YAMATO <jet@gyve.org>
parents: 77082
diff changeset
238 (goto-char (match-beginning 0)))
304a180098d2 (c-capitalize-subword): Implement
Masatake YAMATO <jet@gyve.org>
parents: 77082
diff changeset
239 (c-backward-subword))
67252
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
240 (let* ((p (point))
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
241 (pp (1+ p))
77083
304a180098d2 (c-capitalize-subword): Implement
Masatake YAMATO <jet@gyve.org>
parents: 77082
diff changeset
242 (np (c-forward-subword)))
67252
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
243 (upcase-region p pp)
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
244 (downcase-region pp np)
77083
304a180098d2 (c-capitalize-subword): Implement
Masatake YAMATO <jet@gyve.org>
parents: 77082
diff changeset
245 (goto-char (if advance np p))))
304a180098d2 (c-capitalize-subword): Implement
Masatake YAMATO <jet@gyve.org>
parents: 77082
diff changeset
246 (unless advance
304a180098d2 (c-capitalize-subword): Implement
Masatake YAMATO <jet@gyve.org>
parents: 77082
diff changeset
247 (goto-char start))))
67252
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
248
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
249
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
250
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
251 ;;
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
252 ;; Internal functions
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
253 ;;
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
254 (defun c-forward-subword-internal ()
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
255 (if (and
70649
4cc85f377783 (c-forward-subword, c-backward-subword):
Kim F. Storm <storm@cua.dk>
parents: 70239
diff changeset
256 (save-excursion
67252
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
257 (let ((case-fold-search nil))
70649
4cc85f377783 (c-forward-subword, c-backward-subword):
Kim F. Storm <storm@cua.dk>
parents: 70239
diff changeset
258 (re-search-forward
67252
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
259 (concat "\\W*\\(\\([" c-upper "]*\\W?\\)[" c-lower c-digit "]*\\)")
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
260 nil t)))
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
261 (> (match-end 0) (point))) ; So we don't get stuck at a
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
262 ; "word-constituent" which isn't c-upper,
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
263 ; c-lower or c-digit
70649
4cc85f377783 (c-forward-subword, c-backward-subword):
Kim F. Storm <storm@cua.dk>
parents: 70239
diff changeset
264 (goto-char
67252
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
265 (cond
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
266 ((< 1 (- (match-end 2) (match-beginning 2)))
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
267 (1- (match-end 2)))
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
268 (t
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
269 (match-end 0))))
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
270 (forward-word 1)))
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
271
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
272
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
273 (defun c-backward-subword-internal ()
70649
4cc85f377783 (c-forward-subword, c-backward-subword):
Kim F. Storm <storm@cua.dk>
parents: 70239
diff changeset
274 (if (save-excursion
4cc85f377783 (c-forward-subword, c-backward-subword):
Kim F. Storm <storm@cua.dk>
parents: 70239
diff changeset
275 (let ((case-fold-search nil))
67252
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
276 (re-search-backward
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
277 (concat
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
278 "\\(\\(\\W\\|[" c-lower c-digit "]\\)\\([" c-upper "]+\\W*\\)"
70649
4cc85f377783 (c-forward-subword, c-backward-subword):
Kim F. Storm <storm@cua.dk>
parents: 70239
diff changeset
279 "\\|\\W\\w+\\)")
67252
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
280 nil t)))
70649
4cc85f377783 (c-forward-subword, c-backward-subword):
Kim F. Storm <storm@cua.dk>
parents: 70239
diff changeset
281 (goto-char
4cc85f377783 (c-forward-subword, c-backward-subword):
Kim F. Storm <storm@cua.dk>
parents: 70239
diff changeset
282 (cond
67252
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
283 ((and (match-end 3)
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
284 (< 1 (- (match-end 3) (match-beginning 3)))
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
285 (not (eq (point) (match-end 3))))
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
286 (1- (match-end 3)))
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
287 (t
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
288 (1+ (match-beginning 0)))))
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
289 (backward-word 1)))
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
290
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
291
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
292 (cc-provide 'cc-subword)
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
293
70238
1be7d556ba69 (c-subword-mode-map): Use command remapping.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 68773
diff changeset
294 ;; arch-tag: 2be9d294-7f30-4626-95e6-9964bb93c7a3
67252
04d2abb755d9 Update CC Mode to release 5.31.
Alan Mackenzie <acm@muc.de>
parents:
diff changeset
295 ;;; cc-subword.el ends here