remove program-name, program-documentation
authorAndy Wingo <wingo@pobox.com>
Sat, 17 Apr 2010 13:17:24 +0000 (15:17 +0200)
committerAndy Wingo <wingo@pobox.com>
Sat, 17 Apr 2010 13:21:08 +0000 (15:21 +0200)
* libguile/programs.h:
* libguile/programs.c (scm_program_name): Remove. procedure-name is
  sufficient.

* module/system/vm/program.scm (program-name): Remove from exports list.
  (program-documentation): Remove; procedure-documentation is
  sufficient.

* libguile/debug.c (scm_procedure_name): Remove special case for
  programs.

* module/language/tree-il/analyze.scm (validate-arity): Use
  procedure-name.

* module/ice-9/documentation.scm (object-documentation): Just use
  procedure-documentation, without special cases for programs.

libguile/debug.c
libguile/programs.c
libguile/programs.h
module/ice-9/documentation.scm
module/language/tree-il/analyze.scm
module/system/vm/program.scm

index c8e908f..30332f4 100644 (file)
@@ -137,15 +137,10 @@ SCM_DEFINE (scm_procedure_name, "procedure-name", 1, 0, 0,
            "Return the name of the procedure @var{proc}")
 #define FUNC_NAME s_scm_procedure_name
 {
-  SCM name;
-
   SCM_VALIDATE_PROC (1, proc);
   while (SCM_STRUCTP (proc) && SCM_STRUCT_APPLICABLE_P (proc))
     proc = SCM_STRUCT_PROCEDURE (proc);
-  name = scm_procedure_property (proc, scm_sym_name);
-  if (scm_is_false (name) && SCM_PROGRAM_P (proc))
-    name = scm_program_name (proc);
-  return name;
+  return scm_procedure_property (proc, scm_sym_name);
 }
 #undef FUNC_NAME
 
index 08b6f65..70c399b 100644 (file)
@@ -260,16 +260,6 @@ scm_i_program_properties (SCM program)
 }
 #undef FUNC_NAME
 
-SCM_DEFINE (scm_program_name, "program-name", 1, 0, 0,
-           (SCM program),
-           "")
-#define FUNC_NAME s_scm_program_name
-{
-  SCM_VALIDATE_PROGRAM (1, program);
-  return scm_assq_ref (scm_i_program_properties (program), scm_sym_name);
-}
-#undef FUNC_NAME
-
 SCM_DEFINE (scm_program_source, "program-source", 2, 0, 0,
            (SCM program, SCM ip),
            "")
index 6c59fdd..7f9b6f7 100644 (file)
@@ -56,7 +56,6 @@ SCM_API SCM scm_program_bindings (SCM program);
 SCM_API SCM scm_program_sources (SCM program);
 SCM_API SCM scm_program_source (SCM program, SCM ip);
 SCM_API SCM scm_program_arities (SCM program);
-SCM_API SCM scm_program_name (SCM program);
 SCM_API SCM scm_program_objects (SCM program);
 SCM_API SCM scm_program_module (SCM program);
 SCM_API SCM scm_program_num_free_variables (SCM program);
index 37c3bf7..9b0a121 100644 (file)
@@ -1,4 +1,4 @@
-;;;;   Copyright (C) 2000,2001, 2002, 2003, 2006, 2009 Free Software Foundation, Inc.
+;;;;   Copyright (C) 2000,2001, 2002, 2003, 2006, 2009, 2010 Free Software Foundation, Inc.
 ;;;;
 ;;;; This library is free software; you can redistribute it and/or
 ;;;; modify it under the terms of the GNU Lesser General Public
@@ -80,7 +80,6 @@
 
 (define-module (ice-9 documentation)
   :use-module (ice-9 rdelim)
-  :use-module ((system vm program) :select (program? program-documentation))
   :export (file-commentary
            documentation-files search-documentation-files
            object-documentation)
           (cond ((null? files) documentation-files)
                 (else files))))
 
-;; helper until the procedure documentation property is cleaned up
-(define (proc-doc proc)
-  (or (procedure-documentation proc)
-      (procedure-property proc 'documentation)))
-
 (define (object-documentation object)
   "Return the docstring for OBJECT.
 OBJECT can be a procedure, macro or any object that has its
 `documentation' property set."
   (or (and (procedure? object)
-          (proc-doc object))
+          (procedure-documentation object))
       (object-property object 'documentation)
-      (and (program? object)
-           (program-documentation object))
       (and (macro? object)
            (object-documentation (macro-transformer object)))
       (and (procedure? object)
index 0c3cbf8..f9fb573 100644 (file)
@@ -996,7 +996,7 @@ accurate information is missing from a given `tree-il' element."
                (length x))
           0))
     (cond ((program? proc)
-           (values (program-name proc)
+           (values (procedure-name proc)
                    (map (lambda (a)
                           (list (arity:nreq a) (arity:nopt a) (arity:rest? a)
                                 (map car (arity:kw a))
index a8ee993..f3892cb 100644 (file)
@@ -28,7 +28,6 @@
 
             source:addr source:line source:column source:file
             program-sources program-source
-            program-documentation program-name
 
             program-bindings program-bindings-by-index program-bindings-for-ip
             program-arities program-arity arity:start arity:end
@@ -63,9 +62,6 @@
 (define (source:column source)
   (cdddr source))
 
-(define (program-documentation prog)
-  (procedure-property prog 'documentation))
-
 (define (collapse-locals locs)
   (let lp ((ret '()) (locs locs))
     (if (null? locs)
 
 (define (write-program prog port)
   (format port "#<procedure ~a~a>"
-          (or (program-name prog)
+          (or (procedure-name prog)
               (and=> (program-source prog 0)
                      (lambda (s)
                        (format #f "~a at ~a:~a:~a"