diff options
author | Karoly Lorentey <lorentey@elte.hu> | 2006-12-03 12:25:18 +0000 |
---|---|---|
committer | Karoly Lorentey <lorentey@elte.hu> | 2006-12-03 12:25:18 +0000 |
commit | d6e01aa592f7326dffeafa6e97180a1cc39fe7ea (patch) | |
tree | 5a22b785cfee1d77d6452607450a12ca82eeecd3 /lisp/subr.el | |
parent | 14bcc1e098410087a837313e2fc822319ff2e8ca (diff) | |
parent | 4975e69596a64247e8995d1ff9084b98a9a5ed0d (diff) | |
download | emacs-d6e01aa592f7326dffeafa6e97180a1cc39fe7ea.tar.gz emacs-d6e01aa592f7326dffeafa6e97180a1cc39fe7ea.tar.bz2 emacs-d6e01aa592f7326dffeafa6e97180a1cc39fe7ea.zip |
Merged from emacs@sv.gnu.org.
Patches applied:
* emacs@sv.gnu.org/emacs--devo--0--patch-479
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-480
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-481
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-482
Merge from gnus--rel--5.10
* emacs@sv.gnu.org/emacs--devo--0--patch-483
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-484
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-485
Update from CVS
* emacs@sv.gnu.org/gnus--rel--5.10--patch-153
Merge from emacs--devo--0
* emacs@sv.gnu.org/gnus--rel--5.10--patch-154
Update from CVS
* emacs@sv.gnu.org/gnus--rel--5.10--patch-155
Update from CVS
git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-585
Diffstat (limited to 'lisp/subr.el')
-rw-r--r-- | lisp/subr.el | 28 |
1 files changed, 20 insertions, 8 deletions
diff --git a/lisp/subr.el b/lisp/subr.el index 1f947a795f9..028b6ef21ff 100644 --- a/lisp/subr.el +++ b/lisp/subr.el @@ -1100,13 +1100,19 @@ until a certain package is loaded, you should put the call to `add-to-list' 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) + (if (cond + ((null compare-fn) (member element (symbol-value list-var))) + ((eq compare-fn 'eq) + (memq element (symbol-value list-var))) + ((eq compare-fn 'eql) + (memql element (symbol-value list-var))) + (t + (let (present) + (dolist (elt (symbol-value list-var)) + (if (funcall compare-fn element elt) + (setq present t))) + present))) (symbol-value list-var) (set list-var (if append @@ -1752,8 +1758,14 @@ floating point support. (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)))))) ;;; Atomic change groups. |