help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

What is the type of user input?


From: Hattuari
Subject: What is the type of user input?
Date: Wed, 27 Oct 2004 06:51:11 -0400
User-agent: KNode/0.8.1

The following code demonstrates the problem I'm having:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; create a property list and use it to map long strings
;; to short strings
(setq paste-gl-type-map ())

(setq paste-gl-type-map (plist-put paste-gl-type-map 'GLbyte     'b))
(setq paste-gl-type-map (plist-put paste-gl-type-map 'GLshort    's))
(setq paste-gl-type-map (plist-put paste-gl-type-map 'GLint      'i))

;;...

(plist-get paste-gl-type-map 'GLbyte) ;; test function call


(defun paste-gl-array(gl-type gl-components gl-vector)
  "Map OpenGL types to corresponding sufixes.(GL\'type\' )"
  (interactive "sType: \nnNumber 1 to 4: \nsVector: ")
  (message " gl-type=%s, gl-components=%d, gl-vector=%s , suffix=%s"
           gl-type gl-components gl-vector
           (plist-get paste-gl-type-map gl-type))
  
  )
;; end of application code
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

When I use the code by first `M-x eval-buffer' and then `M-x
paste-gl-array<RET>GLbyte<RET>4<RET>v<RET>', the result is a message
displayed in the echo area as follows:

gl-type=GLbyte, gl-components=4, gl-vector=v , suffix=nil

Notice that gl-type is displayed with the value I entered in the minibuffer
when it is passed to the first %s in the message string.  It seems not to
be treated as a string when passed to plist-get, hence the 'suffix=nil'.

OTOH, when I evaluate this expression in an emacs-lisp buffer
(paste-gl-array 'GLbyte 4 'v), I see the following in the echo area:

gl-type=GLbyte, gl-components=4, gl-vector=v , suffix=b

That is the desired result.  Why is this not the result of calling the
function as an interactive command as described above?

I will continue to look for an answer in the documentation, but any help
from someone who knows the answer would be appreciated.
-- 
p->m == (*p).m == p[0].m


reply via email to

[Prev in Thread] Current Thread [Next in Thread]