aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArtur Malabarba <bruce.connor.am@gmail.com>2015-01-14 22:22:36 -0200
committerArtur Malabarba <bruce.connor.am@gmail.com>2015-01-14 22:22:36 -0200
commit42f302ab616264348a22107d6fb4d41632ec52a2 (patch)
treedbfc22d523c6954c553f5773d3bb17929d2d3726
parent22f86c35499f994f0eb7532b8eb27b0d990d889d (diff)
Move sx-question-mode--goto-property-change to sx.el
-rw-r--r--sx-question-mode.el20
-rw-r--r--sx.el15
2 files changed, 17 insertions, 18 deletions
diff --git a/sx-question-mode.el b/sx-question-mode.el
index 5303ebb..6125416 100644
--- a/sx-question-mode.el
+++ b/sx-question-mode.el
@@ -121,10 +121,10 @@ Prefix argument N moves N sections down or up."
(while (> count 0)
;; This will either move us to the next section, or move out of
;; the current one.
- (unless (sx-question-mode--goto-property-change 'section n)
+ (unless (sx--goto-property-change 'sx-question-mode--section n)
;; If all we did was move out the current one, then move again
;; and we're guaranteed to reach the next section.
- (sx-question-mode--goto-property-change 'section n))
+ (sx--goto-property-change 'sx-question-mode--section n))
(unless (get-char-property (point) 'invisible)
(cl-decf count))))
(when (equal (selected-window) (get-buffer-window))
@@ -140,22 +140,6 @@ Prefix argument moves N sections up or down."
(interactive "p")
(sx-question-mode-next-section (- (or n 1))))
-(defun sx-question-mode--goto-property-change (prop &optional direction)
- "Move forward to the next change of text-property sx-question-mode--PROP.
-Return the new value of PROP at point.
-
-If DIRECTION is negative, move backwards instead."
- (let ((prop (intern (format "sx-question-mode--%s" prop)))
- (func (if (and (numberp direction)
- (< direction 0))
- #'previous-single-property-change
- #'next-single-property-change))
- (limit (if (and (numberp direction)
- (< direction 0))
- (point-min) (point-max))))
- (goto-char (funcall func (point) prop nil limit))
- (get-text-property (point) prop)))
-
(defun sx-question-mode-hide-show-section (&optional _)
"Hide or show section under point.
Optional argument _ is for `push-button'."
diff --git a/sx.el b/sx.el
index 36ecfca..af4ab4d 100644
--- a/sx.el
+++ b/sx.el
@@ -259,6 +259,21 @@ whenever BODY evaluates to nil."
:filter (lambda (&optional _)
(when (progn ,@body) ,def)))))
+(defun sx--goto-property-change (prop &optional direction)
+ "Move forward to the next change of text-property PROP.
+Return the new value of PROP at point.
+
+If DIRECTION is negative, move backwards instead."
+ (let ((func (if (and (numberp direction)
+ (< direction 0))
+ #'previous-single-property-change
+ #'next-single-property-change))
+ (limit (if (and (numberp direction)
+ (< direction 0))
+ (point-min) (point-max))))
+ (goto-char (funcall func (point) prop nil limit))
+ (get-text-property (point) prop)))
+
;;; Printing request data
(defvar sx--overlays nil