For languages where the programmer must resort to function header comments to describe a function, I've always found it frustrating that `narrow-to-defun' cuts out this often-critical information. This patch provides a new function `narrow-to-defun-including-comments' to keep these comments visible when narrowing. As there may be multiple per-line comments instead of a single block comment, I'm skipping back past ALL preceding comments. That seemed reasonable instead of trying to guess how the author has structured their comments. Stopping at an empty line would *probably* be okay, but in the end I figured that potentially showing too much seemed better than showing too little. (I've included a check for page breaks within the comments, however, as I was confident about excluding anything before one of those.) I didn't think it was wise to encourage users to modify the behaviour of `narrow-to-defun' itself (I certainly have programmatic uses for that), so instead I've indicated the way to remap the interactive bindings for users who wish to use this as standard. -Phil