This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "GNU Guile".
http://git.savannah.gnu.org/cgit/guile.git/commit/?id=0e07c94ef11c772b8dec7111aa8cb14945874767 The branch, cky-hygienic-macros has been updated via 0e07c94ef11c772b8dec7111aa8cb14945874767 (commit) from 5b491e4f2829d3644c1194c1dcccd320dd7c3ef6 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 0e07c94ef11c772b8dec7111aa8cb14945874767 Author: Chris K. Jester-Young <[email protected]> Date: Mon Oct 28 10:17:03 2013 -0400 Convert (ice-9 session) to use hygienic macros. * module/ice-9/session.scm (help): Convert to syntax-rules. Also move most of the body into help-internal; help messages should not be displayed at macro-expansion time. (help-internal): New procedure. ----------------------------------------------------------------------- Summary of changes: module/ice-9/session.scm | 23 +++++++++++------------ 1 files changed, 11 insertions(+), 12 deletions(-) diff --git a/module/ice-9/session.scm b/module/ice-9/session.scm index ce1bcac..0398707 100644 --- a/module/ice-9/session.scm +++ b/module/ice-9/session.scm @@ -78,19 +78,19 @@ handlers, potentially falling back on the normal behavior for `help'." ;;; Documentation ;;; -(define-macro (help . exp) - "(help [NAME]) +(define-syntax help + (syntax-rules () + "(help [NAME]) Prints useful information. Try `(help)'." - (cond ((not (= (length exp) 1)) - (help-usage) - '(begin)) - ((not (provided? 'regex)) + ((_ name) (help-internal 'name)) + ((_ ...) (help-usage)))) + +(define (help-internal name) + (cond ((not (provided? 'regex)) (display "`help' depends on the `regex' feature. -You don't seem to have regular expressions installed.\n") - '(begin)) +You don't seem to have regular expressions installed.\n")) (else - (let ((name (car exp)) - (not-found (lambda (type x) + (let ((not-found (lambda (type x) (simple-format #t "No ~A found for ~A\n" type x)))) (cond @@ -143,8 +143,7 @@ You don't seem to have regular expressions installed.\n") ;; unrecognized (else - (help-usage))) - '(begin))))) + (help-usage))))))) (define (module-filename name) ; fixme: better way? / done elsewhere? (let* ((name (map symbol->string name)) hooks/post-receive -- GNU Guile
