From 1e23b461ecd25c582dd0b10ebb1d7fd22f5e5ec4 Mon Sep 17 00:00:00 2001 From: Andy Wingo Date: Sat, 17 Apr 2010 15:17:24 +0200 Subject: [PATCH] remove program-name, program-documentation * 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 | 7 +------ libguile/programs.c | 10 ---------- libguile/programs.h | 1 - module/ice-9/documentation.scm | 12 ++---------- module/language/tree-il/analyze.scm | 2 +- module/system/vm/program.scm | 6 +----- 6 files changed, 5 insertions(+), 33 deletions(-) diff --git a/libguile/debug.c b/libguile/debug.c index c8e908fdf..30332f496 100644 --- a/libguile/debug.c +++ b/libguile/debug.c @@ -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 diff --git a/libguile/programs.c b/libguile/programs.c index 08b6f65ab..70c399ba8 100644 --- a/libguile/programs.c +++ b/libguile/programs.c @@ -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), "") diff --git a/libguile/programs.h b/libguile/programs.h index 6c59fdd1e..7f9b6f72d 100644 --- a/libguile/programs.h +++ b/libguile/programs.h @@ -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); diff --git a/module/ice-9/documentation.scm b/module/ice-9/documentation.scm index 37c3bf73f..9b0a121cc 100644 --- a/module/ice-9/documentation.scm +++ b/module/ice-9/documentation.scm @@ -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) @@ -184,20 +183,13 @@ (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) diff --git a/module/language/tree-il/analyze.scm b/module/language/tree-il/analyze.scm index 0c3cbf85d..f9fb573e8 100644 --- a/module/language/tree-il/analyze.scm +++ b/module/language/tree-il/analyze.scm @@ -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)) diff --git a/module/system/vm/program.scm b/module/system/vm/program.scm index a8ee993d0..f3892cbb3 100644 --- a/module/system/vm/program.scm +++ b/module/system/vm/program.scm @@ -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) @@ -196,7 +192,7 @@ (define (write-program prog port) (format port "#" - (or (program-name prog) + (or (procedure-name prog) (and=> (program-source prog 0) (lambda (s) (format #f "~a at ~a:~a:~a"