         (sources)
         (t anything-sources)))  
 
+(defvar anything-quit nil)
+(defmacro with-anything-quittable (&rest body)
+  `(let (inhibit-quit)
+     (condition-case v
+         (progn ,@body)
+       (quit (setq anything-quit t)
+             (exit-minibuffer)
+             (keyboard-quit)))))
+(put 'with-anything-quittable 'lisp-indent-function 0)
+
 ;; (@* "Core: entry point")
 (defun anything (&optional any-sources any-input any-prompt any-resume any-preselect any-buffer)
   "Select anything. In Lisp program, some optional arguments can be used.

(defun anything-process-delayed-sources (delayed-sources)
  "Process delayed sources if the user is idle for
`anything-idle-delay' seconds."
  (let (inhibit-quit)
    (if (sit-for (if anything-input-idle-delay
                     (max 0 (- anything-idle-delay anything-input-idle-delay))
                   anything-idle-delay))

;;; anything.el --- open anything / QuickSilver-like candidate-selection framework
;; $Id: anything.el,v 1.137 2008/12/20 19:38:47 rubikitch Exp $

;; Copyright (C) 2007  Tamas Patrovics
;;               2008  rubikitch <rubikitch@ruby-lang.org>
