into a hook function that will be run only after loading the package.
`eval-after-load' provides one way to do this. In some cases
other hooks, such as major mode hooks, can do the job."
- (if (if compare-fn
- (let (present)
- (dolist (elt (symbol-value list-var))
- (if (funcall compare-fn element elt)
- (setq present t)))
- present)
- (member element (symbol-value list-var)))
+ (if (cond
+ ((eq compare-fn 'eq)
+ (memq element (symbol-value list-var)))
+ ((eq compare-fn 'eql)
+ (memql element (symbol-value list-var)))
+ (compare-fn
+ (let (present)
+ (dolist (elt (symbol-value list-var))
+ (if (funcall compare-fn element elt)
+ (setq present t)))
+ present))
+ (t
+ (member element (symbol-value list-var))))
(symbol-value list-var)
(set list-var
(if append
(or nodisp (redisplay))
(let ((read (read-event nil nil seconds)))
(or (null read)
- (progn (push read unread-command-events)
- nil))))))
+ (progn
+ ;; If last command was a prefix arg, e.g. C-u, push this event onto
+ ;; unread-command-events as (t . EVENT) so it will be added to
+ ;; this-command-keys by read-key-sequence.
+ (if (eq overriding-terminal-local-map universal-argument-map)
+ (setq read (cons t read)))
+ (push read unread-command-events)
+ nil))))))
\f
;;; Atomic change groups.