* bug#15330: defmacro and define-macros still remain in guile's sources
@ 2013-09-10 21:01 Stefan Israelsson Tampe
0 siblings, 0 replies; only message in thread
From: Stefan Israelsson Tampe @ 2013-09-10 21:01 UTC (permalink / raw)
To: 15330
Hi,
Prompted with issues caused by the old and-let* behavor due to beeing
defined with a defmacro I scaned guiles sources for similar problems
that we should clean up (This is a good newbie exercise) The findings
that need to be cleared are,
DEFINE-MACRO CALL SITES:
========================
module/srfi/srfi-4.scm:
(define-macro (define-bytevector-type tag infix size) ...)
module/srfi/srfi-69.scm:
(define-macro (hashx-invoke hashx-proc ht-var . args) ...)
(define-macro (with-hashx-values bindings ht-var . body-forms) ...)
module/srfi/srfi-4/gnu.scm:
(define-macro (define-bytevector-type tag infix size) ...)
(define-macro (define-any->vector . tags) ...)
module/system/base/syntax.scm:
(define-macro (define-type name . rest) ...)
(define-macro (define-record name-form . slots) ...)
(define-macro (define-record/keywords name-form . slots) ...)
(define-macro (transform-record type-and-common record . clauses) ...)
module/system/base/language.scm:
(define-macro (define-language name . spec) ...)
module/system/base/lalr.upstream.scm:
THIS IS A TRICKY ONE; UPSTREAM IS USING DEFINE_MACRO
;; -- Guile
(guile
(use-modules (ice-9 pretty-print))
(use-modules (srfi srfi-9))
(define pprint pretty-print)
(define lalr-keyword? symbol?)
(define-macro (BITS-PER-WORD) 30)
(define-macro (logical-or x . y) `(logior ,x ,@y))
(define-macro (lalr-error msg obj) `(error ,msg ,obj)))
(define-macro (lalr-parser . arguments) ...)
module/statprof.scm:
(define-macro (accumulate-time stop-time) ...)
(define-macro (with-statprof . args) ...)
module/oop/goops.scm:
(define-macro (class supers . slots) ...)
(define-macro (define-generic name) ...)
(define-macro (define-extended-generic name val) ...)
(define-macro (define-extended-generics names . args) ...)
(define-macro (define-standard-accessor-method form . body) ...)
module/oop/goops/save.scm:
(define-macro (readable exp) ...)
(define-macro (write-component object patcher file env) ...)
(define-macro (restore class slots . exps) ...)
module/oop/goops/accessors.scm:
(define-macro (define-class-with-accessors name supers . slots) ...)
(define-macro (define-class-with-accessors-keywords name supers
. slots) ...)
module/texinfo/plain-text.scm:
(define-macro (with-indent n . body) ...)
(define-macro (with-itemizer itemizer . body) ...)
module/ice-9/i18n.scm:
(define-macro (define-vector-langinfo-mapping name nl-items) ...)
(define-macro (define-simple-langinfo-mapping name item default) ...)
(define-macro (define-monetary-langinfo-mapping name local-item intl-item
default/local
default/intl) ...)
module/ice-9/time.scm:
(define-macro (time exp) ...)
module/ice-9/serialize.scm:
(define-macro (serialize . forms) ...)
(define-macro (parallelize . forms) ...)
module/ice-9/session.scm:
(define-macro (help . exp) ...)
module/ice-9/deprecated.scm:
(define-macro (eval-case . clauses) ...)
module/scripts/snarf-check-and-output-texi.scm:
(define-macro (when cond . body)
`(if ,cond (begin ,@body)))
(define-macro (unless cond . body)
`(if (not ,cond) (begin ,@body)))
module/sxml/ssax/input-parse.scm:
(define-macro (define-opt bindings body . body-rest) ...)
module/sxml/transform.scm:
(define-macro (let*-values bindings . body) ...)
TEH FOLLOWING IS UPSTREAM CODE TRICKY WHAT TO DO HERE
module/sxml/upstream/SXPath-old.scm:;
module/sxml/upstream/SSAX.scm:;(define-macro
module/sxml/upstream/SSAX.scm:;
module/language/tree-il/primitives.scm:(define-macro
;;; I actually did spend about 10 minutes trying to redo this with
;;; syntax-rules. Patches appreciated.
;;;
(define-macro (define-primitive-expander sym . clauses)
module/language/ecmascript/base.scm:
(define-macro (call/this this f . args)
`(with-fluid* *this* ,this (lambda () (,f . ,args))))
(define-macro (lambda/this formals . body)
`(lambda ,formals (let ((this (fluid-ref *this*))) . ,body)))
(define-macro (define-js-method object name-and-args . body)
`(pput ,object ',(car name-and-args) (lambda/this ,(cdr
name-and-args) . ,body)))
module/language/assembly/disassemble.scm:
(define-macro (unless test . body)
`(if (not ,test) (begin ,@body)))
module/rnrs/bytevectors.scm:
(define-macro (endianness sym) ...)
DEFMACRO CALL SITES
===================
module/ice-9/calling.scm:
(defmacro with-excursion-function (vars proc)
`(,proc ,(excursion-function-syntax vars)))
(defmacro with-getter-and-setter (vars proc)
`(,proc ,@ (getter-and-setter-syntax vars)))
(defmacro with-getter (vars proc)
`(,proc ,(car (getter-and-setter-syntax vars))))
defmacro with-delegating-getter-and-setter (vars get-delegate
set-delegate proc) ...)
(defmacro with-excursion-getter-and-setter (vars proc)
`(,proc ,(excursion-function-syntax vars)
,@ (getter-and-setter-syntax vars)))
(defmacro with-configuration-getter-and-setter (vars-etc proc) ...)
(defmacro with-delegating-configuration-getter-and-setter (vars-etc
delegate-get delegate-set proc) ...)
(defmacro let-with-configuration-getter-and-setter (vars-etc proc) ...)
module/ice-9/expect.scm:
(defmacro expect clauses ...)
(defmacro expect-strings clauses ...)
/Regards Stefan
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2013-09-10 21:01 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-09-10 21:01 bug#15330: defmacro and define-macros still remain in guile's sources Stefan Israelsson Tampe
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).