Hi, Leo Prikler <leo.prik...@student.tugraz.at> skribis:
>> > diff --git a/gnu/system/shadow.scm b/gnu/system/shadow.scm >> > index 0538fb1a24..7c57222716 100644 >> > --- a/gnu/system/shadow.scm >> > +++ b/gnu/system/shadow.scm >> > @@ -321,13 +321,13 @@ of user '~a' is undeclared") >> > <user-group> objects. Raise an error if a user account refers to >> > a undefined >> > group." >> > (define accounts >> > - (filter user-account? accounts+groups)) >> > + (delete-duplicates (filter user-account? accounts+groups) >> > eq?)) >> > >> > (define user-specs >> > (map user-account->gexp accounts)) >> > >> > (define groups >> > - (filter user-group? accounts+groups)) >> > + (delete-duplicates (filter user-group? accounts+groups) eq?)) >> >> Why use ‘eq?’? I’d use ‘equal?’, but note that <user-account> >> records >> cannot necessarily be compared with ‘equal?’ because of the thunked >> ‘home-directory’ field (‘equal?’ is meaningless for procedures). > My personal reasoning (and perhaps a rather strong opinion) is, that it > is an error to add duplicate users even if they happen to be equal?. > eq? is only provided as a way out for the specific case of services, > that need to do so for safety reasons – e.g. cups to not allow > overriding of the lp group if it has been removed from the OS groups > for whichever reason. Ah I see, makes sense to me! Thanks, Ludo’.