Mercurial > emacs
view src/vm-limit.c @ 19660:fa3d4e7a76d9
(reftex-customize): Added call to customize browse.
(reftex-show-commentary): New function.
(reftex-label-alist): Prefix may contain % escapes. Nth macro
argument may be context. May give two different context methods.
(reftex-default-label-alist-entries): Customization type changed.
(reftex-label-menu-flags): Extra flag for searches.
(reftex-cite-format): Changed completely, % escapes are now used.
(reftex-comment-citations): New variable.
(reftex-cite-comment-format): New variable.
(reftex-cite-punctuation): New variable.
(reftex-make-master-buffer): Changed name of master buffer,
removed interactive. Runs a hook on the buffer. Interprete
TEXINPUTS environment variable. Allow naked argument for \input.
Master buffer is now in fundamental mode.
(reftex-access-scan-info): Name of master buffer changed.
(reftex-section-regexp): Is now computed from section levels,
not set independantly.
(reftex-section-levels): Made customizable.
(reftex-label): Interpret % escapes in prefix. Use label format if given.
(reftex-replace-prefix-escapes): New function.
(reftex-uniquify-label): New function.
(reftex-next-label-number): Function definition removed.
(reftex-reference): Use reftex-uniquify-label.
Allow more general label commands.
(reftex-offer-label-menu):
Interpret new flag in reftex-label-menu-flags.
(reftex-make-and-insert-label-list): Use text properties to record label index.
(reftex-find-nearby-label): Allow more general label commands.
(reftex-scan-buffer-for-labels): Allow more general label commands.
(reftex-init-section-numbers): New function.
(reftex-allow-for-ctrl-m): New function.
(reftex-label-info-update): Allow more general label commands.
(reftex-label-info): New parameter derive.
(reftex-short-context): Interprete integer parse as nth arg of macro.
(reftex-nth-parens-substring): New function.
(reftex-select-item): Interprete the new 'cnt text property.
(reftex-pop-to-label): Allow more general label commands.
(reftex-nicify-text): Allow more general label commands.
(reftex-toc): Remember previous window configuration. Use text
properties to store info. Bind mouse-2.
(reftex-make-master-buffer): New Hook.
(reftex-last-window-height): New variable.
(reftex-toc-show-help): New function.
(reftex-toc-help): New constant.
(reftex-nearest-section): Use text properties to store info.
(reftex-empty-toc-buffer): New function.
(reftex-re-enlarge): New function.
(reftex-toc-goto-line): New function.
(reftex-toc-mouse-goto-line-and-hide): New function.
(reftex-cite-format-builtin): New constant.
(reftex-cite-format-default): Constant removed.
(reftex-cite-format-1-author-simple): Constant removed.
(reftex-cite-format-2-authors): Constant removed.
(reftex-get-bib-names): New function.
(reftex-get-bib-authors) Function removed.
(reftex-format-bib-entry): Use now reftex-get-bib-names.
(reftex-citation): Completely rewritten. Offers selection of
different cite macros first, then the reference menu. Works with
the various new variables mentioned above. Accept the `a' key to
use all selected citations.
(reftex-insert-bib-matches): New function.
(reftex-format-citation): Now interpretes % escapes.
(reftex-select-item): Emulate a search in the menu buffer.
Interpret the 'cnt text property.
(reftex-view-crossref): Allow more general label, cite and ref macros.
(reftex-highlight-overlays): Add third overlay for search
in menu buffer.
(reftex-label-alist-builtin): xalignat and xxalignat environments
added. Slightly reorganized.
(reftex-reset-scanning-information): Just empty *toc* buffer, do
not kill it.
(reftex-compute-ref-cite-tables): Read the new options in
`reftex-label-alist' and store them. Calculate the section regexp.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Mon, 01 Sep 1997 18:11:35 +0000 |
parents | ee40177f6c68 |
children | 274b79aeb3b7 |
line wrap: on
line source
/* Functions for memory limit warnings. Copyright (C) 1990, 1992 Free Software Foundation, Inc. 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. */ #ifdef emacs #include <config.h> #include "lisp.h" #endif #ifndef emacs #include <stddef.h> typedef size_t SIZE; typedef void *POINTER; #define EXCEEDS_LISP_PTR(x) 0 #endif #include "mem-limits.h" /* Level number of warnings already issued. 0 -- no warnings issued. 1 -- 75% warning already issued. 2 -- 85% warning already issued. 3 -- 95% warning issued; keep warning frequently. */ static int warnlevel; /* Function to call to issue a warning; 0 means don't issue them. */ static void (*warn_function) (); /* Get more memory space, complaining if we're near the end. */ static void check_memory_limits () { extern POINTER (*__morecore) (); register POINTER cp; unsigned long five_percent; unsigned long data_size; if (lim_data == 0) get_lim_data (); five_percent = lim_data / 20; /* Find current end of memory and issue warning if getting near max */ cp = (char *) (*__morecore) (0); data_size = (char *) cp - (char *) data_space_start; if (warn_function) switch (warnlevel) { case 0: if (data_size > five_percent * 15) { warnlevel++; (*warn_function) ("Warning: past 75% of memory limit"); } break; case 1: if (data_size > five_percent * 17) { warnlevel++; (*warn_function) ("Warning: past 85% of memory limit"); } break; case 2: if (data_size > five_percent * 19) { warnlevel++; (*warn_function) ("Warning: past 95% of memory limit"); } break; default: (*warn_function) ("Warning: past acceptable memory limits"); break; } /* If we go down below 70% full, issue another 75% warning when we go up again. */ if (data_size < five_percent * 14) warnlevel = 0; /* If we go down below 80% full, issue another 85% warning when we go up again. */ else if (warnlevel > 1 && data_size < five_percent * 16) warnlevel = 1; /* If we go down below 90% full, issue another 95% warning when we go up again. */ else if (warnlevel > 2 && data_size < five_percent * 18) warnlevel = 2; if (EXCEEDS_LISP_PTR (cp)) (*warn_function) ("Warning: memory in use exceeds lisp pointer size"); } /* Cause reinitialization based on job parameters; also declare where the end of pure storage is. */ void memory_warnings (start, warnfun) POINTER start; void (*warnfun) (); { extern void (* __after_morecore_hook) (); /* From gmalloc.c */ if (start) data_space_start = start; else data_space_start = start_of_data (); warn_function = warnfun; __after_morecore_hook = check_memory_limits; }