diff options
-rw-r--r-- | ice-9/ChangeLog | 5 | ||||
-rw-r--r-- | ice-9/session.scm | 10 |
2 files changed, 15 insertions, 0 deletions
diff --git a/ice-9/ChangeLog b/ice-9/ChangeLog index b48228dbe..910bc69bd 100644 --- a/ice-9/ChangeLog +++ b/ice-9/ChangeLog @@ -1,3 +1,8 @@ +Thu Sep 11 02:31:38 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se> + + * session.scm (name): New procedure: Gives name of object. + (source): New procedure: Gives source of object. + Wed Sep 10 20:12:45 1997 Mikael Djurfeldt <mdj@mdj.nada.kth.se> * * boot-9.scm (primitive-macro?): New procedure. diff --git a/ice-9/session.scm b/ice-9/session.scm index f37b1f548..c43402efc 100644 --- a/ice-9/session.scm +++ b/ice-9/session.scm @@ -113,3 +113,13 @@ (list (module-obarray module))))) modules)) (cdr vars))) + +(define-public (name obj) + (cond ((procedure? obj) (procedure-name obj)) + ((macro? obj) (macro-name obj)) + (else #f))) + +(define-public (source obj) + (cond ((procedure? obj) (procedure-source obj)) + ((macro? obj) (procedure-source (macro-transformer obj))) + (else #f))) |