]> code.delx.au - gnu-emacs/blobdiff - lisp/rsz-mini.el
Initial revision
[gnu-emacs] / lisp / rsz-mini.el
index 7f3313a72860c1e697700f0b84085b9a630c9d75..e42e691237e41f09c376d6c2ab3e8d38d7b5027e 100644 (file)
@@ -1,12 +1,14 @@
 ;;; rsz-mini.el --- dynamically resize minibuffer to display entire contents
 
-;; Copyright (C) 1990, 1993, 1994, 1995 Free Software Foundation, Inc.
+;; Copyright (C) 1990, 1993, 1994, 1995, 1997 Free Software Foundation, Inc.
 
 ;; Author: Noah Friedman <friedman@prep.ai.mit.edu>
 ;;         Roland McGrath <roland@prep.ai.mit.edu>
 ;; Maintainer: friedman@prep.ai.mit.edu
 ;; Keywords: minibuffer, window, frame, display
 
+;; $Id: rsz-mini.el,v 1.20 1998/04/20 02:41:08 done Exp done $
+
 ;; This file is part of GNU Emacs.
 
 ;; GNU Emacs is free software; you can redistribute it and/or modify
   "Dynamically resize minibuffer to display entire contents"
   :group 'frames)
 
-
 ;;;###autoload
 (defcustom resize-minibuffer-mode nil
-  "*If non-`nil', resize the minibuffer so its entire contents are visible."
+  "*If non-`nil', resize the minibuffer so its entire contents are visible.
+You must modify via \\[customize] for this variable to have an effect."
+  :set (lambda (symbol value)
+        (resize-minibuffer-mode (if value 1 -1)))
+  :initialize 'custom-initialize-default
   :type 'boolean
-  :group 'resize-minibuffer)
+  :group 'resize-minibuffer
+  :require 'rsz-mini
+  :version "20.3")
 
 ;;;###autoload
 (defcustom resize-minibuffer-window-max-height nil
@@ -113,9 +120,9 @@ resizing."
 \f
 ;;;###autoload
 (defun resize-minibuffer-mode (&optional prefix)
-  "Enable or disable resize-minibuffer mode.
-A negative prefix argument disables this mode.  A positive argument or
-argument of 0 enables it.
+  "Toggle resize-minibuffer mode.
+With argument, enable resize-minibuffer mode if and only if argument
+is positive.
 
 When this minor mode is enabled, the minibuffer is dynamically resized to
 contain the entire region of text put in it as you type.
@@ -137,13 +144,12 @@ The variable `resize-minibuffer-frame' controls whether this should be
 done.  The variables `resize-minibuffer-frame-max-height' and
 `resize-minibuffer-frame-exactly' are analogous to their window
 counterparts."
-  (interactive "p")
-  (or prefix (setq prefix 0))
-  (cond
-   ((>= prefix 0)
-    (setq resize-minibuffer-mode t))
-   (t
-    (setq resize-minibuffer-mode nil))))
+  (interactive "P")
+  (setq resize-minibuffer-mode
+       (if prefix
+           (> (prefix-numeric-value prefix) 0)
+         (not resize-minibuffer-mode)))
+  (add-hook 'minibuffer-setup-hook 'resize-minibuffer-setup))
 
 (defun resize-minibuffer-setup ()
   (cond
@@ -260,10 +266,9 @@ respectively."
                   (frame-width)
                   resize-minibuffer-frame-original-height))
 
-\f
-(provide 'rsz-mini)
+(if resize-minibuffer-mode
+    (resize-minibuffer-mode 1))
 
-(add-hook 'minibuffer-setup-hook 'resize-minibuffer-setup)
-(resize-minibuffer-mode)
+(provide 'rsz-mini)
 
 ;; rsz-mini.el ends here