/[cmucl]/src/clx/macros.lisp
ViewVC logotype

Diff of /src/clx/macros.lisp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.6 by pw, Tue Mar 16 23:37:44 1999 UTC revision 1.7 by fgilham, Tue Aug 21 15:49:28 2007 UTC
# Line 15  Line 15 
15  ;;; Texas Instruments Incorporated provides this software "as is" without  ;;; Texas Instruments Incorporated provides this software "as is" without
16  ;;; express or implied warranty.  ;;; express or implied warranty.
17  ;;;  ;;;
 #+cmu  
 (ext:file-comment  
   "$Header$")  
18    
19  ;;; CLX basicly implements a very low overhead remote procedure call  ;;; CLX basically implements a very low overhead remote procedure call
20  ;;; to the server.  This file contains macros which generate the code  ;;; to the server.  This file contains macros which generate the code
21  ;;; for both the client AND the server, given a specification of the  ;;; for both the client AND the server, given a specification of the
22  ;;; interface. This was done to eliminate errors that may occur because  ;;; interface. This was done to eliminate errors that may occur because
# Line 28  Line 25 
25    
26  ;;; This is built on top of BUFFER  ;;; This is built on top of BUFFER
27    
28    #+cmu
29    (ext:file-comment "$Id$")
30    
31  (in-package :xlib)  (in-package :xlib)
32    
33    (defmacro type-check (value type)
34      value type
35      (when +type-check?+
36        `(unless (type? ,value ,type)
37           (x-type-error ,value ,type))))
38    
39  ;;; This variable is used by the required-arg macro just to satisfy compilers.  ;;; This variable is used by the required-arg macro just to satisfy compilers.
40  (defvar *required-arg-dummy*)  (defvar *required-arg-dummy*)
41    
# Line 66  Line 72 
72          (error "~s isn't a known field accessor" name)))          (error "~s isn't a known field accessor" name)))
73      increment))      increment))
74    
75  (eval-when (eval compile load)  (eval-when (:compile-toplevel :load-toplevel :execute)
76  (defun getify (name)  (defun getify (name)
77    (xintern name '-get))    (xintern name '-get))
78    
79  (defun putify (name &optional predicate-p)  (defun putify (name &optional predicate-p)
80    (xintern name '-put (if predicate-p '-predicating "")))    (xintern name '-put (if predicate-p '-predicating "")))
81    
82                                          ;; Use &body so zmacs indents properly  ;;; Use &body so zmacs indents properly
83  (defmacro define-accessor (name (width) &body get-put-macros)  (defmacro define-accessor (name (width) &body get-put-macros)
84    ;; The first body form defines the get macro    ;; The first body form defines the get macro
85    ;; The second body form defines the put macro    ;; The second body form defines the put macro
# Line 93  Line 99 
99           ,@(cdr get-macro))           ,@(cdr get-macro))
100         (defmacro ,(putify name) ,(car put-macro)         (defmacro ,(putify name) ,(car put-macro)
101           ,@(cdr put-macro))           ,@(cdr put-macro))
102         ,@(when *type-check?*         ,@(when +type-check?+
103             (let ((predicating-put (third get-put-macros)))             (let ((predicating-put (third get-put-macros)))
104               (when predicating-put               (when predicating-put
105                 `((setf (get ',name 'predicating-put) t)                 `((setf (get ',name 'predicating-put) t)
# Line 225  Line 231 
231          (svref ',(apply #'vector keywords) ,value))))          (svref ',(apply #'vector keywords) ,value))))
232    ((index thing &rest keywords)    ((index thing &rest keywords)
233     `(write-card8 ,index (position ,thing     `(write-card8 ,index (position ,thing
234                                    (the simple-vector ',(apply #'vector keywords))                                    #+lispm ',keywords ;; Lispm's prefer lists
235                                      #-lispm (the simple-vector ',(apply #'vector keywords))
236                                    :test #'eq)))                                    :test #'eq)))
237    ((index thing &rest keywords)    ((index thing &rest keywords)
238     (let ((value (gensym)))     (let ((value (gensym)))
239       `(let ((,value (position ,thing       `(let ((,value (position ,thing
240                                (the simple-vector ',(apply #'vector keywords))                                #+lispm ',keywords
241                                  #-lispm (the simple-vector ',(apply #'vector keywords))
242                                :test #'eq)))                                :test #'eq)))
243          (and ,value (write-card8 ,index ,value))))))          (and ,value (write-card8 ,index ,value))))))
244    
# Line 243  Line 251 
251          (svref ',(apply #'vector keywords) ,value))))          (svref ',(apply #'vector keywords) ,value))))
252    ((index thing &rest keywords)    ((index thing &rest keywords)
253     `(write-card16 ,index (position ,thing     `(write-card16 ,index (position ,thing
254                                     (the simple-vector ',(apply #'vector keywords))                                     #+lispm ',keywords ;; Lispm's prefer lists
255                                       #-lispm (the simple-vector ',(apply #'vector keywords))
256                                     :test #'eq)))                                     :test #'eq)))
257    ((index thing &rest keywords)    ((index thing &rest keywords)
258     (let ((value (gensym)))     (let ((value (gensym)))
259       `(let ((,value (position ,thing       `(let ((,value (position ,thing
260                                (the simple-vector ',(apply #'vector keywords))                                #+lispm ',keywords
261                                  #-lispm (the simple-vector ',(apply #'vector keywords))
262                                :test #'eq)))                                :test #'eq)))
263          (and ,value (write-card16 ,index ,value))))))          (and ,value (write-card16 ,index ,value))))))
264    
# Line 261  Line 271 
271          (svref ',(apply #'vector keywords) ,value))))          (svref ',(apply #'vector keywords) ,value))))
272    ((index thing &rest keywords)    ((index thing &rest keywords)
273     `(write-card29 ,index (position ,thing     `(write-card29 ,index (position ,thing
274                                     (the simple-vector ',(apply #'vector keywords))                                     #+lispm ',keywords ;; Lispm's prefer lists
275                                       #-lispm (the simple-vector ',(apply #'vector keywords))
276                                     :test #'eq)))                                     :test #'eq)))
277    ((index thing &rest keywords)    ((index thing &rest keywords)
278     (if (cdr keywords) ;; IF more than one     (if (cdr keywords) ;; IF more than one
279         (let ((value (gensym)))         (let ((value (gensym)))
280           `(let ((,value (position ,thing           `(let ((,value (position ,thing
281                                    (the simple-vector ',(apply #'vector keywords))                                    #+lispm ',keywords
282                                      #-lispm (the simple-vector ',(apply #'vector keywords))
283                                    :test #'eq)))                                    :test #'eq)))
284              (and ,value (write-card29 ,index ,value))))              (and ,value (write-card29 ,index ,value))))
285         `(and (eq ,thing ,(car keywords)) (write-card29 ,index 0)))))         `(and (eq ,thing ,(car keywords)) (write-card29 ,index 0)))))
# Line 303  Line 315 
315    ((index)    ((index)
316     (let ((value (gensym)))     (let ((value (gensym)))
317       `(let ((,value (read-card29 ,index)))       `(let ((,value (read-card29 ,index)))
318          (declare (type (integer 0 (,(length *boole-vector*))) ,value))          (declare (type (integer 0 (,(length +boole-vector+))) ,value))
319          (type-check ,value '(integer 0 (,(length *boole-vector*))))          (type-check ,value '(integer 0 (,(length +boole-vector+))))
320          (svref *boole-vector* ,value))))          (svref +boole-vector+ ,value))))
321    ((index thing)    ((index thing)
322     `(write-card29 ,index (position ,thing (the simple-vector *boole-vector*))))     `(write-card29 ,index (position ,thing (the simple-vector +boole-vector+))))
323    ((index thing)    ((index thing)
324     (let ((value (gensym)))     (let ((value (gensym)))
325       `(let ((,value (position ,thing (the simple-vector *boole-vector*))))       `(let ((,value (position ,thing (the simple-vector +boole-vector+))))
326          (and ,value (write-card29 ,index ,value))))))          (and ,value (write-card29 ,index ,value))))))
327    
328  (define-accessor null (32)  (define-accessor null (32)
# Line 506  Line 518 
518          (result))          (result))
519         ((endp types)         ((endp types)
520          `(cond ,@(nreverse result)          `(cond ,@(nreverse result)
521                 ,@(when *type-check?*                 ,@(when +type-check?+
522                     `((t (x-type-error ,value '(or ,@type-list)))))))                     `((t (x-type-error ,value '(or ,@type-list)))))))
523       (let* ((type (car types))       (let* ((type (car types))
524              (type-name type)              (type-name type)
# Line 516  Line 528 
528                 type-name (car type)))                 type-name (car type)))
529         (push         (push
530           `(,@(cond ((get type-name 'predicating-put) nil)           `(,@(cond ((get type-name 'predicating-put) nil)
531                     ((or *type-check?* (cdr types)) `((type? ,value ',type)))                     ((or +type-check?+ (cdr types)) `((type? ,value ',type)))
532                     (t '(t)))                     (t '(t)))
533             (,(putify type-name (get type-name 'predicating-put)) ,index ,value ,@args))             (,(putify type-name (get type-name 'predicating-put)) ,index ,value ,@args))
534           result)))))           result)))))
# Line 531  Line 543 
543    
544  (defun mask-get (index type-values body-function)  (defun mask-get (index type-values body-function)
545    (declare (type function body-function)    (declare (type function body-function)
546             (dynamic-extent body-function))             #+clx-ansi-common-lisp
547               (dynamic-extent body-function)
548               #+(and lispm (not clx-ansi-common-lisp))
549               (sys:downward-funarg body-function))
550    ;; This is a function, because it must return more than one form (called by get-put-items)    ;; This is a function, because it must return more than one form (called by get-put-items)
551    ;; Functions that use this must have a binding for %MASK    ;; Functions that use this must have a binding for %MASK
552    (let* ((bit 0)    (let* ((bit 0)
# Line 562  Line 577 
577    
578  (defun mask-put (index type-values body-function)  (defun mask-put (index type-values body-function)
579    (declare (type function body-function)    (declare (type function body-function)
580             (dynamic-extent body-function))             #+clx-ansi-common-lisp
581               (dynamic-extent body-function)
582               #+(and lispm (not clx-ansi-common-lisp))
583               (sys:downward-funarg body-function))
584    ;; The MASK type writes a 32 bit mask with 1 bits for each non-nil value in TYPE-VALUES    ;; The MASK type writes a 32 bit mask with 1 bits for each non-nil value in TYPE-VALUES
585    ;; A 32 bit value follows for each non-nil value.    ;; A 32 bit value follows for each non-nil value.
586    `((let ((%mask 0)    `((let ((%mask 0)
# Line 596  Line 614 
614  ;  ;
615  ; Wrapper macros, for use around the above  ; Wrapper macros, for use around the above
616  ;  ;
617  (defmacro type-check (value type)  
618    value type  ;;; type-check was here, and has been moved up
   (when *type-check?*  
     `(unless (type? ,value ,type)  
        (x-type-error ,value ,type))))  
619    
620  (defmacro check-put (index value type &rest args &environment env)  (defmacro check-put (index value type &rest args &environment env)
621    (let* ((var (if (or (symbolp value) (constantp value)) value '.value.))    (let* ((var (if (or (symbolp value) (constantp value)) value '.value.))
# Line 623  Line 638 
638    
639  (defun get-put-items (index type-args putp &optional body-function)  (defun get-put-items (index type-args putp &optional body-function)
640    (declare (type (or null function) body-function)    (declare (type (or null function) body-function)
641             (dynamic-extent body-function))             #+clx-ansi-common-lisp
642               (dynamic-extent body-function)
643               #+(and lispm (not clx-ansi-common-lisp))
644               (sys:downward-funarg body-function))
645    ;; Given a lists of the form (type item item ... item)    ;; Given a lists of the form (type item item ... item)
646    ;; Calls body-function with four arguments, a function name,    ;; Calls body-function with four arguments, a function name,
647    ;; index, item name, and optional arguments.    ;; index, item name, and optional arguments.
# Line 673  Line 691 
691             &body type-args)             &body type-args)
692    (multiple-value-bind (code index item-sizes)    (multiple-value-bind (code index item-sizes)
693        (get-put-items 4 type-args t)        (get-put-items 4 type-args t)
694      (let ((length (if length `(index+ ,length *requestsize*) '*requestsize*))      (let ((length (if length `(index+ ,length +requestsize+) '+requestsize+))
695            (sizes (remove-duplicates (append '(8 16) item-sizes sizes))))            (sizes (remove-duplicates (append '(8 16) item-sizes sizes))))
696        `(with-buffer-output (,buffer :length ,length :sizes ,sizes)        `(with-buffer-output (,buffer :length ,length :sizes ,sizes)
697           (setf (buffer-last-request ,buffer) buffer-boffset)           (setf (buffer-last-request ,buffer) buffer-boffset)
# Line 693  Line 711 
711                  (declare (type display .display.))                  (declare (type display .display.))
712                  (with-buffer-request-internal (.display. ,opcode ,@options)                  (with-buffer-request-internal (.display. ,opcode ,@options)
713                    ,@type-args)))                    ,@type-args)))
714             #+clx-ansi-common-lisp
715           (declare (dynamic-extent #'.request-body.))           (declare (dynamic-extent #'.request-body.))
716           (,(if (eq (car (macroexpand '(with-buffer (buffer)) env)) 'progn)           (,(if (eq (car (macroexpand '(with-buffer (buffer)) env)) 'progn)
717                 'with-buffer-request-function-nolock                 'with-buffer-request-function-nolock
# Line 732  Line 751 
751                             (type reply-buffer .reply-buffer.))                             (type reply-buffer .reply-buffer.))
752                    (progn .display. .reply-buffer. nil)                    (progn .display. .reply-buffer. nil)
753                    ,reply-body))                    ,reply-body))
754               #+clx-ansi-common-lisp
755             (declare (dynamic-extent #'.request-body. #'.reply-body.))             (declare (dynamic-extent #'.request-body. #'.reply-body.))
756             (with-buffer-request-and-reply-function             (with-buffer-request-and-reply-function
757               ,buffer ,multiple-reply #'.request-body. #'.reply-body.))               ,buffer ,multiple-reply #'.request-body. #'.reply-body.))
# Line 817  Line 837 
837  ;;; Request codes  ;;; Request codes
838  ;;;  ;;;
839    
840  (defconstant *x-createwindow*                  1)  (defconstant +x-createwindow+                  1)
841  (defconstant *x-changewindowattributes*        2)  (defconstant +x-changewindowattributes+        2)
842  (defconstant *x-getwindowattributes*           3)  (defconstant +x-getwindowattributes+           3)
843  (defconstant *x-destroywindow*                 4)  (defconstant +x-destroywindow+                 4)
844  (defconstant *x-destroysubwindows*             5)  (defconstant +x-destroysubwindows+             5)
845  (defconstant *x-changesaveset*                 6)  (defconstant +x-changesaveset+                 6)
846  (defconstant *x-reparentwindow*                7)  (defconstant +x-reparentwindow+                7)
847  (defconstant *x-mapwindow*                     8)  (defconstant +x-mapwindow+                     8)
848  (defconstant *x-mapsubwindows*                 9)  (defconstant +x-mapsubwindows+                 9)
849  (defconstant *x-unmapwindow*                  10)  (defconstant +x-unmapwindow+                  10)
850  (defconstant *x-unmapsubwindows*              11)  (defconstant +x-unmapsubwindows+              11)
851  (defconstant *x-configurewindow*              12)  (defconstant +x-configurewindow+              12)
852  (defconstant *x-circulatewindow*              13)  (defconstant +x-circulatewindow+              13)
853  (defconstant *x-getgeometry*                  14)  (defconstant +x-getgeometry+                  14)
854  (defconstant *x-querytree*                    15)  (defconstant +x-querytree+                    15)
855  (defconstant *x-internatom*                   16)  (defconstant +x-internatom+                   16)
856  (defconstant *x-getatomname*                  17)  (defconstant +x-getatomname+                  17)
857  (defconstant *x-changeproperty*               18)  (defconstant +x-changeproperty+               18)
858  (defconstant *x-deleteproperty*               19)  (defconstant +x-deleteproperty+               19)
859  (defconstant *x-getproperty*                  20)  (defconstant +x-getproperty+                  20)
860  (defconstant *x-listproperties*               21)  (defconstant +x-listproperties+               21)
861  (defconstant *x-setselectionowner*            22)  (defconstant +x-setselectionowner+            22)
862  (defconstant *x-getselectionowner*            23)  (defconstant +x-getselectionowner+            23)
863  (defconstant *x-convertselection*             24)  (defconstant +x-convertselection+             24)
864  (defconstant *x-sendevent*                    25)  (defconstant +x-sendevent+                    25)
865  (defconstant *x-grabpointer*                  26)  (defconstant +x-grabpointer+                  26)
866  (defconstant *x-ungrabpointer*                27)  (defconstant +x-ungrabpointer+                27)
867  (defconstant *x-grabbutton*                   28)  (defconstant +x-grabbutton+                   28)
868  (defconstant *x-ungrabbutton*                 29)  (defconstant +x-ungrabbutton+                 29)
869  (defconstant *x-changeactivepointergrab*      30)  (defconstant +x-changeactivepointergrab+      30)
870  (defconstant *x-grabkeyboard*                 31)  (defconstant +x-grabkeyboard+                 31)
871  (defconstant *x-ungrabkeyboard*               32)  (defconstant +x-ungrabkeyboard+               32)
872  (defconstant *x-grabkey*                      33)  (defconstant +x-grabkey+                      33)
873  (defconstant *x-ungrabkey*                    34)  (defconstant +x-ungrabkey+                    34)
874  (defconstant *x-allowevents*                  35)  (defconstant +x-allowevents+                  35)
875  (defconstant *x-grabserver*                   36)  (defconstant +x-grabserver+                   36)
876  (defconstant *x-ungrabserver*                 37)  (defconstant +x-ungrabserver+                 37)
877  (defconstant *x-querypointer*                 38)  (defconstant +x-querypointer+                 38)
878  (defconstant *x-getmotionevents*              39)  (defconstant +x-getmotionevents+              39)
879  (defconstant *x-translatecoords*              40)  (defconstant +x-translatecoords+              40)
880  (defconstant *x-warppointer*                  41)  (defconstant +x-warppointer+                  41)
881  (defconstant *x-setinputfocus*                42)  (defconstant +x-setinputfocus+                42)
882  (defconstant *x-getinputfocus*                43)  (defconstant +x-getinputfocus+                43)
883  (defconstant *x-querykeymap*                  44)  (defconstant +x-querykeymap+                  44)
884  (defconstant *x-openfont*                     45)  (defconstant +x-openfont+                     45)
885  (defconstant *x-closefont*                    46)  (defconstant +x-closefont+                    46)
886  (defconstant *x-queryfont*                    47)  (defconstant +x-queryfont+                    47)
887  (defconstant *x-querytextextents*             48)  (defconstant +x-querytextextents+             48)
888  (defconstant *x-listfonts*                    49)  (defconstant +x-listfonts+                    49)
889  (defconstant *x-listfontswithinfo*            50)  (defconstant +x-listfontswithinfo+            50)
890  (defconstant *x-setfontpath*                  51)  (defconstant +x-setfontpath+                  51)
891  (defconstant *x-getfontpath*                  52)  (defconstant +x-getfontpath+                  52)
892  (defconstant *x-createpixmap*                 53)  (defconstant +x-createpixmap+                 53)
893  (defconstant *x-freepixmap*                   54)  (defconstant +x-freepixmap+                   54)
894  (defconstant *x-creategc*                     55)  (defconstant +x-creategc+                     55)
895  (defconstant *x-changegc*                     56)  (defconstant +x-changegc+                     56)
896  (defconstant *x-copygc*                       57)  (defconstant +x-copygc+                       57)
897  (defconstant *x-setdashes*                    58)  (defconstant +x-setdashes+                    58)
898  (defconstant *x-setcliprectangles*            59)  (defconstant +x-setcliprectangles+            59)
899  (defconstant *x-freegc*                       60)  (defconstant +x-freegc+                       60)
900  (defconstant *x-cleartobackground*            61)  (defconstant +x-cleartobackground+            61)
901  (defconstant *x-copyarea*                     62)  (defconstant +x-copyarea+                     62)
902  (defconstant *x-copyplane*                    63)  (defconstant +x-copyplane+                    63)
903  (defconstant *x-polypoint*                    64)  (defconstant +x-polypoint+                    64)
904  (defconstant *x-polyline*                     65)  (defconstant +x-polyline+                     65)
905  (defconstant *x-polysegment*                  66)  (defconstant +x-polysegment+                  66)
906  (defconstant *x-polyrectangle*                67)  (defconstant +x-polyrectangle+                67)
907  (defconstant *x-polyarc*                      68)  (defconstant +x-polyarc+                      68)
908  (defconstant *x-fillpoly*                     69)  (defconstant +x-fillpoly+                     69)
909  (defconstant *x-polyfillrectangle*            70)  (defconstant +x-polyfillrectangle+            70)
910  (defconstant *x-polyfillarc*                  71)  (defconstant +x-polyfillarc+                  71)
911  (defconstant *x-putimage*                     72)  (defconstant +x-putimage+                     72)
912  (defconstant *x-getimage*                     73)  (defconstant +x-getimage+                     73)
913  (defconstant *x-polytext8*                    74)  (defconstant +x-polytext8+                    74)
914  (defconstant *x-polytext16*                   75)  (defconstant +x-polytext16+                   75)
915  (defconstant *x-imagetext8*                   76)  (defconstant +x-imagetext8+                   76)
916  (defconstant *x-imagetext16*                  77)  (defconstant +x-imagetext16+                  77)
917  (defconstant *x-createcolormap*               78)  (defconstant +x-createcolormap+               78)
918  (defconstant *x-freecolormap*                 79)  (defconstant +x-freecolormap+                 79)
919  (defconstant *x-copycolormapandfree*          80)  (defconstant +x-copycolormapandfree+          80)
920  (defconstant *x-installcolormap*              81)  (defconstant +x-installcolormap+              81)
921  (defconstant *x-uninstallcolormap*            82)  (defconstant +x-uninstallcolormap+            82)
922  (defconstant *x-listinstalledcolormaps*       83)  (defconstant +x-listinstalledcolormaps+       83)
923  (defconstant *x-alloccolor*                   84)  (defconstant +x-alloccolor+                   84)
924  (defconstant *x-allocnamedcolor*              85)  (defconstant +x-allocnamedcolor+              85)
925  (defconstant *x-alloccolorcells*              86)  (defconstant +x-alloccolorcells+              86)
926  (defconstant *x-alloccolorplanes*             87)  (defconstant +x-alloccolorplanes+             87)
927  (defconstant *x-freecolors*                   88)  (defconstant +x-freecolors+                   88)
928  (defconstant *x-storecolors*                  89)  (defconstant +x-storecolors+                  89)
929  (defconstant *x-storenamedcolor*              90)  (defconstant +x-storenamedcolor+              90)
930  (defconstant *x-querycolors*                  91)  (defconstant +x-querycolors+                  91)
931  (defconstant *x-lookupcolor*                  92)  (defconstant +x-lookupcolor+                  92)
932  (defconstant *x-createcursor*                 93)  (defconstant +x-createcursor+                 93)
933  (defconstant *x-createglyphcursor*            94)  (defconstant +x-createglyphcursor+            94)
934  (defconstant *x-freecursor*                   95)  (defconstant +x-freecursor+                   95)
935  (defconstant *x-recolorcursor*                96)  (defconstant +x-recolorcursor+                96)
936  (defconstant *x-querybestsize*                97)  (defconstant +x-querybestsize+                97)
937  (defconstant *x-queryextension*               98)  (defconstant +x-queryextension+               98)
938  (defconstant *x-listextensions*               99)  (defconstant +x-listextensions+               99)
939  (defconstant *x-setkeyboardmapping*           100)  (defconstant +x-setkeyboardmapping+           100)
940  (defconstant *x-getkeyboardmapping*           101)  (defconstant +x-getkeyboardmapping+           101)
941  (defconstant *x-changekeyboardcontrol*        102)  (defconstant +x-changekeyboardcontrol+        102)
942  (defconstant *x-getkeyboardcontrol*           103)  (defconstant +x-getkeyboardcontrol+           103)
943  (defconstant *x-bell*                         104)  (defconstant +x-bell+                         104)
944  (defconstant *x-changepointercontrol*         105)  (defconstant +x-changepointercontrol+         105)
945  (defconstant *x-getpointercontrol*            106)  (defconstant +x-getpointercontrol+            106)
946  (defconstant *x-setscreensaver*               107)  (defconstant +x-setscreensaver+               107)
947  (defconstant *x-getscreensaver*               108)  (defconstant +x-getscreensaver+               108)
948  (defconstant *x-changehosts*                  109)  (defconstant +x-changehosts+                  109)
949  (defconstant *x-listhosts*                    110)  (defconstant +x-listhosts+                    110)
950  (defconstant *x-changeaccesscontrol*          111)  (defconstant +x-changeaccesscontrol+          111)
951  (defconstant *x-changeclosedownmode*          112)  (defconstant +x-changeclosedownmode+          112)
952  (defconstant *x-killclient*                   113)  (defconstant +x-killclient+                   113)
953  (defconstant *x-rotateproperties*             114)  (defconstant +x-rotateproperties+             114)
954  (defconstant *x-forcescreensaver*             115)  (defconstant +x-forcescreensaver+             115)
955  (defconstant *x-setpointermapping*            116)  (defconstant +x-setpointermapping+            116)
956  (defconstant *x-getpointermapping*            117)  (defconstant +x-getpointermapping+            117)
957  (defconstant *x-setmodifiermapping*           118)  (defconstant +x-setmodifiermapping+           118)
958  (defconstant *x-getmodifiermapping*           119)  (defconstant +x-getmodifiermapping+           119)
959  (defconstant *x-nooperation*                  127)  (defconstant +x-nooperation+                  127)
960    
961  ;;; Some macros for threaded lists  ;;; Some macros for threaded lists
962    

Legend:
Removed from v.1.6  
changed lines
  Added in v.1.7

  ViewVC Help
Powered by ViewVC 1.1.5