If you want to move around datas which belong together i recommend `defstruct'
which is in both Emacs and XEmacs available! It is a macro of the cl-package
so you can use it safely also with GNU Emacs ;-)

See the info-manual of `defstruct' - It#s in the cl-info-manual!

defstruct allows you to get and set slots via key-names so there are position
independed!


Does this help?
Klaus

On Tue, 26 Apr 2005, [EMAIL PROTECTED] wrote:

>  I'm writing a moderately complex Emacs package and not being a Lisp
>  guru I  wonder what is the best way to handle data structures in
>  Elisp. The  emphasis is not on efficiency, rather on readability.
>  
>  For example, from a function I want to return three values. How should
>  I  do this?
>  
>  Using a list? (Value1 Value2 Value3)?
>  
>  This has the disadvantage of storing specific values on specific
>  positions, so the caller must now the first element of the list is
>  Value1,  etc. And what if the return value is changed later and Value2
>  is not  returned anymore? Then I have to fix every invocation of the
>  function.
>  
>  Or maybe an association list? '((value1 . 3) (value2 . 4) (value3 . 5))
>  It's certainly more resistant to code changes, but feels a bit
>  heavyweight. (Maybe its just me.)
>  
>  Or is there an other Lispish way to handle structured data I don't
>  know  about?

-- 
Klaus Berndl                    mailto: [EMAIL PROTECTED]
sd&m AG                         http://www.sdm.de
software design & management    
Carl-Wery-Str. 42, 81739 Muenchen, Germany
Tel +49 89 63812-392, Fax -220
_______________________________________________
Help-gnu-emacs mailing list
Help-gnu-emacs@gnu.org
http://lists.gnu.org/mailman/listinfo/help-gnu-emacs

Reply via email to