summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
diff options
context:
space:
mode:
authorGlenn Morris <rgm@gnu.org>2014-06-01 17:18:22 -0700
committerGlenn Morris <rgm@gnu.org>2014-06-01 17:18:22 -0700
commit953e106ac84587e765244995687b088969b5f6e1 (patch)
treea4d54b892e04b9123bc79ecffd69310f5807399e /lisp/emacs-lisp
parenteed652d649d28e9dafdb01f9c7425d7d28899e0d (diff)
parentafca0e759015ebc753b0c343ac45ac476dd31e9d (diff)
downloademacs-953e106ac84587e765244995687b088969b5f6e1.tar.gz
Merge from emacs-24; up to 2014-05-29T17:16:00Z!dmantipov@yandex.ru
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r--lisp/emacs-lisp/byte-opt.el18
-rw-r--r--lisp/emacs-lisp/gv.el17
-rw-r--r--lisp/emacs-lisp/package.el4
3 files changed, 23 insertions, 16 deletions
diff --git a/lisp/emacs-lisp/byte-opt.el b/lisp/emacs-lisp/byte-opt.el
index 90d1dd913e9..ee0a5a11c7b 100644
--- a/lisp/emacs-lisp/byte-opt.el
+++ b/lisp/emacs-lisp/byte-opt.el
@@ -859,14 +859,16 @@
(defun byte-optimize-binary-predicate (form)
- (if (macroexp-const-p (nth 1 form))
- (if (macroexp-const-p (nth 2 form))
- (condition-case ()
- (list 'quote (eval form))
- (error form))
- ;; This can enable some lapcode optimizations.
- (list (car form) (nth 2 form) (nth 1 form)))
- form))
+ (cond
+ ((or (not (macroexp-const-p (nth 1 form)))
+ (nthcdr 3 form)) ;; In case there are more than 2 args.
+ form)
+ ((macroexp-const-p (nth 2 form))
+ (condition-case ()
+ (list 'quote (eval form))
+ (error form)))
+ (t ;; This can enable some lapcode optimizations.
+ (list (car form) (nth 2 form) (nth 1 form)))))
(defun byte-optimize-predicate (form)
(let ((ok t)
diff --git a/lisp/emacs-lisp/gv.el b/lisp/emacs-lisp/gv.el
index 66241897536..692b76e8a36 100644
--- a/lisp/emacs-lisp/gv.el
+++ b/lisp/emacs-lisp/gv.el
@@ -340,13 +340,18 @@ The return value is the last VAL in the list.
(gv-define-simple-setter process-filter set-process-filter)
(gv-define-simple-setter process-sentinel set-process-sentinel)
(gv-define-simple-setter process-get process-put)
-(gv-define-simple-setter window-buffer set-window-buffer)
-(gv-define-simple-setter window-display-table set-window-display-table 'fix)
-(gv-define-simple-setter window-dedicated-p set-window-dedicated-p)
-(gv-define-simple-setter window-hscroll set-window-hscroll)
(gv-define-simple-setter window-parameter set-window-parameter)
-(gv-define-simple-setter window-point set-window-point)
-(gv-define-simple-setter window-start set-window-start)
+(gv-define-setter window-buffer (v &optional w)
+ (macroexp-let2 nil v v
+ `(progn (set-window-buffer ,w ,v) ,v)))
+(gv-define-setter window-display-table (v &optional w)
+ (macroexp-let2 nil v v
+ `(progn (set-window-display-table ,w ,v) ,v)))
+(gv-define-setter window-dedicated-p (v &optional w)
+ `(set-window-dedicated-p ,w ,v))
+(gv-define-setter window-hscroll (v &optional w) `(set-window-hscroll ,w ,v))
+(gv-define-setter window-point (v &optional w) `(set-window-point ,w ,v))
+(gv-define-setter window-start (v &optional w) `(set-window-start ,w ,v))
(gv-define-setter buffer-local-value (val var buf)
(macroexp-let2 nil v val
diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el
index c49cace04e4..d65633282c9 100644
--- a/lisp/emacs-lisp/package.el
+++ b/lisp/emacs-lisp/package.el
@@ -291,14 +291,14 @@ contrast, `package-user-dir' contains packages for personal use."
(const t :tag "Check always"))
:risky t
:group 'package
- :version "24.1")
+ :version "24.4")
(defcustom package-unsigned-archives nil
"A list of archives which do not use package signature."
:type '(repeat (string :tag "Archive name"))
:risky t
:group 'package
- :version "24.1")
+ :version "24.4")
(defvar package--default-summary "No description available.")