>From 7711856084a821c8d3640074bd6def0fffc42a2e Mon Sep 17 00:00:00 2001 From: David PIROTTE Date: Sat, 5 Jul 2014 18:27:18 -0300 Subject: [PATCH 13/13] fixing a couple of problems in corba primitives.scm * corba/gnome/corba/primitives.scm: (1) use #:export within the module definition to export both classes, (2) use (eval-when (expand load eval) (%init-gnome-corba-primitives)) [expand has been added here] and (3) fixing allocate-instance for instances: (a) renaming class as type to solve a bug, and (b) removing or from the if condition, it's unnecessary, the default value for the call to get-keyword is #f. --- corba/gnome/corba/primitives.scm | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/corba/gnome/corba/primitives.scm b/corba/gnome/corba/primitives.scm index 2e8577a..ec11e44 100644 --- a/corba/gnome/corba/primitives.scm +++ b/corba/gnome/corba/primitives.scm @@ -1,6 +1,7 @@ ;; guile-gnome ;; Copyright (C) 2001 Martin Baulig -;; 2003,2004 Andy Wingo +;; Copyright (C) 2003,2004 Andy Wingo +;; Copyright (C) 2014 David Pirotte ;; This program is free software; you can redistribute it and/or ;; modify it under the terms of the GNU General Public License as @@ -29,7 +30,10 @@ :use-module (gnome gw corba) :use-module (gnome corba types) :use-module (gnome gobject) - :use-module (oop goops)) + :use-module (oop goops) + + :export ( + )) (define-class () (%orbit-iinterface #:allocation #:each-subclass) @@ -39,19 +43,19 @@ (corba-typecode #:allocation #:each-subclass) (corba-objref)) -(eval-when (load eval) +(eval-when (expand load eval) (%init-gnome-corba-primitives)) (define-method (allocate-instance (class ) initargs) (corba-primitive-make-poa-instance class)) -(define-method (allocate-instance (class ) initargs) - (if (or (get-keyword #:dsupers initargs #f)) - (next-method) - (let* ((object (next-method)) - (servant (get-keyword #:servant initargs *unspecified*)) - (ior (get-keyword #:ior initargs *unspecified*))) - (gnome-corba-error "Can't make instances of this type: ~A" type)))) +(define-method (allocate-instance (type ) initargs) + (if (get-keyword #:dsupers initargs #f) + (next-method) + (let* ((object (next-method)) + (servant (get-keyword #:servant initargs *unspecified*)) + (ior (get-keyword #:ior initargs *unspecified*))) + (gnome-corba-error "Can't make instances of this type: ~A" type)))) (define (display-address o file) (display (number->string (object-address o) 16) file)) @@ -66,6 +70,3 @@ (display-address o file) (display #\> file)) (next-method)))) - -(eval-when (expand load eval) - (export )) -- 2.0.0