Jeremy Hankins <no...@nowan.org> writes: > Christopher Roy Bratusek <n...@tuxfamily.org> writes: > >> You would need it for every GtkComboBox in SawfishConfig, to set the >> initial value, to what the user previously selected (or to what the >> default value is). > > Ah, ok. Then yeah, I think you are supposed to loop through. ;) I'm > not sure that rep really needs a position function -- in most cases it's > just going to encourage non-lispy lisp programming, I think. In those > situations where you need one just include something like this: > > (define (position item l) > (let loop ((rest l) > (i 0)) > (if (equal item (car rest)) > i > (loop (cdr rest) (1+ i))))) > > Perhaps equal should be eq, depending on how you're using it...?
Uh, make that: (define (position item l) (let loop ((rest l) (i 0)) (if (equal item (car rest)) i (if rest (loop (cdr rest) (1+ i)))))) So as to avoid those nasty infinite loops.... :P -- Jeremy Hankins <no...@nowan.org>