anchor.diff:    (class pointer)
     (n-values unsigned-int :out))
   
  -(defun query-enum-values (type)
  +(defun query-enum-values (type &optional (symbolic-p t))
     (let ((class (type-class-ref type)))
       (map-enum-values (if (eq (supertype type) 'enum)
   			 (enum-class-values class)
  -		       (flags-class-values class)))))
  +		       (flags-class-values class))
  +		     symbolic-p)))
   
   (defun expand-enum-type (type-number forward-p options)
     (declare (ignore forward-p))
  
positive.code:      (nickname :allocation :alien :type string))
      (:metaclass struct-class)))
  
  (defun map-enum-values (values)
    (map 'list 
     #'(lambda (enum-value)
         (with-slots (nickname value) enum-value
           (list
  	  (intern (substitute #\- #\_ (string-upcase nickname)) "KEYWORD")
  	  value)))
     values))
  
  
negative.code: ;; TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
  ;; SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  
  ;; $Id: genums.lisp,v 1.21 2006-09-05 13:20:08 espen Exp $
  
  (in-package "GLIB")
    
  