anchor.diff:  (define-query-function get-double %gl:get-double-v %gl:double)
   (define-query-function get-pointer %gl:get-pointer-v :pointer)
   
  +(defun try-to-parse-enum (value)
  +  (or (foreign-enum-keyword '%gl:enum value :errorp nil)
  +      value))
  +
  +
   ;;; Wrapper around GET-INTEGER when the result should be interpreted
   ;;; as an enumerated constant.
   (defun get-enum (value &optional (count (query-enum-size value)))
     (let ((result (get-integer value count)))
       (if (vectorp result)
  -        (map 'vector (lambda (x) (foreign-enum-keyword '%gl:enum x)) result)
  -        (foreign-enum-keyword '%gl:enum result))))
  +        (map 'vector #'try-to-parse-enum result)
  +        (try-to-parse-enum result))))
   
   ;;; generic get that handles type and number of values for known enums
   ;;; fixme: better name?
  
positive.code:     (:depth-clear-value :float 1)
      (:stencil-clear-value :integer 1)
      (:accum-clear-value :float 4)
  ;;    (:draw-framebuffer-binding :integer 1)
      (:read-framebuffer-binding :integer 1)
      (:draw-buffer   :enum 1)
      (:draw-buffer0  :enum 1)
  
negative.code:     (:draw-buffer13 :enum 1)
      (:draw-buffer14 :enum 1)
      (:draw-buffer15 :enum 1)
      (:read-buffer   :enum 1)
      (:renderbuffer-binding :integer 1)
      (:unpack-swap-bytes :boolean 1)
  