-(defun with-electric-help (thunk &optional buffer noerase)
- "Arguments are THUNK &optional BUFFER NOERASE. BUFFER defaults to \"*Help*\"
-THUNK is a function of no arguments which is called to initialize
-the contents of BUFFER. BUFFER will be erased before THUNK is called unless
-NOERASE is non-nil. THUNK will be called with `standard-output' bound to
-the buffer specified by BUFFER
+;;;###autoload
+(defun with-electric-help (thunk &optional buffer noerase minheight)
+ "Pop up an \"electric\" help buffer.
+The arguments are THUNK &optional BUFFER NOERASE MINHEIGHT.
+THUNK is a function of no arguments which is called to initialize the
+contents of BUFFER. BUFFER defaults to `*Help*'. BUFFER will be
+erased before THUNK is called unless NOERASE is non-nil. THUNK will
+be called while BUFFER is current and with `standard-output' bound to
+the buffer specified by BUFFER.
+
+If THUNK returns nil, we display BUFFER starting at the top, and
+shrink the window to fit. If THUNK returns non-nil, we don't do those things.