;ELC   
;;; compiled by cthomp@willow on Thu Oct 28 19:09:29 1993
;;; from file /era/era-update/editor/lisp/tooltalk/tooltalk-macros.el
;;; emacs version 19.9 Lucid.
;;; bytecomp version 2.18; 28-aug-93.
;;; optimization is on.
;;; this file uses opcodes which do not exist in Emacs 18.

(if (and (boundp 'emacs-version)
	 (or (and (boundp 'epoch::version) epoch::version)
	     (string-lessp emacs-version "19")))
    (error "This file was compiled for Emacs 19."))

(fset 'destructuring-bind-tooltalk-message '(macro . #[(variables args-count message &rest body) "\n	GÇÉ\nÉÉÉÉÏÐEDB	«Ö	@\n	A\nÉ=«‡Tªi\n<«\n@\nA@ª‡\nÑTÏÒš«ƒÓªÔFÕÖEEDBª'×ŸD¤.\n‡" [variables var-list args-count nargs message msg length -1 n nil var-item var type request bindings get-tooltalk-message-attribute 'args_count "string" "int" 'arg_ival 'arg_val if < let* body] 5 "\

arglist: (variables args-count message &rest body)

Binds VARIABLES to the ARG_VALs and ARG_IVALs of MESSAGE, 
starting from N = 0, and executes BODY in that context.
Binds actual number of message args to ARGS-COUNT.  

VARIABLES is a list of local variables to bind.  
Each item in VARIABLES is either nil, a symbol, or a list of the form:

	(symbol type)

If the item is nil, the nth ARG_VAL or ARG_IVAL of MESSAGE is skipped.
If the item is a symbol, the nth ARG_VAL of MESSAGE is bound.
If the item is a list
	If type =  \"int\" the nth ARG_IVAL of MESSAGE is bound,
	otherwise the nth ARG_VAL of MESSAGE is bound.

If there are more items than actual arguments in MESSAGE, the extra
items are bound to nil.

For example,

(destructuring-bind-tooltalk-message (a (b \"int\") nil d) foo msg
  x y z)

expands to

(let* ((foo (get-tooltalk-message-attribute msg 'args_count))
       (a (if (< 0 foo)
	      (get-tooltalk-message-attribute msg 'arg_val 0)))
       (b (if (< 1 foo) 
	      (get-tooltalk-message-attribute msg 'arg_val 1)))
       (d (if (< 3 foo)
	      (get-tooltalk-message-attribute msg 'arg_val 3))))
  x y z)

See GET-TOOLTALK-MESSAGE-ATTRIBUTE for more information.
"]))
