Mercurial > emacs
view lisp/rsz-mini.el @ 27738:581c76c41ca4
(mark_object): Don't mark symbol names in pure space.
(gc_sweep): Don't unmark symbol names in pure space.
(toplevel): Include setjmp.h.
(PURE_POINTER_P): New define.
(enum mem_type) [GC_MARK_STACK]: New enumeration.
(Vdead) [GC_MARK_STACK]: New variable.
(lisp_malloc): Add parameter TYPE, call mem_insert if
GC_MARK_STACK is defined.
(allocate_buffer): New function.
(lisp_free) [GC_MARK_STACK]: Call mem_delete.
(free_float) [GC_MARK_STACK]: Set type to Vdead.
(free_cons) [GC_MARK_STACK]: Set car to Vdead.
(stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
(MEM_NIL) [GC_MARK_STACK]: New define.
(struct mem_node) [GC_MARK_STACK]: New structure.
(mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
(mem_delete_fixup, mem_rotate_left, mem_rotate_right)
(live_string_p, live_cons_p, live_symbol_p, live_float_p)
(live_misc_p, live_vector_p, live_buffer_p, mark_memory)
(mark_stack) [GC_MARK_STACK]: New functions.
(Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
(clear_marks): Removed.
(gc_sweep): Set free conses' car, free floats' type, free
symbols' function to Vdead. Use lisp_free to free buffers.
(init_alloc_once): Initialize Vdead.
(survives_gc_p): Return non-zero for pure objects.
Add comments throughout the file.
author | Gerd Moellmann <gerd@gnu.org> |
---|---|
date | Thu, 17 Feb 2000 15:21:21 +0000 |
parents | f541d471520a |
children | dd613770eb0f |
line wrap: on
line source
;;; rsz-mini.el --- dynamically resize minibuffer to display entire contents ;; Copyright (C) 1990, 1993-1995, 1997 Free Software Foundation, Inc. ;; Author: Noah Friedman <friedman@splode.com> ;; Roland McGrath <roland@gnu.org> ;; Maintainer: Noah Friedman <friedman@splode.com> ;; Keywords: minibuffer, window, frame, display ;; $Id: rsz-mini.el,v 1.2 1999/09/13 13:00:24 gerd Exp $ ;; This file is part of GNU Emacs. ;; GNU Emacs is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation; either version 2, or (at your option) ;; any later version. ;; GNU Emacs is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; 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, Inc., 59 Temple Place - Suite 330, ;; Boston, MA 02111-1307, USA. ;;; Commentary: ;; This package is obsolete. Emacs now resizes mini-windows ;; automatically. ;;; Code: (defgroup resize-minibuffer nil "This customization group is obsolete." :group 'frames) ;;;###autoload (defcustom resize-minibuffer-mode nil "*This variable is obsolete." :type 'boolean :group 'resize-minibuffer :require 'rsz-mini) ;;;###autoload (defcustom resize-minibuffer-window-max-height nil "*This variable is obsolete." :type '(choice (const nil) integer) :group 'resize-minibuffer) ;;;###autoload (defcustom resize-minibuffer-window-exactly t "*This variable is obsolete." :type 'boolean :group 'resize-minibuffer) ;;;###autoload (defcustom resize-minibuffer-frame nil "*This variable is obsolete." :type 'boolean :group 'resize-minibuffer) ;;;###autoload (defcustom resize-minibuffer-frame-max-height nil "*This variable is obsolete.") ;;;###autoload (defcustom resize-minibuffer-frame-exactly t "*This variable is obsolete." :type 'boolean :group 'resize-minibuffer) ;;;###autoload (defun resize-minibuffer-mode (&optional prefix) "This function is obsolete." (interactive "P")) (provide 'rsz-mini) ;; rsz-mini.el ends here