On Thu, 1 Jun 2006, Peter Denno wrote:

Hi all,

OK. The patches that Marco Gidde provided are now in CVS, and the "News"
section of the web page has been updated to mention this.

Great! Thanks!

[...]

So does anyone here have thoughts on how we can make things better?

I'd like to clean up the code a little bit to reduce the number of
compiler notes of the different lisps. The attached patch and a new
file (gtk-ffi/package.lisp) is a first step in this direction.

The patch is pretty uncontroversial (I think!) except for the

- (cffi:load-foreign-library #+cffi-features:unix "libcellsgtk.so" + (cffi:load-foreign-library #+cffi-features:unix + (merge-pathnames "libcellsgtk.so" #.*compile-file-pathname*)

part. It works for me in all lisps I tried, but still... Or are users
supposed to install libcellsgtk.so in /usr/lib/ or some such?

One more thing: since Cells has become Cells2, I think we should have
a version of Cells in the repository at least until (if ever) we
convert cells-gtk to Cells2.

What do you think?

Andras


Index: cells-gtk/conditions.lisp
===================================================================
RCS file: /project/cells-gtk/cvsroot/root/cells-gtk/conditions.lisp,v
retrieving revision 1.3
diff -u -r1.3 conditions.lisp
--- cells-gtk/conditions.lisp   16 Feb 2006 18:12:15 -0000      1.3
+++ cells-gtk/conditions.lisp   1 Jun 2006 18:33:29 -0000
@@ -34,5 +34,4 @@
 
 (define-condition gtk-user-signals-quit (condition) ())
 
-(export '(gtk-user-signals-quit gtk-continuable-error gtk-report-error))
 
Index: cells-gtk/menus.lisp
===================================================================
RCS file: /project/cells-gtk/cvsroot/root/cells-gtk/menus.lisp,v
retrieving revision 1.13
diff -u -r1.13 menus.lisp
--- cells-gtk/menus.lisp        19 Feb 2006 20:12:16 -0000      1.13
+++ cells-gtk/menus.lisp        1 Jun 2006 18:33:29 -0000
@@ -18,8 +18,6 @@
 
 (in-package :cgtk)
 
-(export '(cgtk-set-active-item-by-path))
-
 (defmacro with-tree-iters (vars &body body)
   `(let (,@(loop for var in vars collect `(,var (gtk-adds-tree-iter-new))))
      (unwind-protect 
@@ -305,4 +303,3 @@
 (def-widget tearoff-menu-item (menu-item)
   () () ())
 
-(export '(gtk-combo-box-set-active))
\ No newline at end of file
Index: cells-gtk/packages.lisp
===================================================================
RCS file: /project/cells-gtk/cvsroot/root/cells-gtk/packages.lisp,v
retrieving revision 1.5
diff -u -r1.5 packages.lisp
--- cells-gtk/packages.lisp     19 Feb 2006 20:12:58 -0000      1.5
+++ cells-gtk/packages.lisp     1 Jun 2006 18:33:29 -0000
@@ -16,9 +16,16 @@
  
 |#
 
+(in-package :cl-user)
+
 (defpackage :cells-gtk
   (:nicknames :cgtk)
-  (:use :common-lisp :pod :cells :gtk-ffi))
+  (:use :common-lisp :pod :cells :gtk-ffi)
+  (:export #:gtk-user-signals-quit
+           #:gtk-continuable-error
+           #:gtk-report-error
+           #:cgtk-set-active-item-by-path
+           #:gtk-combo-box-set-active))
 
 
 
Index: gtk-ffi/gtk-ffi.asd
===================================================================
RCS file: /project/cells-gtk/cvsroot/root/gtk-ffi/gtk-ffi.asd,v
retrieving revision 1.13
diff -u -r1.13 gtk-ffi.asd
--- gtk-ffi/gtk-ffi.asd 19 Feb 2006 20:16:57 -0000      1.13
+++ gtk-ffi/gtk-ffi.asd 1 Jun 2006 18:33:31 -0000
@@ -13,7 +13,8 @@
   :name "gtk-ffi"
   :depends-on (:cells :pod-utils :cffi :cffi-uffi-compat)
   :components
-  ((:file "gtk-ffi")
+  ((:file "package")
+   (:file "gtk-ffi" :depends-on ("package"))
    (:file "gtk-core" :depends-on ("gtk-ffi"))
    (:file "gtk-other" :depends-on ("gtk-ffi"))
    (:file "gtk-button" :depends-on ("gtk-ffi"))
Index: gtk-ffi/gtk-ffi.lisp
===================================================================
RCS file: /project/cells-gtk/cvsroot/root/gtk-ffi/gtk-ffi.lisp,v
retrieving revision 1.20
diff -u -r1.20 gtk-ffi.lisp
--- gtk-ffi/gtk-ffi.lisp        1 Jun 2006 14:16:28 -0000       1.20
+++ gtk-ffi/gtk-ffi.lisp        1 Jun 2006 18:33:31 -0000
@@ -16,11 +16,6 @@
  
 |#
 
-(eval-when (:compile-toplevel :load-toplevel :execute)
-  (unless (find-package :gtk-ffi)
-      (defpackage :gtk-ffi
-       (:use :common-lisp :pod))))
-
 (in-package :gtk-ffi)
 
 ;;; POD throw-away utility to convert hello-c/uffi to cffi
@@ -136,13 +131,13 @@
                                 #+win32 "libgtk-win32-2.0-0.dll" 
                                 #+macosx "libgtk-win32-2.0-0.dylib")
       #+libcellsgtk
-      (cffi:load-foreign-library #+cffi-features:unix "libcellsgtk.so" 
+      (cffi:load-foreign-library #+cffi-features:unix 
+                                (merge-pathnames "libcellsgtk.so" 
#.*compile-file-pathname*)
                                 #+win32 "libcellsgtk.dll" 
                                 #+macosx "libcellsgtk.dylib")))
 ) ; eval
 
 (eval-when (:compile-toplevel :load-toplevel :execute)
-  (export '(+c-null+ int-slot-indexed load-gtk-libs))
   (defun gtk-function-name (lisp-name)
     (substitute #\_ #\- lisp-name))
 
@@ -425,9 +420,6 @@
 (defun cast (ptr type)
   (deref-pointer-runtime-typed ptr (ffi-to-uffi-type type)))
 
-(eval-when (compile load eval)
-  (export '(uint c-pointer c-ptr-null c-array-ptr c-ptr c-string sint32 uint32 
uint8 boolean
-           ulong int long single-float double-float otherwise *gtk-debug* 
load-gtk-libs
-           col-type-to-ffi-type deref-pointer-runtime-typed gtk-tree-iter 
+c-null+)))
+
 
 
#|

 Gtk ffi

 Copyright (c) 2004 by Vasilis Margioulas <[EMAIL PROTECTED]>

 You have the right to distribute and use this software as governed by 
 the terms of the Lisp Lesser GNU Public License (LLGPL):

    (http://opensource.franz.com/preamble.html)
 
 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 Lisp Lesser GNU Public License for more details.
 
|#

(in-package :cl-user)

(defpackage :gtk-ffi
  (:use :common-lisp :pod)
  (:export #:+c-null+
           #:int-slot-indexed
           #:load-gtk-libs
           #:uint
           #:c-pointer
           #:c-ptr-null
           #:c-array-ptr
           #:c-ptr
           #:c-string
           #:sint32
           #:uint32
           #:uint8
           #:boolean
           #:ulong
           #:int
           #:long
           #:single-float
           #:double-float
           #:otherwise
           #:*gtk-debug*
           #:load-gtk-libs
           #:col-type-to-ffi-type
           #:deref-pointer-runtime-typed
           #:gtk-tree-iter))

_______________________________________________
cells-gtk-devel site list
[email protected]
http://common-lisp.net/mailman/listinfo/cells-gtk-devel

Reply via email to