Function: org-assign-fast-keys
org-assign-fast-keys is a byte-compiled function defined in org.el.gz.
Signature
(org-assign-fast-keys ALIST)
Documentation
Assign fast keys to a keyword-key alist.
Respect keys that are already there.
Source Code
;; Defined in /usr/src/emacs/lisp/org/org.el.gz
(defun org-assign-fast-keys (alist)
"Assign fast keys to a keyword-key alist.
Respect keys that are already there."
(let (new e (alt ?0))
(while (setq e (pop alist))
(if (or (memq (car e) '(:newline :grouptags :endgroup :startgroup))
(cdr e)) ;; Key already assigned.
(push e new)
(let ((clist (string-to-list (downcase (car e))))
(used (append new alist)))
(when (= (car clist) ?@)
(pop clist))
(while (and clist (rassoc (car clist) used))
(pop clist))
(unless clist
(while (rassoc alt used)
(cl-incf alt)))
(push (cons (car e) (or (car clist) alt)) new))))
(nreverse new)))