From ihatchondo at common-lisp.net Tue Nov 3 11:41:52 2009 From: ihatchondo at common-lisp.net (ihatchondo) Date: Tue, 03 Nov 2009 06:41:52 -0500 Subject: [Eclipse-cvs] CVS eclipse/lib/ice Message-ID: Update of /project/eclipse/cvsroot/eclipse/lib/ice In directory cl-net:/tmp/cvs-serv12924/lib/ice Modified Files: package.lisp ICE-lib.lisp Log Message: Fix: missing coma separated parsing was missing when passing the SESSION_MANAGER value to the underliying ice-lib:open-connection --- /project/eclipse/cvsroot/eclipse/lib/ice/package.lisp 2005/12/06 13:52:47 1.7 +++ /project/eclipse/cvsroot/eclipse/lib/ice/package.lisp 2009/11/03 11:41:52 1.8 @@ -1,5 +1,5 @@ ;;; -*- Mode: Lisp; Syntax: Common-Lisp; Package: COMMON-LISP; -*- -;;; $Id: package.lisp,v 1.7 2005/12/06 13:52:47 ihatchondo Exp $ +;;; $Id: package.lisp,v 1.8 2009/11/03 11:41:52 ihatchondo Exp $ ;;; --------------------------------------------------------------------------- ;;; Title: ICE Library ;;; Created: 2004 01 15 15:28 @@ -219,6 +219,7 @@ #:protocol-reply-p #:protocol-setup-p #:request-p + #:split-ids #:setup-failed-p #:unknown-protocol-p #:want-to-close-p --- /project/eclipse/cvsroot/eclipse/lib/ice/ICE-lib.lisp 2005/12/06 13:52:47 1.13 +++ /project/eclipse/cvsroot/eclipse/lib/ice/ICE-lib.lisp 2009/11/03 11:41:52 1.14 @@ -1,5 +1,5 @@ ;;; -*- Mode: Lisp; Syntax: Common-Lisp; Package: ICE-LIB; -*- -;;; $Id: ICE-lib.lisp,v 1.13 2005/12/06 13:52:47 ihatchondo Exp $ +;;; $Id: ICE-lib.lisp,v 1.14 2009/11/03 11:41:52 ihatchondo Exp $ ;;; --------------------------------------------------------------------------- ;;; Title: ICE Library ;;; Created: 2004 01 15 15:28 @@ -301,6 +301,19 @@ ;;;; ;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +(defun split-ids (ids) + "Returns a list of string that is the result of splitting the given one + assuming it is a coma separated list. For instance if the given string + is: \"local/zorglub:/tmp/.ICE-unix/3493,unix/zorglub:/tmp/.ICE-unix/3493\" + then the returned list is: + '(\"local/zorglub:/tmp/.ICE-unix/3493\" + \"unix/zorglub:/tmp/.ICE-unix/3493\")" + (declare (type string ids)) + (loop for i = 0 then (+ 1 coma) + for coma = (position #\, ids :start i) + for id = (string-trim '(#\Space #\Tab #\Newline) (subseq ids i coma)) + when (> (length id) 0) collect id while coma)) + (defun parse-network-id (network-id) "Returns as a multiple values: - connection-type keyword (or :local :tcp :decnet) From ihatchondo at common-lisp.net Tue Nov 3 11:41:52 2009 From: ihatchondo at common-lisp.net (ihatchondo) Date: Tue, 03 Nov 2009 06:41:52 -0500 Subject: [Eclipse-cvs] CVS eclipse/lib/sm Message-ID: Update of /project/eclipse/cvsroot/eclipse/lib/sm In directory cl-net:/tmp/cvs-serv12924/lib/sm Modified Files: sm.lisp Log Message: Fix: missing coma separated parsing was missing when passing the SESSION_MANAGER value to the underliying ice-lib:open-connection --- /project/eclipse/cvsroot/eclipse/lib/sm/sm.lisp 2009/02/22 23:56:46 1.13 +++ /project/eclipse/cvsroot/eclipse/lib/sm/sm.lisp 2009/11/03 11:41:52 1.14 @@ -1,5 +1,5 @@ ;;; -*- Mode: Lisp; Syntax: Common-Lisp; Package: SM-LIB; -*- -;;; $Id: sm.lisp,v 1.13 2009/02/22 23:56:46 ihatchondo Exp $ +;;; $Id: sm.lisp,v 1.14 2009/11/03 11:41:52 ihatchondo Exp $ ;;; --------------------------------------------------------------------------- ;;; Title: SM Library ;;; Created: 2004 01 15 15:28 @@ -631,8 +631,8 @@ (declare (type (or null client-id) previous-id)) (declare (type boolean must-authenticate-p)) (unless network-ids - (setf network-ids (list (get-environment-variable))) - (when (null (car network-ids)) + (setf network-ids (ice-lib:split-ids (or (get-environment-variable) ""))) + (unless network-ids (signal-sm-error "SESSION_MANAGER environment variable is undefined."))) (let ((sm-conn (make-instance 'sm-connection))) (open-connection From ihatchondo at common-lisp.net Wed Nov 4 19:08:34 2009 From: ihatchondo at common-lisp.net (ihatchondo) Date: Wed, 04 Nov 2009 14:08:34 -0500 Subject: [Eclipse-cvs] CVS eclipse Message-ID: Update of /project/eclipse/cvsroot/eclipse In directory cl-net:/tmp/cvs-serv10459 Modified Files: rectangles.lisp Log Message: Fix: when a window is declared as a dock, and does not have its struts properties set, assume it takes no space and and that its struts will be set later --- /project/eclipse/cvsroot/eclipse/rectangles.lisp 2008/04/24 08:24:45 1.7 +++ /project/eclipse/cvsroot/eclipse/rectangles.lisp 2009/11/04 19:08:34 1.8 @@ -1,5 +1,5 @@ ;;; -*- Mode: Lisp; Package: ECLIPSE-INTERNALS -*- -;;; $Id: rectangles.lisp,v 1.7 2008/04/24 08:24:45 ihatchondo Exp $ +;;; $Id: rectangles.lisp,v 1.8 2009/11/04 19:08:34 ihatchondo Exp $ ;;; ;;; This file is part of Eclipse. ;;; Copyright (C) 2003 Iban HATCHONDO @@ -193,9 +193,15 @@ (make-rectangle :ulx tsx :uly 0 :lrx tex :lry (1- to))) ((/= 0 b) (make-rectangle :ulx bsx :uly (- h (1- b)) :lrx bex :lry h)) - (t (window->rectangle win)))))) + (t (if (window-netwm-dock-p win) + (make-rectangle) + (window->rectangle win))))))) (screen-content scr-num :predicate predicate))) +(defun window-netwm-dock-p (window) + "Returns true if window has :_net_wm_window_type_dock in its properties." + (member :_net_wm_window_type_dock (netwm:net-wm-window-type window))) + (defun window-panel-p (window scr-num iconify-p &rest options) "Returns true if window is a panel (in the sens of Gnome/KDE panel)." (declare (ignorable options)) @@ -204,8 +210,7 @@ (wm-state (car (wm-state window)))) (and (or (= n scr-num) (= n +any-desktop+)) (or (eq wm-state 1) (and iconify-p (eq wm-state 3))) - (or (member :_net_wm_window_type_dock - (netwm:net-wm-window-type window)) + (or (window-netwm-dock-p window) (multiple-value-bind (resource class) (xlib:get-wm-class window) (declare (ignore resource)) From ihatchondo at common-lisp.net Wed Nov 4 19:24:59 2009 From: ihatchondo at common-lisp.net (ihatchondo) Date: Wed, 04 Nov 2009 14:24:59 -0500 Subject: [Eclipse-cvs] CVS eclipse Message-ID: Update of /project/eclipse/cvsroot/eclipse In directory cl-net:/tmp/cvs-serv15584 Modified Files: misc.lisp Log Message: Fix: find-empty might return nil ... --- /project/eclipse/cvsroot/eclipse/misc.lisp 2009/02/23 00:00:35 1.44 +++ /project/eclipse/cvsroot/eclipse/misc.lisp 2009/11/04 19:24:59 1.45 @@ -1,5 +1,5 @@ ;;; -*- Mode: Lisp; Package: ECLIPSE-INTERNALS -*- -;;; $Id: misc.lisp,v 1.44 2009/02/23 00:00:35 ihatchondo Exp $ +;;; $Id: misc.lisp,v 1.45 2009/11/04 19:24:59 ihatchondo Exp $ ;;; ;;; This file is part of Eclipse. ;;; Copyright (C) 2002 Iban HATCHONDO @@ -400,10 +400,11 @@ nconc (multiple-value-bind (ulx uly llx lly) (multiple-value-bind (w h) (drawable-sizes window) (rectangle-coordinates - (car (find-empty-rectangles - (make-rectangle :lrx w :lry h) - (find-all-panel-rectangles i) - #'rectangle-surface>=)))) + (or (car (find-empty-rectangles + (make-rectangle :lrx w :lry h) + (find-all-panel-rectangles i) + #'rectangle-surface>=)) + (window->rectangle window)))) (list ulx uly (- llx ulx) (- lly uly))) into workareas finally (xlib:change-property From ihatchondo at common-lisp.net Wed Nov 4 23:42:35 2009 From: ihatchondo at common-lisp.net (ihatchondo) Date: Wed, 04 Nov 2009 18:42:35 -0500 Subject: [Eclipse-cvs] CVS eclipse/lib/clx-ext Message-ID: Update of /project/eclipse/cvsroot/eclipse/lib/clx-ext In directory cl-net:/tmp/cvs-serv2064/lib/clx-ext Modified Files: event.lisp Log Message: Fix compilation with latest sbcl versions --- /project/eclipse/cvsroot/eclipse/lib/clx-ext/event.lisp 2005/01/15 12:27:00 1.9 +++ /project/eclipse/cvsroot/eclipse/lib/clx-ext/event.lisp 2009/11/04 23:42:34 1.10 @@ -1,5 +1,5 @@ ;;; -*- Mode: Lisp; Package: CLX-EXTENSIONS -*- -;;; $Id: event.lisp,v 1.9 2005/01/15 12:27:00 ihatchondo Exp $ +;;; $Id: event.lisp,v 1.10 2009/11/04 23:42:34 ihatchondo Exp $ ;;; ;;; Add on for CLX to have some CLOS events. ;;; This file is part of Eclipse. @@ -248,8 +248,15 @@ #+lucid `(clos:slot-definition-initargs ,slot) #+sbcl `(slot-value ,slot 'sb-pcl::initargs)) +(defmacro finalize-inheritance (class) + #+sbcl `(sb-mop:finalize-inheritance ,class) + #+cmu `(pcl:finalize-inheritance ,class) + #+clisp `(clos:finalize-inheritance ,class)) + (defmacro class-initargs (class) - `(loop for slot in (class-slots ,class) collect (car (slot-initargs slot)))) + `(progn + (finalize-inheritance ,class) + (loop for slot in (class-slots ,class) collect (car (slot-initargs slot))))) (macrolet ((define-make-event-function () (flet ((make-initarg-key-value-pair (initargs) From ihatchondo at common-lisp.net Thu Nov 5 15:10:02 2009 From: ihatchondo at common-lisp.net (ihatchondo) Date: Thu, 05 Nov 2009 10:10:02 -0500 Subject: [Eclipse-cvs] CVS eclipse Message-ID: Update of /project/eclipse/cvsroot/eclipse In directory cl-net:/tmp/cvs-serv22595 Modified Files: rectangles.lisp Log Message: Fix: some glitch due to start value bigger than end value. --- /project/eclipse/cvsroot/eclipse/rectangles.lisp 2009/11/04 19:08:34 1.8 +++ /project/eclipse/cvsroot/eclipse/rectangles.lisp 2009/11/05 15:10:02 1.9 @@ -1,5 +1,5 @@ ;;; -*- Mode: Lisp; Package: ECLIPSE-INTERNALS -*- -;;; $Id: rectangles.lisp,v 1.8 2009/11/04 19:08:34 ihatchondo Exp $ +;;; $Id: rectangles.lisp,v 1.9 2009/11/05 15:10:02 ihatchondo Exp $ ;;; ;;; This file is part of Eclipse. ;;; Copyright (C) 2003 Iban HATCHONDO @@ -175,6 +175,15 @@ (lambda (win) (multiple-value-bind (l r to b lsy ley rsy rey tsx tex bsx bex) (netwm:net-wm-strut-partial win) + ;; Some applications are reporting broken strut-partial with + ;; start_{x,y} being FFffFFff so let clamp the value to 0 ... + ;; Also note that those value are card32 but the rest of the + ;; computation is done in int16. This should be fixed, otherwise + ;; resolution greater than 32765 might lead to type errors. + (when (> lsy ley) (setf lsy 0)) + (when (> rsy rey) (setf rsy 0)) + (when (> tsx tex) (setf tsx 0)) + (when (> bsx bex) (setf bsx 0)) (multiple-value-bind (x y w h) (window->rectangle-coordinates (xlib:drawable-root win)) (declare (ignorable x y)) From ihatchondo at common-lisp.net Thu Nov 5 19:22:59 2009 From: ihatchondo at common-lisp.net (ihatchondo) Date: Thu, 05 Nov 2009 14:22:59 -0500 Subject: [Eclipse-cvs] CVS eclipse Message-ID: Update of /project/eclipse/cvsroot/eclipse In directory cl-net:/tmp/cvs-serv29446 Modified Files: rectangles.lisp Log Message: Fix: struts properties might not be set yet. --- /project/eclipse/cvsroot/eclipse/rectangles.lisp 2009/11/05 15:10:02 1.9 +++ /project/eclipse/cvsroot/eclipse/rectangles.lisp 2009/11/05 19:22:58 1.10 @@ -1,5 +1,5 @@ ;;; -*- Mode: Lisp; Package: ECLIPSE-INTERNALS -*- -;;; $Id: rectangles.lisp,v 1.9 2009/11/05 15:10:02 ihatchondo Exp $ +;;; $Id: rectangles.lisp,v 1.10 2009/11/05 19:22:58 ihatchondo Exp $ ;;; ;;; This file is part of Eclipse. ;;; Copyright (C) 2003 Iban HATCHONDO @@ -180,11 +180,12 @@ ;; Also note that those value are card32 but the rest of the ;; computation is done in int16. This should be fixed, otherwise ;; resolution greater than 32765 might lead to type errors. - (when (> lsy ley) (setf lsy 0)) - (when (> rsy rey) (setf rsy 0)) - (when (> tsx tex) (setf tsx 0)) - (when (> bsx bex) (setf bsx 0)) - (multiple-value-bind (x y w h) + (when l + (when (> lsy ley) (setf lsy 0)) + (when (> rsy rey) (setf rsy 0)) + (when (> tsx tex) (setf tsx 0)) + (when (> bsx bex) (setf bsx 0))) + (multiple-value-bind (x y w h) (window->rectangle-coordinates (xlib:drawable-root win)) (declare (ignorable x y)) (unless l From ihatchondo at common-lisp.net Tue Nov 17 09:30:28 2009 From: ihatchondo at common-lisp.net (ihatchondo) Date: Tue, 17 Nov 2009 04:30:28 -0500 Subject: [Eclipse-cvs] CVS eclipse/lib Message-ID: Update of /project/eclipse/cvsroot/eclipse/lib In directory cl-net:/tmp/cvs-serv17920/lib Modified Files: image-reader.lisp Log Message: Fix: improper and useless slot unset. --- /project/eclipse/cvsroot/eclipse/lib/image-reader.lisp 2005/09/18 17:46:28 1.14 +++ /project/eclipse/cvsroot/eclipse/lib/image-reader.lisp 2009/11/17 09:30:28 1.15 @@ -1,5 +1,5 @@ ;;; -*- Mode: Lisp; Package: PPM -*- -;;; $Id: image-reader.lisp,v 1.14 2005/09/18 17:46:28 ihatchondo Exp $ +;;; $Id: image-reader.lisp,v 1.15 2009/11/17 09:30:28 ihatchondo Exp $ ;;; ;;; This a ppm image reader for CLX ;;; This file is part of Eclipse @@ -273,9 +273,7 @@ (defun load-ppm-into-clx-image (filename drawable) "Returns a clx image representation of a pnm image readed in a pnm file." - (let ((image (load-ppm filename))) - (prog1 (image->clx-image image drawable) - (setf (slot-value image 'pixels) nil)))) + (image->clx-image (load-ppm filename) drawable)) ;;;; private routines. From ihatchondo at common-lisp.net Tue Nov 17 09:32:27 2009 From: ihatchondo at common-lisp.net (ihatchondo) Date: Tue, 17 Nov 2009 04:32:27 -0500 Subject: [Eclipse-cvs] CVS eclipse Message-ID: Update of /project/eclipse/cvsroot/eclipse In directory cl-net:/tmp/cvs-serv18082 Modified Files: move-resize.lisp Log Message: Fix: cosmetic. --- /project/eclipse/cvsroot/eclipse/move-resize.lisp 2008/04/25 16:02:49 1.19 +++ /project/eclipse/cvsroot/eclipse/move-resize.lisp 2009/11/17 09:32:27 1.20 @@ -1,5 +1,5 @@ ;;; -*- Mode: Lisp; Package: ECLIPSE-INTERNALS -*- -;;; $Id: move-resize.lisp,v 1.19 2008/04/25 16:02:49 ihatchondo Exp $ +;;; $Id: move-resize.lisp,v 1.20 2009/11/17 09:32:27 ihatchondo Exp $ ;;; ;;; ECLIPSE. The Common Lisp Window Manager. ;;; Copyright (C) 2000, 2001, 2002 Iban HATCHONDO @@ -428,7 +428,7 @@ (with-slots (window active-p) widget (setf (window-priority window) :above) (unless (widget-position-fix-p widget) - (setf active-p t + (setf active-p t *delta-x* (- (event-root-x event) (xlib:drawable-x window)) *delta-y* (- (event-root-y event) (xlib:drawable-y window)) *screen-windows* (screen-content (current-desk) @@ -442,4 +442,4 @@ (send-configuration-notify (get-child master :application :window t))) (defmethod finalize-move ((application application)) - (send-configuration-notify (widget-window application))) \ No newline at end of file + (send-configuration-notify (widget-window application))) From ihatchondo at common-lisp.net Tue Nov 17 17:29:13 2009 From: ihatchondo at common-lisp.net (ihatchondo) Date: Tue, 17 Nov 2009 12:29:13 -0500 Subject: [Eclipse-cvs] CVS eclipse/lib/clx-ext Message-ID: Update of /project/eclipse/cvsroot/eclipse/lib/clx-ext In directory cl-net:/tmp/cvs-serv20028/lib/clx-ext Modified Files: clx-patch.lisp Log Message: Fix: -equal now accept null arguments. --- /project/eclipse/cvsroot/eclipse/lib/clx-ext/clx-patch.lisp 2004/03/03 09:05:12 1.6 +++ /project/eclipse/cvsroot/eclipse/lib/clx-ext/clx-patch.lisp 2009/11/17 17:29:13 1.7 @@ -1,5 +1,5 @@ ;;; -*- Mode: Lisp -*- -;;; $Id: clx-patch.lisp,v 1.6 2004/03/03 09:05:12 ihatchondo Exp $ +;;; $Id: clx-patch.lisp,v 1.7 2009/11/17 17:29:13 ihatchondo Exp $ ;;; ;;; This file contains the patch fixing a bug in CLX as distributed ;;; with vanilla CMUCL versions up to 18d. @@ -51,6 +51,33 @@ (t (xlib::lookup-window dpy id)))) (xlib::member8-get 1 :none :pointer-root :parent)))) +;; This is a patch for the equality functions. Not accepting at least +;; nil arguments is pretty anoying. It will still complain if at least +;; one is not of the proper type but this should save us from lots of +;; testing. + +(macrolet ((make-mumble-equal (type) + ;; Since caching is only done for objects created by the + ;; client, we must always compare ID and display for + ;; non-identical mumbles. + (let ((predicate (xintern type '-equal)) + (id (xintern type '-id)) + (dpy (xintern type '-display))) + `(within-definition (,type make-mumble-equal) + (defun ,predicate (a b) + (declare (type (or null ,type) a b)) + (when (and a b) + (or (eql a b) + (and (= (,id a) (,id b)) + (eq (,dpy a) (,dpy b)))))))))) + (make-mumble-equal window) + (make-mumble-equal pixmap) + (make-mumble-equal cursor) + (make-mumble-equal font) + (make-mumble-equal gcontext) + (make-mumble-equal colormap) + (make-mumble-equal drawable)) + ;; It seems that sometimes some id are still present in the clx display ;; internal cache even when those resources have been destroyed. This has ;; for effect that when the X server reallocate this id to a resource of From ihatchondo at common-lisp.net Tue Nov 17 17:30:00 2009 From: ihatchondo at common-lisp.net (ihatchondo) Date: Tue, 17 Nov 2009 12:30:00 -0500 Subject: [Eclipse-cvs] CVS eclipse Message-ID: Update of /project/eclipse/cvsroot/eclipse In directory cl-net:/tmp/cvs-serv20089 Modified Files: misc.lisp Log Message: Add: wrapper functions around hash table to get window as key. --- /project/eclipse/cvsroot/eclipse/misc.lisp 2009/11/04 19:24:59 1.45 +++ /project/eclipse/cvsroot/eclipse/misc.lisp 2009/11/17 17:30:00 1.46 @@ -1,5 +1,5 @@ ;;; -*- Mode: Lisp; Package: ECLIPSE-INTERNALS -*- -;;; $Id: misc.lisp,v 1.45 2009/11/04 19:24:59 ihatchondo Exp $ +;;; $Id: misc.lisp,v 1.46 2009/11/17 17:30:00 ihatchondo Exp $ ;;; ;;; This file is part of Eclipse. ;;; Copyright (C) 2002 Iban HATCHONDO @@ -71,6 +71,29 @@ (make-error-handler (error :return t)) (make-error-handler (end-of-file :throw end)) +;;;; Window hashtable +;; Wrapper functions over hashtable using xlib:window as hash keys. +;; Since we can't pass a custom predicate to make-hash-table, those +;; wrappers are there to deal with it using window-id and null window. + +(defun getwinhash (window hashtable &optional default) + (declare (type (or null xlib:window) window)) + (declare (type hash-table hashtable)) + (declare (optimize (speed 3) (safety 0))) + (gethash (and window (xlib:window-id window)) hashtable default)) + +(defun remwinhash (window hashtable) + (declare (type (or null xlib:window) window)) + (declare (type hash-table hashtable)) + (declare (optimize (speed 3) (safety 0))) + (remhash (and window (xlib:window-id window)) hashtable)) + +(defsetf getwinhash (window hashtable &optional default) (value) + (let ((key (gensym))) + `(let ((,key ,window)) + (setf (gethash (and ,key (xlib:window-id ,key)) ,hashtable ,default) + ,value)))) + ;;;; Property readers. ;; They are not defined in the clx-ext package, because we customize them ;; to allow a single manipulation for all properties that appears in the From ihatchondo at common-lisp.net Tue Nov 17 17:31:25 2009 From: ihatchondo at common-lisp.net (ihatchondo) Date: Tue, 17 Nov 2009 12:31:25 -0500 Subject: [Eclipse-cvs] CVS eclipse Message-ID: Update of /project/eclipse/cvsroot/eclipse In directory cl-net:/tmp/cvs-serv20917 Modified Files: wm.lisp Log Message: Fix: use window hash table machinery. --- /project/eclipse/cvsroot/eclipse/wm.lisp 2008/08/29 14:57:47 1.57 +++ /project/eclipse/cvsroot/eclipse/wm.lisp 2009/11/17 17:31:25 1.58 @@ -1,5 +1,5 @@ ;;; -*- Mode: Lisp; Package: ECLIPSE-INTERNALS -*- -;;; $Id: wm.lisp,v 1.57 2008/08/29 14:57:47 ihatchondo Exp $ +;;; $Id: wm.lisp,v 1.58 2009/11/17 17:31:25 ihatchondo Exp $ ;;; ;;; ECLIPSE. The Common Lisp Window Manager. ;;; Copyright (C) 2000, 2001, 2002 Iban HATCHONDO @@ -653,7 +653,7 @@ (defun remove-window-from-client-lists (window root) "Removes a window from the client lists root properties." (with-slots ((rw window) client-list) root - (remhash window client-list) + (remwinhash window client-list) (setf (netwm:net-client-list-stacking rw :mode :remove) window (gnome:win-client-list rw :mode :remove) window (netwm:net-client-list rw :mode :remove) window))) @@ -661,8 +661,8 @@ (defun add-window-in-client-lists (window root) "Add a window in the client lists root properties." (with-slots ((rw window) client-list) root - (let ((up2date (gethash window client-list))) - (setf (gethash window client-list) window) + (let ((up2date (getwinhash window client-list))) + (setf (getwinhash window client-list) window) (update-client-list-stacking root) (unless up2date (setf (netwm:net-client-list rw :mode :append) window)) @@ -675,7 +675,7 @@ "Recompute and set the root property net_client_list_stacking." (with-slots (window client-list) root (loop for win in (query-application-tree window) - when (gethash win client-list) collect win into wins + when (getwinhash win client-list) collect win into wins finally (setf (netwm:net-client-list-stacking window) wins)))) (defun update-lists (app state root) From ihatchondo at common-lisp.net Tue Nov 17 17:32:09 2009 From: ihatchondo at common-lisp.net (ihatchondo) Date: Tue, 17 Nov 2009 12:32:09 -0500 Subject: [Eclipse-cvs] CVS eclipse Message-ID: Update of /project/eclipse/cvsroot/eclipse In directory cl-net:/tmp/cvs-serv20975 Modified Files: global.lisp Log Message: Fix: add some backtrace stuff. --- /project/eclipse/cvsroot/eclipse/global.lisp 2009/02/23 00:00:35 1.33 +++ /project/eclipse/cvsroot/eclipse/global.lisp 2009/11/17 17:32:09 1.34 @@ -1,5 +1,5 @@ ;;; -*- Mode: Lisp; Package: ECLIPSE-INTERNALS -*- -;;; $Id: global.lisp,v 1.33 2009/02/23 00:00:35 ihatchondo Exp $ +;;; $Id: global.lisp,v 1.34 2009/11/17 17:32:09 ihatchondo Exp $ ;;; ;;; This file is part of Eclipse. ;;; Copyright (C) 2001, 2002 Iban HATCHONDO @@ -270,6 +270,9 @@ (format *stderr* "X error ~A ~:[~;with id~]~%=> ~{~A ~}~%" err resource-id keys) + (unless asynchronous + ;;#+:cmu (debug::backtrace most-positive-fixnum *stderr*) + ) (when resource-id (let* ((resource (xlib::lookup-window dpy resource-id)) (widget (lookup-widget resource))) From ihatchondo at common-lisp.net Tue Nov 17 17:33:21 2009 From: ihatchondo at common-lisp.net (ihatchondo) Date: Tue, 17 Nov 2009 12:33:21 -0500 Subject: [Eclipse-cvs] CVS eclipse Message-ID: Update of /project/eclipse/cvsroot/eclipse In directory cl-net:/tmp/cvs-serv21062 Modified Files: menu.lisp widgets.lisp Log Message: Fix: use the window hashtable machinery. --- /project/eclipse/cvsroot/eclipse/menu.lisp 2004/11/30 23:48:10 1.8 +++ /project/eclipse/cvsroot/eclipse/menu.lisp 2009/11/17 17:33:21 1.9 @@ -1,5 +1,5 @@ ;;; -*- Mode: Lisp; Package: ECLIPSE-INTERNALS -*- -;;; $Id: menu.lisp,v 1.8 2004/11/30 23:48:10 ihatchondo Exp $ +;;; $Id: menu.lisp,v 1.9 2009/11/17 17:33:21 ihatchondo Exp $ ;;; ;;; This file is part of Eclipse ;;; Copyright (C) 2000, 2001, 2002 Iban HATCHONDO, Robert STRANDH @@ -114,7 +114,7 @@ :key-press :key-release :owner-grab-button))) - (setf (gethash window *widget-table*) item) + (save-widget window item) (incf y *default-menu-height*) (when map (xlib:map-window window)))) items)) @@ -240,8 +240,8 @@ :background (make-background-pixmap root-window subwidth - subheight)) - (gethash item-container *widget-table*) sub-menu)) + subheight)))) + (save-widget item-container sub-menu) (decf subwidth (* 2 *menu-item-margin*)) (realize-menu-items item-container subwidth items)))) @@ -250,10 +250,10 @@ (when has-substructure (mapc #'(lambda (item) (destroy-substructure item) - (remhash (slot-value item 'window) *widget-table*) + (clear-widget (slot-value item 'window)) (setf (slot-value item 'window) nil)) items) - (remhash item-container *widget-table*) + (clear-widget item-container) (xlib:destroy-window item-container)) (setf armed nil has-substructure nil @@ -320,8 +320,8 @@ root-window (+ subwidth (* 2 *menu-item-margin*)) (+ subheight (* 2 *menu-item-margin*)))) - (gethash window *widget-table*) pop-up-menu armed t) + (save-widget window pop-up-menu) (xlib:map-window window) (realize-menu-items window subwidth items :map t)))) @@ -330,11 +330,11 @@ (when window (mapc #'(lambda (item) (destroy-substructure item) - (remhash (slot-value item 'window) *widget-table*) + (clear-widget (slot-value item 'window)) (setf (slot-value item 'window) nil)) items) (xlib:destroy-window window) - (remhash window *widget-table*) + (clear-widget window) (setf (slot-value pop-up-menu 'armed) nil window nil)))) --- /project/eclipse/cvsroot/eclipse/widgets.lisp 2009/02/20 18:07:01 1.57 +++ /project/eclipse/cvsroot/eclipse/widgets.lisp 2009/11/17 17:33:21 1.58 @@ -1,5 +1,5 @@ ;;; -*- Mode: Lisp; Package: ECLIPSE-INTERNALS -*- -;;; $Id: widgets.lisp,v 1.57 2009/02/20 18:07:01 ihatchondo Exp $ +;;; $Id: widgets.lisp,v 1.58 2009/11/17 17:33:21 ihatchondo Exp $ ;;; ;;; ECLIPSE. The Common Lisp Window Manager. ;;; Copyright (C) 2000, 2001, 2002 Iban HATCHONDO @@ -111,10 +111,10 @@ (defmethod initialize-instance :after ((widget base-widget) &rest rest) (declare (ignore rest)) - (setf (gethash (widget-window widget) *widget-table*) widget)) + (save-widget (widget-window widget) widget)) (defmethod remove-widget ((widget base-widget)) - (remhash (widget-window widget) *widget-table*)) + (clear-widget (widget-window widget))) (defmethod put-on-top ((widget base-widget)) (setf (xlib:window-priority (widget-window widget)) :above)) @@ -127,10 +127,20 @@ (defun lookup-widget (window) "Returns the associated widget if any." - (declare (optimize (speed 3) (safety 1))) - (gethash window *widget-table*)) + (declare (optimize (speed 3) (safety 0))) + (declare (inline getwinhash)) + (getwinhash window *widget-table*)) + +(defun save-widget (window widget) + (declare (optimize (speed 3) (safety 0))) + (setf (getwinhash window *widget-table*) widget)) + +(defun clear-widget (window) + (declare (optimize (speed 3) (safety 0))) + (declare (inline remwinhash)) + (remwinhash window *widget-table*)) -(declaim (inline lookup-widget)) +(declaim (inline lookup-widget save-widget clear-widget)) (defclass standard-property-holder (base-widget) ()) @@ -245,11 +255,12 @@ (defmethod focused-p ((application application)) (loop with window = (widget-window application) with foc = (xlib:input-focus *display*) - until (or (xlib:window-equal window foc) (not (xlib:window-p foc))) + until (or (not (xlib:window-p foc)) (xlib:window-equal window foc)) do (multiple-value-bind (children parent) (xlib:query-tree foc) (declare (ignore children)) (setq foc parent)) - finally (return (xlib:window-equal window foc)))) + finally + (return (and (xlib:window-p foc) (xlib:window-equal window foc))))) (defmethod shaded-p ((widget application)) (member :_net_wm_state_shaded (netwm:net-wm-state (widget-window widget)))) @@ -656,12 +667,13 @@ (defun timed-message-box (window &rest messages) "Map a small box, of parent `window', displaying the given string messages. This box will automatically destroyed two seconds after being mapped." - (with-slots (window) (create-message-box messages :parent window) - (xlib:map-window window) - (pt:arm-timer 2 (lambda () - (xlib:display-finish-output *display*) - (remhash window *widget-table*) - (xlib:destroy-window window))))) + (let ((box (create-message-box messages :parent window))) + (with-slots (window) box + (xlib:map-window window) + (pt:arm-timer 2 (lambda () + (xlib:display-finish-output *display*) + (remove-widget box) + (xlib:destroy-window window)))))) ;;;; Push button ;; Everybody knows what a push button is. From ihatchondo at common-lisp.net Tue Nov 17 18:08:44 2009 From: ihatchondo at common-lisp.net (ihatchondo) Date: Tue, 17 Nov 2009 13:08:44 -0500 Subject: [Eclipse-cvs] CVS eclipse Message-ID: Update of /project/eclipse/cvsroot/eclipse In directory cl-net:/tmp/cvs-serv30487 Modified Files: themer.lisp Log Message: Fix: array creation is macroexpanded instead of creating it during macroexpansion. --- /project/eclipse/cvsroot/eclipse/themer.lisp 2005/03/01 10:06:37 1.11 +++ /project/eclipse/cvsroot/eclipse/themer.lisp 2009/11/17 18:08:43 1.12 @@ -1,5 +1,5 @@ ;;; -*- Mode: Lisp; Package: ECLIPSE-INTERNALS -*- -;;; $Id: themer.lisp,v 1.11 2005/03/01 10:06:37 ihatchondo Exp $ +;;; $Id: themer.lisp,v 1.12 2009/11/17 18:08:43 ihatchondo Exp $ ;;; ;;; This file is part of Eclipse. ;;; Copyright (C) 2002 Iban HATCHONDO @@ -348,26 +348,22 @@ (bottom-left-w eclipse::bottom-left-w) (bottom-left-h eclipse::bottom-left-h)) ,style-to-define ,@(loop for (key names) in items - for array = (make-array 4 :initial-element nil) - when (eq key :custom) - do (setf array (make-array (length names))) end when (case key ((:close :icon-b :maximize) t)) collect `(incf nb-buttons) end - collect `(setf (gethash ,key frame-item-pixmaps) ,array) + collect `(setf (gethash ,key frame-item-pixmaps) + (make-array + ,(if (eq key :custom) (length names) 4))) nconc (loop for name in names for i from 0 for k = (eclipse::make-keyword name) - for pix = (gensym) - for form = - `(let ((,pix - (or ,(and style - `(eclipse:get-pixmap ,style ,k)) - (eclipse:load-pnm->pixmap - ,directory ,name ,window)))) - (setf (gethash ,k pixmap-table) ,pix) - (setf (aref ,array ,i) ,pix)) - collect form)) + collect + `(setf (aref (gethash ,key frame-item-pixmaps) ,i) + (setf (gethash ,k pixmap-table) + (or ,(when style + `(eclipse:get-pixmap ,style ,k)) + (eclipse:load-pnm->pixmap + ,directory ,name ,window)))))) (multiple-value-setq (top-left-w top-left-h) (eclipse:frame-item-sizes ,style-to-define :top-left)) (multiple-value-setq (top-right-w top-right-h) From ihatchondo at common-lisp.net Tue Nov 17 20:51:57 2009 From: ihatchondo at common-lisp.net (ihatchondo) Date: Tue, 17 Nov 2009 15:51:57 -0500 Subject: [Eclipse-cvs] CVS eclipse/lib Message-ID: Update of /project/eclipse/cvsroot/eclipse/lib In directory cl-net:/tmp/cvs-serv5426/lib Modified Files: manager-commons.lisp Log Message: Fix: xlib:window-equal is the predicate when removing a window from a list window --- /project/eclipse/cvsroot/eclipse/lib/manager-commons.lisp 2005/02/10 23:45:51 1.8 +++ /project/eclipse/cvsroot/eclipse/lib/manager-commons.lisp 2009/11/17 20:51:56 1.9 @@ -1,5 +1,5 @@ ;;; -*- Mode: Lisp; Package: MANAGER-COMMONS -*- -;;; $Id: manager-commons.lisp,v 1.8 2005/02/10 23:45:51 ihatchondo Exp $ +;;; $Id: manager-commons.lisp,v 1.9 2009/11/17 20:51:56 ihatchondo Exp $ ;;; ;;; This is the CLX support for the managing with gnome. ;;; @@ -254,23 +254,26 @@ :reader-documentation (string): the reader function documentation string. :writer-documentation (string): the setf function documentation string." - (let ((reader (intern (with-standard-io-syntax (format nil "~A" name))))) + (let ((reader (intern (with-standard-io-syntax (format nil "~A" name)))) + (seter (intern (with-standard-io-syntax (format nil "SET-~A" name))))) `(progn - (defun ,reader (window &key window-list) ,@(when reader-documentation `(,reader-documentation)) (get-window-property window ,property-atom window-list)) - (defsetf ,reader (window &key (mode :replace) window-id) (win) + (defun ,seter (window value &key (mode :replace) window-id) + (unless (null value) + (change-property window ',property-atom + (cond ((eq mode :remove) + (let ((prop (,reader window :window-list (not window-id))) + (test (if window-id #'eql #'xlib:window-equal))) + (remove value prop :test test))) + ((listp value) value) + (t (list value))) + ',data-type 32 + :mode (if (eq mode :remove) :replace mode) + :transform (unless window-id #'xlib:window-id)))) + + (defsetf ,reader (window &key (mode :replace) window-id) (value) ,@(when writer-documentation `(,writer-documentation)) - `(when ,win - (change-property ,window ,',property-atom - (cond ((eq ,mode :remove) - (remove ,win - (,',reader ,window :window-list (not ,window-id)))) - ((listp ,win) ,win) - (t (list ,win))) - ,',data-type - 32 - :mode (if (eq ,mode :remove) :replace ,mode) - :transform (unless ,window-id #'xlib:window-id))))))) + `(,',seter ,window ,value :mode ,mode :window-id ,window-id))))) From ihatchondo at common-lisp.net Tue Nov 17 21:17:29 2009 From: ihatchondo at common-lisp.net (ihatchondo) Date: Tue, 17 Nov 2009 16:17:29 -0500 Subject: [Eclipse-cvs] CVS eclipse Message-ID: Update of /project/eclipse/cvsroot/eclipse In directory cl-net:/tmp/cvs-serv12329 Modified Files: .eclipse input.lisp package.lisp themer.lisp widgets.lisp wm.lisp Log Message: Fix: theme rework to remove eql specializer on theme name in favor of theme object. --- /project/eclipse/cvsroot/eclipse/.eclipse 2003/08/28 14:51:37 1.5 +++ /project/eclipse/cvsroot/eclipse/.eclipse 2009/11/17 21:17:29 1.6 @@ -58,7 +58,7 @@ :modifiers '(:and :ALT-LEFT :CONTROL-LEFT)) (define-key-combo :scroll-down :keys '(:q) - :modifiers '(:and :ALT-LEFT :CONTROL-LEFT)) + :modifiers '(:and :ISO-LEVEL3-SHIFT :CONTROL-LEFT)) ;; example of user define keystroke: ;(define-key-combo :raise-pointered-window --- /project/eclipse/cvsroot/eclipse/input.lisp 2009/02/20 18:03:55 1.53 +++ /project/eclipse/cvsroot/eclipse/input.lisp 2009/11/17 21:17:29 1.54 @@ -1,5 +1,5 @@ ;;; -*- Mode: Lisp; Package: ECLIPSE-INTERNALS -*- -;;; $Id: input.lisp,v 1.53 2009/02/20 18:03:55 ihatchondo Exp $ +;;; $Id: input.lisp,v 1.54 2009/11/17 21:17:29 ihatchondo Exp $ ;;; ;;; ECLIPSE. The Common Lisp Window Manager. ;;; Copyright (C) 2000, 2001, 2002 Iban HATCHONDO @@ -148,13 +148,12 @@ (undecore-application widget :state 0) (setf (wm-state window) 3))))) (decoration - (let ((application (get-child widget :application))) + (let ((application (get-child widget :application))) (if (application-iconic-p application) (setf (wm-state (widget-window application)) 3) - (with-slots (window send-event-p) event + (progn (setf send-event-p t) (setf window (widget-window application)) - (format t "about to withdraw: ~a ~%" (wm-name window)) (event-process event root))))))))) (defmethod event-process ((event destroy-notify) (root root)) @@ -451,13 +450,13 @@ (defmethod event-process ((event exposure) (button button)) (when (zerop (event-count event)) (let* ((master (slot-value button 'master)) - (name (if master - (slot-value (decoration-frame-style master) 'name) - (theme-name (root-decoration-theme *root*))))) - (repaint button name (and master (focused-p master)))))) + (theme (if master + (slot-value (decoration-frame-style master) 'theme) + (root-decoration-theme *root*)))) + (repaint button theme (and master (focused-p master)))))) (defmethod event-process ((event exposure) (box box-button)) - (repaint box (theme-name (root-decoration-theme *root*)) nil)) + (repaint box (root-decoration-theme *root*) nil)) (defmethod event-process ((event button-release) (close close-button)) (close-widget (get-child (button-master close) :application))) --- /project/eclipse/cvsroot/eclipse/package.lisp 2005/01/16 23:25:59 1.19 +++ /project/eclipse/cvsroot/eclipse/package.lisp 2009/11/17 21:17:29 1.20 @@ -1,5 +1,5 @@ ;;; -*- Mode: Lisp; Package: User -*- -;;; $Id: package.lisp,v 1.19 2005/01/16 23:25:59 ihatchondo Exp $ +;;; $Id: package.lisp,v 1.20 2009/11/17 21:17:29 ihatchondo Exp $ ;;; ;;; This file is part of Eclipse. ;;; Copyright (C) 2002 Iban HATCHONDO @@ -181,7 +181,7 @@ #:pixmap-width ;function #:procede-decoration ;function #:query-application-tree ;function - #:%quit% ;function + #:quit ;function #:realize-menu-items ;function #:realize-pop-up ;function #:recompute-wm-normal-hints ;function @@ -254,6 +254,7 @@ #:frame-item-pixmaps ;generic function #:frame-item-sizes ;generic function #:frame-item-width ;generic function + #:frame-style-theme ;generic function #:free-frame-style ;generic function #:get-child ;generic function #:get-pixmap ;generic function --- /project/eclipse/cvsroot/eclipse/themer.lisp 2009/11/17 18:08:43 1.12 +++ /project/eclipse/cvsroot/eclipse/themer.lisp 2009/11/17 21:17:29 1.13 @@ -1,5 +1,5 @@ ;;; -*- Mode: Lisp; Package: ECLIPSE-INTERNALS -*- -;;; $Id: themer.lisp,v 1.12 2009/11/17 18:08:43 ihatchondo Exp $ +;;; $Id: themer.lisp,v 1.13 2009/11/17 21:17:29 ihatchondo Exp $ ;;; ;;; This file is part of Eclipse. ;;; Copyright (C) 2002 Iban HATCHONDO @@ -31,11 +31,11 @@ (gethash name *themes*)) (defclass frame-style () - ((name - :initform "no name" - :type string - :initarg :theme-name - :reader frame-style-theme-name) + ((theme + :initform nil + :type (or null theme) + :initarg style-theme + :reader frame-style-theme) (title-bar-position :initform :top :type keyword @@ -239,6 +239,9 @@ (defmethod initialize-instance :after ((theme theme) &rest options) (declare (ignorable options)) + (with-slots (default-style transient-style) theme + (when default-style (setf (slot-value default-style 'theme) theme)) + (when transient-style (setf (slot-value transient-style 'theme) theme))) (setf (gethash (theme-name theme) *themes*) theme)) ;;;; build-in no decoration theme. @@ -247,7 +250,6 @@ (make-instance 'theme :name "no-decoration" :default-style (make-instance 'default-style - :theme-name "no-decoration" :title-bar-position :none)) ;;;; misc functions. @@ -299,11 +301,8 @@ ;;;; theme manipulation. -;; I defined this here, just to avoid compilation warnings. -;; But it doesn't matter, because just before loading a theme -;; (fmakunbound 'initialize-frame) is called. -(defun initialize-frame (directory-name window) - (declare (ignorable directory-name window)) +(defmethod initialize-frame (theme-class-symbol directory-name window) + (declare (ignorable theme-class-symbol directory-name window)) (values)) (defun free-theme (name) @@ -316,11 +315,13 @@ (defun load-theme (root-window name) "Loads and returns theme named by parameter name. Themes are cached." - (unless (lookup-theme name) - (fmakunbound 'initialize-frame) - (setf name (ensure-theme-directory-exists name)) - (load (concatenate 'string name "theme.o")) - (setf name (theme-name (initialize-frame name root-window)))) + (unless (lookup-theme name) + (let* ((tclass (string-upcase name)) + (theme-package (concatenate 'string tclass "-ECLIPSE-THEME"))) + (setf name (ensure-theme-directory-exists name)) + (load (concatenate 'string name "theme.o")) + (let ((tclass (with-standard-io-syntax (intern tclass theme-package)))) + (setf name (theme-name (initialize-frame tclass name root-window)))))) (use-package (format nil "~:@(~A~)-ECLIPSE-THEME" name)) (lookup-theme name)) @@ -407,28 +408,30 @@ ((style1 title-pos1 bkgrd1 parts-to-redraw-on-focus1 items1) (style2 title-pos2 bkgrd2 parts-to-redraw-on-focus2 items2)) (mapcar #'parse-args forms) - - `(defun initialize-frame (dir window) - (let ((fs1 ,(and items1 + (let ((theme-class (format nil "~:@(~a~)" (symbol-value theme-name)))) + `(progn + (defclass ,(intern theme-class) (eclipse::theme) () + (:documentation ,(format nil "~a theme base class" theme-name))) + (defmethod eclipse-internals::initialize-frame + ((name (eql ',(intern theme-class))) dir window) + (let ((fs1 ,(and items1 `(make-instance ',(intern (symbol-name style1) "ECLIPSE-INTERNALS") - :theme-name ,theme-name :title-bar-position ,title-pos1 :background (make-background ,bkgrd1 window dir) :parts-to-redraw-on-focus ',parts-to-redraw-on-focus1))) - (fs2 ,(and items2 + (fs2 ,(and items2 `(make-instance ',(intern (symbol-name style2) "ECLIPSE-INTERNALS") - :theme-name ,theme-name :title-bar-position ,title-pos2 :background (make-background ,bkgrd2 window dir) :parts-to-redraw-on-focus ',parts-to-redraw-on-focus2)))) - ,(unless items2 `(declare (ignorable fs2))) - ,(when items1 (define-style `fs1 items1 `dir `window)) - ,(when items2 (define-style `fs2 items2 `dir `window `fs1)) - (make-instance 'eclipse::theme :name ,theme-name - ,@(and style1 `(,style1 fs1)) - ,@(and style2 `(,style2 fs2)))))))) + ,(unless items2 `(declare (ignorable fs2))) + ,(when items1 (define-style `fs1 items1 `dir `window)) + ,(when items2 (define-style `fs2 items2 `dir `window `fs1)) + (make-instance ',(intern theme-class) :name ,theme-name + ,@(and style1 `(,style1 fs1)) + ,@(and style2 `(,style2 fs2)))))))))) --- /project/eclipse/cvsroot/eclipse/widgets.lisp 2009/11/17 17:33:21 1.58 +++ /project/eclipse/cvsroot/eclipse/widgets.lisp 2009/11/17 21:17:29 1.59 @@ -1,5 +1,5 @@ ;;; -*- Mode: Lisp; Package: ECLIPSE-INTERNALS -*- -;;; $Id: widgets.lisp,v 1.58 2009/11/17 17:33:21 ihatchondo Exp $ +;;; $Id: widgets.lisp,v 1.59 2009/11/17 21:17:29 ihatchondo Exp $ ;;; ;;; ECLIPSE. The Common Lisp Window Manager. ;;; Copyright (C) 2000, 2001, 2002 Iban HATCHONDO @@ -73,12 +73,12 @@ maximization the widget will be enlarged to cover the whole screen except any existing panels (e.g applications with the :_net_wm_window_type_dock atom present in there _net_wm_window_type property. - widget (base-widget): the widget to (un)maximize. - code (integer 1 3): - 1 operates on width and height. - 2 operates on height. - 3 operates on width. - :fill-p (boolean): If NIL, cover the whole screen (except dock type + - widget (base-widget): the widget to (un)maximize. + - code (integer 1 3): + -- 1 operates on width and height. + -- 2 operates on height. + -- 3 operates on width. + - :fill-p (boolean): If NIL, cover the whole screen (except dock type applications). If T, finds the first region of the screen that does not overlap applications not already overlapped by the widget.")) @@ -96,14 +96,14 @@ (:documentation "Returns T if one of the state :win_state_fixed_position :_net_wm_state_sticky is set for the widget.")) -(defgeneric repaint (widget theme-name focus) - (:method (widget theme-name focus) nil) +(defgeneric repaint (widget theme focus) + (:method (widget theme focus) nil) (:documentation "This method is dedicated to widget repaint such as every buttons, icons, edges ... - It is specialized on widget type, theme name (via an eql specializer) and a - boolean that indicate if the corresponding toplevel (type decoration) is or - not focused. + + It is specialized on widget type, frame-style theme and a boolean that + indicate if the corresponding toplevel (type decoration) is or not focused. Except for standard expose events, the repaint dispatching on focus change will be perform according to parts-to-redraw-on-focus list given in @@ -567,16 +567,16 @@ (defconstant +std-button-mask+ '(:button-press :button-release :button-motion :owner-grab-button :exposure)) -(defmethod repaint ((widget button) theme-name (focus t)) - (declare (ignorable theme-name focus)) +(defmethod repaint ((widget button) theme (focus t)) + (declare (ignorable theme focus)) (with-slots (item-to-draw window gcontext) widget (xlib:clear-area window) (typecase item-to-draw (string (draw-centered-text window gcontext item-to-draw)) (xlib:pixmap (draw-pixmap window gcontext item-to-draw))))) -(defmethod repaint ((widget button) theme-name (focus null)) - (declare (ignorable theme-name focus)) +(defmethod repaint ((widget button) theme (focus null)) + (declare (ignorable theme focus)) (xlib:clear-area (widget-window widget))) (defmethod shaded-p ((widget button)) @@ -654,8 +654,8 @@ (window-position window) (values x y) (slot-value box 'item-to-draw) m)))))) -(defmethod repaint ((widget box-button) theme-name focus &aux x) - (declare (ignorable theme-name focus)) +(defmethod repaint ((widget box-button) theme focus &aux x) + (declare (ignorable theme focus)) (with-slots (window item-to-draw gcontext pixmap) widget (xlib:clear-area window) (when pixmap @@ -713,19 +713,19 @@ (declare (ignorable value)) (with-slots (window master) button (when (decoration-p master) - (with-slots (name) (decoration-frame-style master) - (repaint button name (focused-p master)))))) + (with-slots (theme) (decoration-frame-style master) + (repaint button theme (focused-p master)))))) -(defmethod repaint ((widget push-button) theme-name (focus t)) - (declare (ignorable theme-name focus)) +(defmethod repaint ((widget push-button) theme (focus t)) + (declare (ignorable theme focus)) (with-slots (window gcontext armed active-p item-to-draw) widget (xlib:clear-area window) (let ((p (and armed active-p (push-button-pixmap widget :focused-click)))) (when (or p item-to-draw) (draw-pixmap window gcontext (or p item-to-draw)))))) -(defmethod repaint ((widget push-button) theme-name (focus null)) - (declare (ignorable theme-name focus)) +(defmethod repaint ((widget push-button) theme (focus null)) + (declare (ignorable theme focus)) (with-slots (window gcontext armed active-p) widget (xlib:clear-area window) (let ((pixmap (push-button-pixmap widget :unfocused-click))) @@ -752,8 +752,8 @@ (hmargin :initform 0) (parent :initform nil))) -(defmethod repaint ((widget title-bar) theme-name focus) - (declare (ignorable theme-name focus)) +(defmethod repaint ((widget title-bar) theme focus) + (declare (ignorable theme focus)) (with-slots (item-to-draw window gcontext) widget (xlib:clear-area window) (when item-to-draw @@ -931,8 +931,8 @@ (and pixmap-to-free (xlib:free-pixmap pixmap-to-free)) (setf pixmap-to-free nil))) -(defmethod repaint ((widget icon) theme-name focus) - (declare (ignorable theme-name focus)) +(defmethod repaint ((widget icon) theme focus) + (declare (ignorable theme focus)) (with-slots (window item-to-draw gcontext) widget (xlib:clear-area window) (draw-centered-text window gcontext item-to-draw :color *white*))) --- /project/eclipse/cvsroot/eclipse/wm.lisp 2009/11/17 17:31:25 1.58 +++ /project/eclipse/cvsroot/eclipse/wm.lisp 2009/11/17 21:17:29 1.59 @@ -1,5 +1,5 @@ ;;; -*- Mode: Lisp; Package: ECLIPSE-INTERNALS -*- -;;; $Id: wm.lisp,v 1.58 2009/11/17 17:31:25 ihatchondo Exp $ +;;; $Id: wm.lisp,v 1.59 2009/11/17 21:17:29 ihatchondo Exp $ ;;; ;;; ECLIPSE. The Common Lisp Window Manager. ;;; Copyright (C) 2000, 2001, 2002 Iban HATCHONDO @@ -159,9 +159,9 @@ (defmethod dispatch-repaint ((master decoration) &key (focus (focused-p master))) (declare (optimize (speed 3) (safety 1))) - (with-slots (parts-to-redraw-on-focus name) (decoration-frame-style master) - (declare (type string name)) - (mapc #'(lambda (k) (repaint (get-child master k) name focus)) + (with-slots (parts-to-redraw-on-focus theme) (decoration-frame-style master) + (declare (type theme theme)) + (mapc #'(lambda (k) (repaint (get-child master k) theme focus)) parts-to-redraw-on-focus))) (defun recompute-wm-normal-hints (window hmargin vmargin) @@ -720,7 +720,7 @@ ((window-not-decorable-p window (application-type application)) (setf (netwm:net-frame-extents window) (values 0 0 0 0)) (setf (wm-state window) 1) - (xlib:map-window window)) + (xlib:map-window window)) (t (decore-application window application :map t))) (with-slots (wants-focus-p input-model type) application (unless (member :_net_wm_window_type_desktop type) @@ -737,7 +737,7 @@ :type boolean :reader close-application-p))) (defun eclipse-internal-loop () - (let* ((exit 0) time) + (let* ((exit 0)) ;; Sets the root window pop-up menu (when *menu-1-exit-p* @@ -765,10 +765,9 @@ (xlib:with-server-grabbed (*display*) (mapc (lambda (w) - (unless (ignore-errors (ignorable-window-p w)) + (unless (ignore-errors (ignorable-window-p w)) (procede-decoration w))) (xlib:query-tree *root-window*)))) - ;; Main loop (loop (catch 'general-error @@ -786,7 +785,7 @@ when (application-p val) if *close-display-p* do (close-widget val) else do (undecore-application val)) - (setf time 10 exit 2)) + (setf exit 2)) (2 (when (root-sm-conn *root*) (close-sm-connection *root* :exit-p nil)) (xlib:display-finish-output *display*) From ihatchondo at common-lisp.net Tue Nov 17 21:17:29 2009 From: ihatchondo at common-lisp.net (ihatchondo) Date: Tue, 17 Nov 2009 16:17:29 -0500 Subject: [Eclipse-cvs] CVS eclipse/themes/CoolClean Message-ID: Update of /project/eclipse/cvsroot/eclipse/themes/CoolClean In directory cl-net:/tmp/cvs-serv12329/themes/CoolClean Modified Files: theme.lisp Log Message: Fix: theme rework to remove eql specializer on theme name in favor of theme object. --- /project/eclipse/cvsroot/eclipse/themes/CoolClean/theme.lisp 2005/05/18 20:42:15 1.6 +++ /project/eclipse/cvsroot/eclipse/themes/CoolClean/theme.lisp 2009/11/17 21:17:29 1.7 @@ -48,8 +48,8 @@ (:right ("right")) (:left ("left")))))) -(defmethod repaint ((widget title-bar) (name (eql +CoolClean+)) (focus t)) - (declare (ignorable name focus)) +(defmethod repaint ((widget title-bar) (theme CoolClean) (focus t)) + (declare (ignorable theme focus)) (with-slots ((window eclipse::window) (item-to-draw eclipse::item-to-draw) (gcontext eclipse::gcontext) @@ -61,8 +61,8 @@ (xlib:draw-rectangle window gcontext 0 0 width height t))))) (draw-centered-text window gcontext item-to-draw :color *white* :x 5))) -(defmethod repaint ((widget title-bar) (name (eql +CoolClean+)) (focus null)) - (declare (ignorable name focus)) +(defmethod repaint ((widget title-bar) (theme CoolClean) (focus null)) + (declare (ignorable theme focus)) (with-slots ((window eclipse::window) (item-to-draw eclipse::item-to-draw) (gcontext eclipse::gcontext)) widget From ihatchondo at common-lisp.net Tue Nov 17 21:17:29 2009 From: ihatchondo at common-lisp.net (ihatchondo) Date: Tue, 17 Nov 2009 16:17:29 -0500 Subject: [Eclipse-cvs] CVS eclipse/themes/Step Message-ID: Update of /project/eclipse/cvsroot/eclipse/themes/Step In directory cl-net:/tmp/cvs-serv12329/themes/Step Modified Files: theme.lisp Log Message: Fix: theme rework to remove eql specializer on theme name in favor of theme object. --- /project/eclipse/cvsroot/eclipse/themes/Step/theme.lisp 2005/05/18 20:42:16 1.6 +++ /project/eclipse/cvsroot/eclipse/themes/Step/theme.lisp 2009/11/17 21:17:29 1.7 @@ -41,8 +41,8 @@ (:right ("side")) (:left ("side")))))) -(defmethod repaint ((widget title-bar) (name (eql +Step+)) (focus t)) - (declare (ignorable name focus)) +(defmethod repaint ((widget title-bar) (theme Step) (focus t)) + (declare (ignorable theme focus)) (with-slots ((window eclipse::window) (item-to-draw eclipse::item-to-draw) (gcontext eclipse::gcontext) @@ -54,8 +54,8 @@ (xlib:draw-rectangle window gcontext 0 0 width height t))))) (draw-centered-text window gcontext item-to-draw :color *white*))) -(defmethod repaint ((widget title-bar) (name (eql +Step+)) (focus null)) - (declare (ignorable name focus)) +(defmethod repaint ((widget title-bar) (theme Step) (focus null)) + (declare (ignorable theme focus)) (with-slots ((window eclipse::window) (item-to-draw eclipse::item-to-draw) (gcontext eclipse::gcontext)) widget From ihatchondo at common-lisp.net Tue Nov 17 21:17:29 2009 From: ihatchondo at common-lisp.net (ihatchondo) Date: Tue, 17 Nov 2009 16:17:29 -0500 Subject: [Eclipse-cvs] CVS eclipse/themes/brushed-metal Message-ID: Update of /project/eclipse/cvsroot/eclipse/themes/brushed-metal In directory cl-net:/tmp/cvs-serv12329/themes/brushed-metal Modified Files: theme.lisp Log Message: Fix: theme rework to remove eql specializer on theme name in favor of theme object. --- /project/eclipse/cvsroot/eclipse/themes/brushed-metal/theme.lisp 2005/05/18 20:42:16 1.6 +++ /project/eclipse/cvsroot/eclipse/themes/brushed-metal/theme.lisp 2009/11/17 21:17:29 1.7 @@ -91,16 +91,16 @@ (multiple-value-bind (width height) (drawable-sizes window) (xlib:draw-rectangle window gcontext 0 0 width height t))))) -(defmethod repaint ((widget title-bar) (name (eql +brushed-metal+)) (focus t)) - (declare (ignorable name focus)) +(defmethod repaint ((widget title-bar) (theme brushed-metal) (focus t)) + (declare (ignorable theme focus)) (with-slots (frame-style) (button-master widget) (typecase frame-style (default-style (default-draw-on-focus-in widget frame-style)) (transient-style (transient-draw-on-focus-in widget frame-style))))) -(defmethod repaint ((wget title-bar) (name (eql +brushed-metal+)) (focus null)) - (declare (ignorable name focus)) - (with-slots (frame-style) (button-master wget) +(defmethod repaint ((widget title-bar) (theme brushed-metal) (focus null)) + (declare (ignorable theme focus)) + (with-slots (frame-style) (button-master widget) (typecase frame-style - (default-style (default-draw-on-focus-out wget frame-style)) - (transient-style (xlib:clear-area (widget-window wget)))))) + (default-style (default-draw-on-focus-out widget frame-style)) + (transient-style (xlib:clear-area (widget-window widget)))))) From ihatchondo at common-lisp.net Tue Nov 17 21:17:30 2009 From: ihatchondo at common-lisp.net (ihatchondo) Date: Tue, 17 Nov 2009 16:17:30 -0500 Subject: [Eclipse-cvs] CVS eclipse/themes/microGUI Message-ID: Update of /project/eclipse/cvsroot/eclipse/themes/microGUI In directory cl-net:/tmp/cvs-serv12329/themes/microGUI Modified Files: theme.lisp Log Message: Fix: theme rework to remove eql specializer on theme name in favor of theme object. --- /project/eclipse/cvsroot/eclipse/themes/microGUI/theme.lisp 2005/05/18 20:42:17 1.6 +++ /project/eclipse/cvsroot/eclipse/themes/microGUI/theme.lisp 2009/11/17 21:17:30 1.7 @@ -73,16 +73,16 @@ (xlib:draw-rectangle window gcontext w 0 pix-w h t)) (draw-centered-text window gcontext item-to-draw :color *white* :x 5)))) -(defmethod repaint ((widget title-bar) (name (eql +microGUI+)) (focus t)) - (declare (ignorable name focus)) +(defmethod repaint ((widget title-bar) (theme microGUI) (focus t)) + (declare (ignorable theme focus)) (with-slots ((frame-style eclipse::frame-style)) (button-master widget) (when (default-style-p frame-style) (redraw-title-bar widget (get-pixmap frame-style :top-blue) (get-pixmap frame-style :top-curves))))) -(defmethod repaint ((widget title-bar) (name (eql +microGUI+)) (focus null)) - (declare (ignorable name focus)) +(defmethod repaint ((widget title-bar) (theme microGUI) (focus null)) + (declare (ignorable theme focus)) (with-slots ((frame-style eclipse::frame-style)) (button-master widget) (when (default-style-p frame-style) (redraw-title-bar widget From ihatchondo at common-lisp.net Tue Nov 17 21:36:08 2009 From: ihatchondo at common-lisp.net (ihatchondo) Date: Tue, 17 Nov 2009 16:36:08 -0500 Subject: [Eclipse-cvs] CVS eclipse Message-ID: Update of /project/eclipse/cvsroot/eclipse In directory cl-net:/tmp/cvs-serv16805 Modified Files: wm.lisp Log Message: cosmetic changes --- /project/eclipse/cvsroot/eclipse/wm.lisp 2009/11/17 21:17:29 1.59 +++ /project/eclipse/cvsroot/eclipse/wm.lisp 2009/11/17 21:36:08 1.60 @@ -1,5 +1,5 @@ ;;; -*- Mode: Lisp; Package: ECLIPSE-INTERNALS -*- -;;; $Id: wm.lisp,v 1.59 2009/11/17 21:17:29 ihatchondo Exp $ +;;; $Id: wm.lisp,v 1.60 2009/11/17 21:36:08 ihatchondo Exp $ ;;; ;;; ECLIPSE. The Common Lisp Window Manager. ;;; Copyright (C) 2000, 2001, 2002 Iban HATCHONDO @@ -682,10 +682,9 @@ "Update root properties win_client_list, net_client_list(_stacking), by adjoining or removing the given application depending of state." (with-slots ((appw window) iconic-p) app - (with-slots ((rw window) client-list) root - (case (if (and (= state 3) (not iconic-p)) 0 state) - (0 (remove-window-from-client-lists appw root)) - (1 (add-window-in-client-lists appw root)))))) + (case (if (and (= state 3) (not iconic-p)) 0 state) + (0 (remove-window-from-client-lists appw root)) + (1 (add-window-in-client-lists appw root))))) (defun window-not-decorable-p (window &optional type) "Returns T if a window `should' not be decorated. Typically, a splash screen, @@ -737,7 +736,8 @@ :type boolean :reader close-application-p))) (defun eclipse-internal-loop () - (let* ((exit 0)) + (let ((close-display-p t) + (exit 0)) ;; Sets the root window pop-up menu (when *menu-1-exit-p* @@ -783,7 +783,7 @@ (case exit (1 (loop for val being each hash-value in *widget-table* when (application-p val) - if *close-display-p* do (close-widget val) + if close-display-p do (close-widget val) else do (undecore-application val)) (setf exit 2)) (2 (when (root-sm-conn *root*) @@ -795,7 +795,8 @@ (xlib:display-finish-output *display*) (return)))) (exit-eclipse (c) - (setf *close-display-p* (close-application-p c) exit 1)) + (setf close-display-p (close-application-p c)) + (setf exit 1)) (end-of-file (c) (handle-end-of-file-condition c)) (already-handled-xerror () nil) (error (c) (handle-error-condition c))))) From ihatchondo at common-lisp.net Tue Nov 17 21:40:10 2009 From: ihatchondo at common-lisp.net (ihatchondo) Date: Tue, 17 Nov 2009 16:40:10 -0500 Subject: [Eclipse-cvs] CVS eclipse Message-ID: Update of /project/eclipse/cvsroot/eclipse In directory cl-net:/tmp/cvs-serv17278 Modified Files: package.lisp Log Message: cosmetic changes --- /project/eclipse/cvsroot/eclipse/package.lisp 2009/11/17 21:17:29 1.20 +++ /project/eclipse/cvsroot/eclipse/package.lisp 2009/11/17 21:40:10 1.21 @@ -1,5 +1,5 @@ ;;; -*- Mode: Lisp; Package: User -*- -;;; $Id: package.lisp,v 1.20 2009/11/17 21:17:29 ihatchondo Exp $ +;;; $Id: package.lisp,v 1.21 2009/11/17 21:40:10 ihatchondo Exp $ ;;; ;;; This file is part of Eclipse. ;;; Copyright (C) 2002 Iban HATCHONDO @@ -344,7 +344,6 @@ ;; user custom variables. #:*change-desktop-message-active-p* - #:*close-display-p* #:*cycle-icons-p* #:*double-click-speed* #:*focus-type* From ihatchondo at common-lisp.net Tue Nov 17 21:47:07 2009 From: ihatchondo at common-lisp.net (ihatchondo) Date: Tue, 17 Nov 2009 16:47:07 -0500 Subject: [Eclipse-cvs] CVS eclipse Message-ID: Update of /project/eclipse/cvsroot/eclipse In directory cl-net:/tmp/cvs-serv20553 Modified Files: global.lisp Log Message: cosmetic changes --- /project/eclipse/cvsroot/eclipse/global.lisp 2009/11/17 17:32:09 1.34 +++ /project/eclipse/cvsroot/eclipse/global.lisp 2009/11/17 21:47:07 1.35 @@ -1,5 +1,5 @@ ;;; -*- Mode: Lisp; Package: ECLIPSE-INTERNALS -*- -;;; $Id: global.lisp,v 1.34 2009/11/17 17:32:09 ihatchondo Exp $ +;;; $Id: global.lisp,v 1.35 2009/11/17 21:47:07 ihatchondo Exp $ ;;; ;;; This file is part of Eclipse. ;;; Copyright (C) 2001, 2002 Iban HATCHONDO @@ -72,7 +72,6 @@ ;; Default value of all the "customisable" environment variables (defparameter *menu-1-exit-p* t) -(defparameter *close-display-p* t) (defparameter *menu-1-items* nil) (defparameter *change-desktop-message-active-p* t) (defparameter *save-and-restore-pointer-position-during-workspace-switch* nil) From ihatchondo at common-lisp.net Tue Nov 17 22:40:50 2009 From: ihatchondo at common-lisp.net (ihatchondo) Date: Tue, 17 Nov 2009 17:40:50 -0500 Subject: [Eclipse-cvs] CVS eclipse Message-ID: Update of /project/eclipse/cvsroot/eclipse In directory cl-net:/tmp/cvs-serv3297 Modified Files: eclipse.lisp global.lisp misc.lisp Log Message: Add: backtrace for sbcl and clisp --- /project/eclipse/cvsroot/eclipse/eclipse.lisp 2009/02/23 00:00:36 1.28 +++ /project/eclipse/cvsroot/eclipse/eclipse.lisp 2009/11/17 22:40:49 1.29 @@ -1,5 +1,5 @@ ;;; -*- Mode: Lisp; Package: ECLIPSE-INTERNALS -*- -;;; $Id: eclipse.lisp,v 1.28 2009/02/23 00:00:36 ihatchondo Exp $ +;;; $Id: eclipse.lisp,v 1.29 2009/11/17 22:40:49 ihatchondo Exp $ ;;; ;;; ECLIPSE. The Common Lisp Window Manager. ;;; Copyright (C) 2002 Iban HATCHONDO @@ -98,7 +98,9 @@ (t t)) (exit-eclipse (condition) (signal condition)) (error (condition) - #+cmu (debug::backtrace) + #+:cmu (debug::backtrace) + #+:sbcl (sb-debug::backtrace) + #+:clisp (system::print-backtrace) (format *error-output* "~&~A~&" condition)))) (defun initialize-manager (display root-window) --- /project/eclipse/cvsroot/eclipse/global.lisp 2009/11/17 21:47:07 1.35 +++ /project/eclipse/cvsroot/eclipse/global.lisp 2009/11/17 22:40:49 1.36 @@ -1,5 +1,5 @@ ;;; -*- Mode: Lisp; Package: ECLIPSE-INTERNALS -*- -;;; $Id: global.lisp,v 1.35 2009/11/17 21:47:07 ihatchondo Exp $ +;;; $Id: global.lisp,v 1.36 2009/11/17 22:40:49 ihatchondo Exp $ ;;; ;;; This file is part of Eclipse. ;;; Copyright (C) 2001, 2002 Iban HATCHONDO @@ -270,7 +270,9 @@ "X error ~A ~:[~;with id~]~%=> ~{~A ~}~%" err resource-id keys) (unless asynchronous - ;;#+:cmu (debug::backtrace most-positive-fixnum *stderr*) + ;; #+:cmu (debug::backtrace most-positive-fixnum *stderr*) + ;; #+:sbcl (sb-debug::backtrace most-positive-fixnum *stderr*) + ;; #+:clisp (system::print-backtrace :out *stderr*) ) (when resource-id (let* ((resource (xlib::lookup-window dpy resource-id)) @@ -282,6 +284,8 @@ (format *stderr* "Dead window removed from table~%")) (when (member resource-id (netwm:net-client-list *root-window*)) (remove-window-from-client-lists resource *root*))))) - ;; #+cmu (debug::backtrace) + ;; #+:cmu (debug::backtrace) + ;; #+:sbcl (sb-debug:backtrace) + ;; #+:clisp (system::print-backtrace) (finish-output *stderr*) (error 'already-handled-xerror)) --- /project/eclipse/cvsroot/eclipse/misc.lisp 2009/11/17 17:30:00 1.46 +++ /project/eclipse/cvsroot/eclipse/misc.lisp 2009/11/17 22:40:49 1.47 @@ -1,5 +1,5 @@ ;;; -*- Mode: Lisp; Package: ECLIPSE-INTERNALS -*- -;;; $Id: misc.lisp,v 1.46 2009/11/17 17:30:00 ihatchondo Exp $ +;;; $Id: misc.lisp,v 1.47 2009/11/17 22:40:49 ihatchondo Exp $ ;;; ;;; This file is part of Eclipse. ;;; Copyright (C) 2002 Iban HATCHONDO @@ -64,7 +64,9 @@ (declare (ignorable condition)) ,@(when verbose `((format *stderr* "error - ~A - : ~A~%" ',type condition) - ;; #+cmu (debug::backtrace) + ;; #+:cmu (debug::backtrace most-positive-fixnum *stderr*) + ;; #+:sbcl (sb-debug:backtrace most-positive-fixnum *stderr*) + ;; #+:clisp (system::print-backtrace :out *stderr*) (finish-output *stderr*))) ,(unless return `(throw ',(or throw type) ,@(or body '(nil)))))) From ihatchondo at common-lisp.net Wed Nov 18 13:42:39 2009 From: ihatchondo at common-lisp.net (ihatchondo) Date: Wed, 18 Nov 2009 08:42:39 -0500 Subject: [Eclipse-cvs] CVS eclipse Message-ID: Update of /project/eclipse/cvsroot/eclipse In directory cl-net:/tmp/cvs-serv19512 Modified Files: themer.lisp Log Message: Fix: nil as initial element is needed otherwise 0 might be used and will not be a pixmap. --- /project/eclipse/cvsroot/eclipse/themer.lisp 2009/11/17 21:17:29 1.13 +++ /project/eclipse/cvsroot/eclipse/themer.lisp 2009/11/18 13:42:39 1.14 @@ -1,5 +1,5 @@ ;;; -*- Mode: Lisp; Package: ECLIPSE-INTERNALS -*- -;;; $Id: themer.lisp,v 1.13 2009/11/17 21:17:29 ihatchondo Exp $ +;;; $Id: themer.lisp,v 1.14 2009/11/18 13:42:39 ihatchondo Exp $ ;;; ;;; This file is part of Eclipse. ;;; Copyright (C) 2002 Iban HATCHONDO @@ -353,7 +353,8 @@ collect `(incf nb-buttons) end collect `(setf (gethash ,key frame-item-pixmaps) (make-array - ,(if (eq key :custom) (length names) 4))) + ,(if (eq key :custom) (length names) 4) + :initial-element nil)) nconc (loop for name in names for i from 0 From ihatchondo at common-lisp.net Wed Nov 18 13:43:07 2009 From: ihatchondo at common-lisp.net (ihatchondo) Date: Wed, 18 Nov 2009 08:43:07 -0500 Subject: [Eclipse-cvs] CVS eclipse/themes/Step Message-ID: Update of /project/eclipse/cvsroot/eclipse/themes/Step In directory cl-net:/tmp/cvs-serv19575/themes/Step Modified Files: theme.lisp Log Message: Fix: sbcl package lock. --- /project/eclipse/cvsroot/eclipse/themes/Step/theme.lisp 2009/11/17 21:17:29 1.7 +++ /project/eclipse/cvsroot/eclipse/themes/Step/theme.lisp 2009/11/18 13:43:07 1.8 @@ -2,6 +2,7 @@ (defpackage "STEP-ECLIPSE-THEME" (:use eclipse clx-ext common-lisp) + (:shadow "STEP") (:size 10) (:export repaint initialize-frame) (:documentation "")) From ihatchondo at common-lisp.net Wed Nov 18 18:01:02 2009 From: ihatchondo at common-lisp.net (ihatchondo) Date: Wed, 18 Nov 2009 13:01:02 -0500 Subject: [Eclipse-cvs] CVS eclipse/lib/ice Message-ID: Update of /project/eclipse/cvsroot/eclipse/lib/ice In directory cl-net:/tmp/cvs-serv15191/lib/ice Modified Files: ICE-lib.lisp Log Message: Fix: sbcl bug ... --- /project/eclipse/cvsroot/eclipse/lib/ice/ICE-lib.lisp 2009/11/03 11:41:52 1.14 +++ /project/eclipse/cvsroot/eclipse/lib/ice/ICE-lib.lisp 2009/11/18 18:01:02 1.15 @@ -1,5 +1,5 @@ ;;; -*- Mode: Lisp; Syntax: Common-Lisp; Package: ICE-LIB; -*- -;;; $Id: ICE-lib.lisp,v 1.14 2009/11/03 11:41:52 ihatchondo Exp $ +;;; $Id: ICE-lib.lisp,v 1.15 2009/11/18 18:01:02 ihatchondo Exp $ ;;; --------------------------------------------------------------------------- ;;; Title: ICE Library ;;; Created: 2004 01 15 15:28 @@ -106,7 +106,7 @@ (defmethod read-request ((ice-connection ice-connection)) (with-slots (input-buffer input-byte-order stream) ice-connection - (declare (type (or null buffer) input-buffer)) + #-:sbcl(declare (type (or null buffer) input-buffer)) (setf input-buffer (make-buffer 4096 input-byte-order)) (buffer-read-sequence input-buffer stream :start 0 :end 8) (setf (buffer-index input-buffer) 4)