--- lisp/progmodes/hideshow.el.orig 2010-05-12 18:28:06.543936429 +0200 +++ lisp/progmodes/hideshow.el 2010-05-12 18:27:40.212936751 +0200 @@ -691,9 +691,11 @@ Return point, or nil if original point w ;; look backward for the start of a block that contains the cursor (while (and (re-search-backward hs-block-start-regexp nil t) (not (setq done - (< here (save-excursion - (hs-forward-sexp (match-data t) 1) - (point))))))) + (and (< here + (save-excursion + (hs-forward-sexp (match-data t) 1) + (point))) + (eq (hs-inside-comment-p) nil)))))) (if done (point) (goto-char here)