Merge from emacs--rel--22
[bpt/emacs.git] / lisp / emacs-lisp / helper.el
index cf9b289..a14339f 100644 (file)
@@ -1,10 +1,11 @@
 ;;; helper.el --- utility help package supporting help in electric modes
 
+;; Copyright (C) 1985, 2001, 2002, 2003, 2004, 2005,
+;;   2006, 2007 Free Software Foundation, Inc.
+
 ;; Author: K. Shane Hartman
 ;; Maintainer: FSF
-;; Last-Modified: 16 Mar 1991
-
-;; Copyright (C) 1985 Free Software Foundation, Inc.
+;; Keywords: help
 
 ;; This file is part of GNU Emacs.
 
 ;; GNU General Public License for more details.
 
 ;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING.  If not, write to
-;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+;; along with GNU Emacs; see the file COPYING.  If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
+
+;;; Commentary:
 
 ;;; Code:
 
-; hey, here's a helping hand.
+;; hey, here's a helping hand.
 
 ;; Bind this to a string for <blank> in "... Other keys <blank>".
 ;; Helper-help uses this to construct help string when scrolling.
@@ -73,8 +77,8 @@
                   "Delete scrolls back. Other keys %s"
                   "Type anything to %s"))
            blurb)
-         (setq continue (read-char))
-         (cond ((and (memq continue '(?\ ?\C-v)) (< state 2))
+         (setq continue (read-event))
+         (cond ((and (memq continue '(?\s ?\C-v)) (< state 2))
                 (scroll-up))
                ((= continue ?\C-l)
                 (recenter))
        (documentation (documentation major-mode)))
     (save-excursion
       (set-buffer (get-buffer-create "*Help*"))
+      (setq buffer-read-only nil)
       (erase-buffer)
-      (insert name " Mode\n" documentation)))
+      (insert name " Mode\n" documentation)
+      (help-mode)))
   (Helper-help-scroller))
 
 ;;;###autoload
   (let ((continue t) c)
     (while continue
       (message "Help (Type ? for further options)")
-      (setq c (char-to-string (downcase (read-char))))
+      (setq c (read-key-sequence nil))
       (setq c (lookup-key Helper-help-map c))
       (cond ((eq c 'Helper-help-options)
             (Helper-help-options))
 
 (provide 'helper)
 
+;;; arch-tag: a0984577-d3e9-4124-ae0d-c46fe740f6a9
 ;;; helper.el ends here