anchor.diff:  ;; TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
   ;; SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
   
  -;; $Id: gcallback.lisp,v 1.42 2007-05-10 20:25:09 espen Exp $
  +;; $Id: gcallback.lisp,v 1.43 2007-06-15 12:03:26 espen Exp $
   
   (in-package "GLIB")
   
  
positive.code: (defbinding source-remove () boolean
    (tag unsigned-int))
  
  (define-callback source-callback-marshal nil ((callback-id unsigned-int))
    (callback-trampoline #'invoke-callback callback-id 0 nil))
  
  (defbinding (timeout-add "g_timeout_add_full")
      (interval function &optional (priority +priority-default+)) unsigned-int 
  
negative.code:     (signal-handler-block instance handler-id)
      (unwind-protect
  	(restart-case (apply #'invoke-callback callback-id nil args)
  	  (disconnect () :report "Disconnect and exit signal handler"
  	    (when (signal-handler-is-connected-p instance handler-id)
  	      (signal-handler-disconnect instance handler-id))
  	    (values nil t))))
  