Make docstring search default to the edwin etc directory.
authorGuillermo J. Rozas <edu/mit/csail/zurich/gjr>
Thu, 2 Sep 1993 03:34:20 +0000 (03:34 +0000)
committerGuillermo J. Rozas <edu/mit/csail/zurich/gjr>
Thu, 2 Sep 1993 03:34:20 +0000 (03:34 +0000)
v7/src/edwin/comman.scm

index b9d18dcdec9b83be2016ff96fba79c0a26286aa0..b25718b4810137dd8f1ed6af033364e6b95b12e5 100644 (file)
@@ -1,46 +1,42 @@
-;;; -*-Scheme-*-
-;;;
-;;;    $Id: comman.scm,v 1.71 1993/09/01 18:08:30 gjr Exp $
-;;;
-;;;    Copyright (c) 1986, 1989-1993 Massachusetts Institute of Technology
-;;;
-;;;    This material was developed by the Scheme project at the
-;;;    Massachusetts Institute of Technology, Department of
-;;;    Electrical Engineering and Computer Science.  Permission to
-;;;    copy this software, to redistribute it, and to use it for any
-;;;    purpose is granted, subject to the following restrictions and
-;;;    understandings.
-;;;
-;;;    1. Any copy made of this software must include this copyright
-;;;    notice in full.
-;;;
-;;;    2. Users of this software agree to make their best efforts (a)
-;;;    to return to the MIT Scheme project any improvements or
-;;;    extensions that they make, so that these may be included in
-;;;    future releases; and (b) to inform MIT of noteworthy uses of
-;;;    this software.
-;;;
-;;;    3. All materials developed as a consequence of the use of this
-;;;    software shall duly acknowledge such use, in accordance with
-;;;    the usual standards of acknowledging credit in academic
-;;;    research.
-;;;
-;;;    4. MIT has made no warrantee or representation that the
-;;;    operation of this software will be error-free, and MIT is
-;;;    under no obligation to provide any services, by way of
-;;;    maintenance, update, or otherwise.
-;;;
-;;;    5. In conjunction with products arising from the use of this
-;;;    material, there shall be no use of the name of the
-;;;    Massachusetts Institute of Technology nor of any adaptation
-;;;    thereof in any advertising, promotional, or sales literature
-;;;    without prior written consent from MIT in each case.
-;;;
-;;; NOTE: Parts of this program (Edwin) were created by translation
-;;; from corresponding parts of GNU Emacs.  Users should be aware that
-;;; the GNU GENERAL PUBLIC LICENSE may apply to these parts.  A copy
-;;; of that license should have been included along with this file.
-;;;
+#| -*-Scheme-*-
+
+$Id: comman.scm,v 1.72 1993/09/02 03:34:20 gjr Exp $
+
+Copyright (c) 1986, 1989-1993 Massachusetts Institute of Technology
+
+This material was developed by the Scheme project at the Massachusetts
+Institute of Technology, Department of Electrical Engineering and
+Computer Science.  Permission to copy this software, to redistribute
+it, and to use it for any purpose is granted, subject to the following
+restrictions and understandings.
+
+1. Any copy made of this software must include this copyright notice
+in full.
+
+2. Users of this software agree to make their best efforts (a) to
+return to the MIT Scheme project any improvements or extensions that
+they make, so that these may be included in future releases; and (b)
+to inform MIT of noteworthy uses of this software.
+
+3. All materials developed as a consequence of the use of this
+software shall duly acknowledge such use, in accordance with the usual
+standards of acknowledging credit in academic research.
+
+4. MIT has made no warrantee or representation that the operation of
+this software will be error-free, and MIT is under no obligation to
+provide any services, by way of maintenance, update, or otherwise.
+
+5. In conjunction with products arising from the use of this material,
+there shall be no use of the name of the Massachusetts Institute of
+Technology nor of any adaptation thereof in any advertising,
+promotional, or sales literature without prior written consent from
+MIT in each case.
+
+NOTE: Parts of this program (Edwin) were created by translation
+from corresponding parts of GNU Emacs.  Users should be aware that
+the GNU GENERAL PUBLIC LICENSE may apply to these parts.  A copy
+of that license should have been included along with this file.
+|#
 
 ;;;; Commands and Variables
 
       (set! *doc-string-buffer* (string-allocate doc-string-buffer-length)))
   (cond (*doc-string-channel*)
        ((not *external-doc-strings-file*)
-        (editor-error "guarantee-doc-string-channel: Undeclared doc-string file"))
-       ((not (file-exists? *external-doc-strings-file*))
-        (editor-error "guarantee-doc-string-channel: Non-existent doc-string file"))
+        (editor-error
+         "guarantee-doc-string-channel: Undeclared doc-string file"))
        (else
-        (set! *doc-string-channel*
-              (file-open-input-channel (->namestring *external-doc-strings-file*)))
-        unspecific)))
+        (let ((doc-strings
+               (if (or (pathname-absolute? *external-doc-strings-file*)
+                       (file-exists? *external-doc-strings-file*))
+                   *external-doc-strings-file*
+                   (merge-pathnames *external-doc-strings-file*
+                                    (edwin-etc-directory)))))
+          (if (not (file-exists? doc-strings))
+              (editor-error
+               "guarantee-doc-string-channel: Non-existent doc-string file")
+              (begin
+                (set! *doc-string-channel*
+                      (file-open-input-channel
+                       (->namestring *external-doc-strings-file*)))
+                unspecific))))))
 
 (add-event-receiver! event:after-restart
                     (lambda ()