GNU bug report logs - #15330
defmacro and define-macros still remain in guile's sources

Previous Next

Package: guile;

Reported by: Stefan Israelsson Tampe <stefan.itampe <at> gmail.com>

Date: Tue, 10 Sep 2013 21:02:01 UTC

Severity: minor

Full log


Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Stefan Israelsson Tampe <stefan.itampe <at> gmail.com>
To: bug-guile <at> gnu.org
Subject: defmacro and define-macros still remain in guile's sources
Date: Tue, 10 Sep 2013 23:01:01 +0200
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





This bug report was last modified 11 years and 277 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.