chiark
/
gitweb
/
~mdw
/
clg
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
2ef4e4c
)
QUERY-ENUM-VALUES can now return C names
author
espen
<espen>
Tue, 5 Sep 2006 13:20:08 +0000
(13:20 +0000)
committer
espen
<espen>
Tue, 5 Sep 2006 13:20:08 +0000
(13:20 +0000)
glib/genums.lisp
patch
|
blob
|
blame
|
history
diff --git
a/glib/genums.lisp
b/glib/genums.lisp
index 135cc2dee99262715856b6e17934d6f1e39b4ad7..af910bd171a02f69a6cf58d4d7e3e850c7d45903 100644
(file)
--- a/
glib/genums.lisp
+++ b/
glib/genums.lisp
@@
-20,7
+20,7
@@
;; TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
;; SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
;; 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.2
0 2006-04-25 21:59:37
espen Exp $
+;; $Id: genums.lisp,v 1.2
1 2006-09-05 13:20:08
espen Exp $
(in-package "GLIB")
(in-package "GLIB")
@@
-33,12
+33,14
@@
(defclass enum-value (struct)
(nickname :allocation :alien :type string))
(:metaclass struct-class)))
(nickname :allocation :alien :type string))
(:metaclass struct-class)))
-(defun map-enum-values (values)
+(defun map-enum-values (values
symbolic-p
)
(map 'list
#'(lambda (enum-value)
(map 'list
#'(lambda (enum-value)
- (with-slots (nickname value) enum-value
+ (with-slots (nickname
name
value) enum-value
(list
(list
- (intern (substitute #\- #\_ (string-upcase nickname)) "KEYWORD")
+ (if symbolic-p
+ (intern (substitute #\- #\_ (string-upcase nickname)) "KEYWORD")
+ name)
value)))
values))
value)))
values))
@@
-50,11
+52,12
@@
(defbinding flags-class-values () (static (vector (inlined enum-value) n-values)
(class pointer)
(n-values unsigned-int :out))
(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)
(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))
(defun expand-enum-type (type-number forward-p options)
(declare (ignore forward-p))