X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/4e782c8e169054dd12269941f8caa9822b1892cc..243538e26b05fcebccb50c658c7a2f03ffac04ed:/lisp/rsz-mini.el diff --git a/lisp/rsz-mini.el b/lisp/rsz-mini.el index da5f4b478b..e42e691237 100644 --- a/lisp/rsz-mini.el +++ b/lisp/rsz-mini.el @@ -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 ;; Roland McGrath ;; 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 @@ -55,40 +57,60 @@ ;;; Code: +(defgroup resize-minibuffer nil + "Dynamically resize minibuffer to display entire contents" + :group 'frames) + ;;;###autoload -(defvar resize-minibuffer-mode nil - "*If non-`nil', resize the minibuffer so its entire contents are visible.") +(defcustom resize-minibuffer-mode nil + "*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 + :require 'rsz-mini + :version "20.3") ;;;###autoload -(defvar resize-minibuffer-window-max-height nil +(defcustom resize-minibuffer-window-max-height nil "*Maximum size the minibuffer window is allowed to become. If less than 1 or not a number, the limit is the height of the frame in -which the active minibuffer window resides.") +which the active minibuffer window resides." + :type '(choice (const nil) integer) + :group 'resize-minibuffer) ;;;###autoload -(defvar resize-minibuffer-window-exactly t +(defcustom resize-minibuffer-window-exactly t "*Allow making minibuffer exactly the size to display all its contents. If `nil', the minibuffer window can temporarily increase in size but never get smaller while it is active. Any other value allows exact -resizing.") +resizing." + :type 'boolean + :group 'resize-minibuffer) ;;;###autoload -(defvar resize-minibuffer-frame nil +(defcustom resize-minibuffer-frame nil "*Allow changing the frame height of minibuffer frames. If non-`nil' and the active minibuffer is the sole window in its frame, -allow changing the frame height.") +allow changing the frame height." + :type 'boolean + :group 'resize-minibuffer) ;;;###autoload -(defvar resize-minibuffer-frame-max-height nil +(defcustom resize-minibuffer-frame-max-height nil "*Maximum size the minibuffer frame is allowed to become. If less than 1 or not a number, there is no limit.") ;;;###autoload -(defvar resize-minibuffer-frame-exactly t +(defcustom resize-minibuffer-frame-exactly t "*Allow making minibuffer frame exactly the size to display all its contents. If `nil', the minibuffer frame can temporarily increase in size but never get smaller while it is active. Any other value allows exact -resizing.") +resizing." + :type 'boolean + :group 'resize-minibuffer) ;; Variable used to store the height of the minibuffer frame ;; on entry, so it can be restored on exit. It is made local before it is @@ -98,9 +120,9 @@ resizing.") ;;;###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. @@ -122,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 @@ -245,10 +266,9 @@ respectively." (frame-width) resize-minibuffer-frame-original-height)) - -(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