¿Cómo se asegura de que una lista de asociación mantenga claves únicas en Emacs?

Dada la frecuencia con la que se agregan claves a listas de asociación comoauto-mode-alist, Supongo que hay algún método idiomático para mantener listas de asociación con claves únicas, pero aún no lo he encontrado.

Digamos que ejecuto lo siguiente:

(setq alist '())
(add-to-list 'alist '(a . 1))
(add-to-list 'alist '(a . 2))
(add-to-list 'alist '(b . 3))

Después de ejecutar eso, alist contiene((b . 3) (a . 2) (a . 1)). veo queadd-to-list puede tomar un opcionalcompare-fn, así que supongo que hay algún método que podría pasar para obtener((b . 3) (a . 1)) como el resultado. También sé que podría usar tablas hash para esto, pero tenía curiosidad por cómo hacerlo de forma idiomática con una lista de asociación.

Respuestas a la pregunta(2)

Su respuesta a la pregunta