summaryrefslogtreecommitdiff
path: root/lisp/progmodes/hideshow.el
diff options
context:
space:
mode:
authorChong Yidong <cyd@stupidchicken.com>2009-07-06 14:16:52 +0000
committerChong Yidong <cyd@stupidchicken.com>2009-07-06 14:16:52 +0000
commitd44d05e807ff0a0d98ed3d46b8325dfba407e644 (patch)
treec08e2a0aa95f9eeb95696b11ddebe48d6d1ef68a /lisp/progmodes/hideshow.el
parent3e2fa3535424f158e2e1146d2d2c2d9f61e35799 (diff)
downloademacs-d44d05e807ff0a0d98ed3d46b8325dfba407e644.tar.gz
* progmodes/hideshow.el (hs-hide-block-at-point): Don't move point
to the end of the line when locating the block (Bug#700).
Diffstat (limited to 'lisp/progmodes/hideshow.el')
-rw-r--r--lisp/progmodes/hideshow.el21
1 files changed, 10 insertions, 11 deletions
diff --git a/lisp/progmodes/hideshow.el b/lisp/progmodes/hideshow.el
index dc2451bc6f1..7e4da68ec38 100644
--- a/lisp/progmodes/hideshow.el
+++ b/lisp/progmodes/hideshow.el
@@ -565,29 +565,28 @@ and then further adjusted to be at the end of the line."
(hs-hide-comment-region (car comment-reg) (cadr comment-reg) end)
(when (looking-at hs-block-start-regexp)
(let* ((mdata (match-data t))
- (pure-p (match-end 0))
+ (header-beg (match-beginning 0))
+ (header-end (match-end 0))
(p
;; `p' is the point at the end of the block beginning,
;; which may need to be adjusted
(save-excursion
- (goto-char (funcall (or hs-adjust-block-beginning
- 'identity)
- pure-p))
- ;; whatever the adjustment, we move to eol
- (line-end-position)))
+ (if hs-adjust-block-beginning
+ (goto-char (funcall hs-adjust-block-beginning
+ header-end))
+ (goto-char header-beg))))
(q
;; `q' is the point at the end of the block
(progn (hs-forward-sexp mdata 1)
- (end-of-line)
- (point)))
- ov)
+ (point)))
+ ov)
(when (and (< p (point)) (> (count-lines p q) 1))
(cond ((and hs-allow-nesting (setq ov (hs-overlay-at p)))
(delete-overlay ov))
((not hs-allow-nesting)
(hs-discard-overlays p q)))
- (hs-make-overlay p q 'code (- pure-p p)))
- (goto-char (if end q (min p pure-p)))))))
+ (hs-make-overlay p q 'code (- header-end p)))
+ (goto-char (if end q (min p header-end)))))))
(defun hs-inside-comment-p ()
"Return non-nil if point is inside a comment, otherwise nil.