emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] /srv/bzr/emacs/trunk r109639: Make subword.el easier to cu


From: Glenn Morris
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r109639: Make subword.el easier to customize (tiny change)
Date: Wed, 15 Aug 2012 23:25:27 -0700
User-agent: Bazaar (2.5.0)

------------------------------------------------------------
revno: 109639
fixes bug: http://debbugs.gnu.org/11411
author: Phil Sainty <address@hidden> 
committer: Glenn Morris <address@hidden>
branch nick: trunk
timestamp: Wed 2012-08-15 23:25:27 -0700
message:
  Make subword.el easier to customize (tiny change)
  
  * lisp/progmodes/subword.el (subword-forward-function)
  (subword-backward-function, subword-forward-regexp, subword-backward-regexp):
  New variables.
  (subword-forward, subword-forward-internal, subword-backward-internal):
  Use new variables, eg so that different "word" definitions can be easily used.
modified:
  lisp/ChangeLog
  lisp/progmodes/subword.el
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2012-08-15 19:20:26 +0000
+++ b/lisp/ChangeLog    2012-08-16 06:25:27 +0000
@@ -1,3 +1,12 @@
+2012-08-16  Phil Sainty  <address@hidden>  (tiny change)
+
+       * progmodes/subword.el (subword-forward-function)
+       (subword-backward-function, subword-forward-regexp)
+       (subword-backward-regexp): New variables.
+       (subword-forward, subword-forward-internal, subword-backward-internal):
+       Use new variables, eg so that different "word" definitions
+       can be easily used.  (Bug#11411)
+
 2012-08-15  Stefan Monnier  <address@hidden>
 
        * vc/vc-mtn.el (vc-mtn-revision-completion-table): Handle completion

=== modified file 'lisp/progmodes/subword.el'
--- a/lisp/progmodes/subword.el 2012-01-19 07:21:25 +0000
+++ b/lisp/progmodes/subword.el 2012-08-16 06:25:27 +0000
@@ -80,6 +80,20 @@
 
 ;;; Code:
 
+(defvar subword-forward-function 'subword-forward-internal
+  "Function to call for forward subword movement.")
+
+(defvar subword-backward-function 'subword-backward-internal
+  "Function to call for backward subword movement.")
+
+(defvar subword-forward-regexp
+  "\\W*\\(\\([[:upper:]]*\\W?\\)[[:lower:][:digit:]]*\\)"
+  "Regexp used by `subword-forward-internal'.")
+
+(defvar subword-backward-regexp
+  "\\(\\(\\W\\|[[:lower:][:digit:]]\\)\\([[:upper:]]+\\W*\\)\\|\\W\\w+\\)"
+  "Regexp used by `subword-backward-internal'.")
+
 (defvar subword-mode-map
   (let ((map (make-sparse-keymap)))
     (dolist (cmd '(forward-word backward-word mark-word kill-word
@@ -138,10 +152,10 @@
   (cond
    ((< 0 arg)
     (dotimes (i arg (point))
-      (subword-forward-internal)))
+      (funcall subword-forward-function)))
    ((> 0 arg)
     (dotimes (i (- arg) (point))
-      (subword-backward-internal)))
+      (funcall subword-backward-function)))
    (t
     (point))))
 
@@ -249,9 +263,7 @@
   (if (and
        (save-excursion
         (let ((case-fold-search nil))
-          (re-search-forward
-           (concat "\\W*\\(\\([[:upper:]]*\\W?\\)[[:lower:][:digit:]]*\\)")
-           nil t)))
+          (re-search-forward subword-forward-regexp nil t)))
        (> (match-end 0) (point)))
       (goto-char
        (cond
@@ -265,11 +277,7 @@
 (defun subword-backward-internal ()
   (if (save-excursion
        (let ((case-fold-search nil))
-         (re-search-backward
-          (concat
-           "\\(\\(\\W\\|[[:lower:][:digit:]]\\)\\([[:upper:]]+\\W*\\)"
-           "\\|\\W\\w+\\)")
-          nil t)))
+         (re-search-backward subword-backward-regexp nil t)))
       (goto-char
        (cond
        ((and (match-end 3)


reply via email to

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