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

To reply to this bug, email your comments to 15330 AT debbugs.gnu.org.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-guile <at> gnu.org:
bug#15330; Package guile. (Tue, 10 Sep 2013 21:02:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Stefan Israelsson Tampe <stefan.itampe <at> gmail.com>:
New bug report received and forwarded. Copy sent to bug-guile <at> gnu.org. (Tue, 10 Sep 2013 21:02:02 GMT) Full text and rfc822 format available.

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





Severity set to 'minor' from 'normal' Request was from Mark H Weaver <mhw <at> netris.org> to control <at> debbugs.gnu.org. (Fri, 13 Sep 2013 03:51:02 GMT) Full text and rfc822 format available.

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

Previous Next


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