X-Git-Url: http://git.hcoop.net/bpt/guile.git/blobdiff_plain/cbff1d8959ffd94ec07393bbd35e104dc9986562..8f6a429e4726d8dfc9ced5ff767c8611adf86394:/libguile/options.c diff --git a/libguile/options.c b/libguile/options.c dissimilarity index 62% index 393115f41..115d074b0 100644 --- a/libguile/options.c +++ b/libguile/options.c @@ -1,239 +1,277 @@ -/* Copyright (C) 1995,1996 Mikael Djurfeldt - * - * This program 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. - * - * This program 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 this software; see the file COPYING. If not, write to - * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. - * - * As a special exception, the Free Software Foundation gives permission - * for additional uses of the text contained in its release of GUILE. - * - * The exception is that, if you link the GUILE library with other files - * to produce an executable, this does not by itself cause the - * resulting executable to be covered by the GNU General Public License. - * Your use of that executable is in no way restricted on account of - * linking the GUILE library code into it. - * - * This exception does not however invalidate any other reasons why - * the executable file might be covered by the GNU General Public License. - * - * This exception applies only to the code released by the - * Free Software Foundation under the name GUILE. If you copy - * code from other Free Software Foundation releases into a copy of - * GUILE, as the General Public License permits, the exception does - * not apply to the code that you add in this way. To avoid misleading - * anyone as to the status of such modified files, you must delete - * this exception notice from them. - * - * If you write modifications of your own for GUILE, it is your choice - * whether to permit this exception to apply to your modifications. - * If you do not wish that, delete this exception notice. - * - * The author can be reached at djurfeldt@nada.kth.se - * Mikael Djurfeldt, SANS/NADA KTH, 10044 STOCKHOLM, SWEDEN - */ - - -#include -#include "_scm.h" - - - -/* {Run-time options} - * - * This is the basic interface for low-level configuration of the - * Guile library. It is used for configuring the reader, evaluator, - * printer and debugger. - * - * Motivation: - * - * 1. Altering option settings can have side effects. - * 2. Option values can be stored in native format. - * (Important for efficiency in, e. g., the evaluator.) - * 3. Doesn't use up name space. - * 4. Options can be naturally grouped => ease of use. - */ - -/* scm_options is the core of all options interface procedures. - * - * Some definitions: - * - * Run time options in Guile are arranged in groups. Each group - * affects a certain aspect of the behaviour of the library. - * - * An "options interface procedure" manages one group of options. It - * can be used to check or set options, or to get documentation for - * all options of a group. The options interface procedure is not - * intended to be called directly by the user. The user should - * instead call - * - * (-options) - * (-options 'help) - * (-options 'full) - * - * to display current option settings (The second version also - * displays documentation. The third version also displays - * information about programmer's options.), and - * - * (-enable ') - * (-disable ') - * (-set! ) - * (-options