define-magick-image-op added by retroj on Mon Dec 8 23:53:15 2014

;; within the magickwand library (r7rs), there is the following define-syntax:

(define-syntax define-magick-image-op
  (syntax-rules ()
    ((define-magick-image-op (scheme-name object . rest)
                             (c-name . c-args))
     (define (scheme-name object . rest)
       (or ((foreign-lambda bool c-name . c-args) object . rest)
           (signal (%magick-get-exception object)))))))


;; it is used for many bindings in the library, all of which look basically like this:

(define-magick-image-op (magick-set-image-extent wand columns rows)
  (MagickSetImageExtent magickwand (const size_t) (const size_t)))