[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: What is the type of user input?
From: |
Hattuari |
Subject: |
Re: What is the type of user input? |
Date: |
Thu, 28 Oct 2004 08:34:54 -0400 |
User-agent: |
KNode/0.8.1 |
Kevin Rodgers wrote:
> Hattuari wrote:
> > 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-ty
...
> gl-type is a string. Since the paste-gl-type-map property list is keyed
> by symbols, plist-get returns nil.
That's what I was missing. I was assuming that 'symbol-name implicitly
meant symbol would evaluate to a string. Now that I've read the first
several chapters of the Elisp Reference Manual, I have a better idea of
what's going on.
> The %s message specifier can be
> applied to any Lisp object, and symbols and strings are formatted the
> same.
>
> The solution is to either (1) read gl-type with the %S code or (2) call
> plist-get with (intern gl-type).
I opted for trying an association array, which also worked. I will try your
suggestion of using (intern gl-type). As for reading gl-type with %S, I'm
not sure what that would do for me. The only use I know for that is to use
it in a string format.
> > 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.
>
> It's not that hard to find:
>
> `C-h f message' has a link to the doc string for `format', which has a
> link to the doc string for `princ' in its description of %s:
>
> ,----[ C-h f princ RET ]
> | princ is a built-in function.
> | (princ OBJECT &optional PRINTCHARFUN)
> |
> | Output the printed representation of OBJECT, any Lisp object.
> | No quoting characters are used; no delimiters are printed around
> | the contents of strings.
> |
> | OBJECT is any of the Lisp data types: a number, a string, a symbol,
> | a list, a buffer, a window, a frame, etc.
> |
> | A printed representation of an object is text which describes that
> | object.
> ...`----
That doesn't tell me anything that I see as addressing my problem. Can you
explain how that answers my question as to why the two symbols were not
comparing as I had expected?
(type-of gl-type) was what showed me what I was doing wrong. I tried to
post back to the newsgroup, but my ISP was down.
--
p->m == (*p).m == p[0].m