diff options
author | Chong Yidong <cyd@stupidchicken.com> | 2009-07-06 14:16:52 +0000 |
---|---|---|
committer | Chong Yidong <cyd@stupidchicken.com> | 2009-07-06 14:16:52 +0000 |
commit | d44d05e807ff0a0d98ed3d46b8325dfba407e644 (patch) | |
tree | c08e2a0aa95f9eeb95696b11ddebe48d6d1ef68a /lisp/progmodes/hideshow.el | |
parent | 3e2fa3535424f158e2e1146d2d2c2d9f61e35799 (diff) | |
download | emacs-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.el | 21 |
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. |