Subject: view-lossage assumes always can see to bottom

From: [email-masked]
Date: Sat, 16 May 2009 05:11:08 +0800

view-lossage assumes one has a terminal large enough to always see to
the bottom of the *Help* buffer it creates.

No, terminals aren't getting smaller since the last time I brought this
up. The problem is that we are not just dealing with a b c d e, but
longer names that fill up the *Help* buffer so one can't just see what
one has just typed right away. One must scroll that buffer as an extra step.

My terminal has exactly 20 lines available for the *Help* buffer when I
hit C-h l.

(defun view-lossage ()
Needs to have a variable instead of the hardwired
  "Display last 100 input keystrokes.
But much more importantly needs to
  (goto-char (point-max))
somewhere inside it, as what we last typed is ALWAYS what we are
interested in, not [aforementioned new variable] strokes ago, which no
longer fits on the screen anyway.

I tried to put (goto-char (point-max)) into view-lossage but failed the
lisp miserably, else I would send you a patch.

Anyway, just do will you please, while you are reading this message.
The window splits in half but the *Help* buffer's bottom is too big at
least here for me, and I must scroll it to see the vital last few lines.

Wait! I have now a totally new solution that puts it all on the screen!
Two wrongs (hardwiring variables) don't make a right, and will ensure
I'll be writing you back the next time it outgrows its pants, but here
it is anyway. emacs-version "22.3.1":

$ cd /tmp;diff -u Orig.help.el help.el
--- Orig.help.el        2009-05-16 04:57:07.811578491 +0800
+++ help.el     2009-05-16 04:55:50.000000000 +0800
@@ -453,7 +453,7 @@
                      " "))
     (with-current-buffer standard-output
       (goto-char (point-min))
-      (while (progn (move-to-column 50) (not (eobp)))
+      (while (progn (move-to-column 70) (not (eobp)))
         (when (search-forward " " nil t)
           (delete-char -1))
         (insert "\n")))