--- lisp/progmodes/hideshow.el.orig 2010-05-10 13:21:48.555732323 +0200 +++ lisp/progmodes/hideshow.el 2010-05-10 13:21:40.745646130 +0200 @@ -690,10 +690,12 @@ Return point, or nil if original point w (point) ;; 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))))))) + (setq done + (< here (save-excursion + (hs-forward-sexp (match-data t) 1) + (point)))) + (hs-inside-comment-p) + (not (setq done nil)))) (if done (point) (goto-char here)