commit 506270f9c80bf9bd7dad35a2f0aa6f477da6490b (HEAD, refs/remotes/origin/master) Author: Oscar Fuentes Date: Sat Dec 16 01:34:35 2017 +0100 Don't compare arguments that can be nil copy-region-as-kill can be called passing nil as `beg' and `end'. Magit does that, which caused an error when this advice was in effect. * lisp/ses.el (ses--advice-copy-region-as-kill): avoid comparison unless `beg' and `end' are non-nil. diff --git a/lisp/ses.el b/lisp/ses.el index 4c19c70c5d..188992c78f 100644 --- a/lisp/ses.el +++ b/lisp/ses.el @@ -3051,7 +3051,7 @@ We'll assume copying front-sticky properties doesn't make sense, either. This advice also includes some SES-specific code because otherwise it's too hard to override how mouse-1 works." - (when (> beg end) + (when (and beg end (> beg end)) (let ((temp beg)) (setq beg end end temp))) commit 5e6fb1e246b1e7f44ebba48e7e24f597a8eb92dd Author: Glenn Morris Date: Fri Dec 15 16:22:25 2017 -0500 Automatically evaluate top-level define-obsolete-function-alias etc * lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-make-obsolete): New handler. diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el index 995fb05eac..c898305d91 100644 --- a/lisp/emacs-lisp/bytecomp.el +++ b/lisp/emacs-lisp/bytecomp.el @@ -2486,6 +2486,12 @@ list that represents a doc string reference. (mapc 'byte-compile-file-form (cdr form)) nil)) +;; Automatically evaluate define-obsolete-function-alias etc at top-level. +(put 'make-obsolete 'byte-hunk-handler 'byte-compile-file-form-make-obsolete) +(defun byte-compile-file-form-make-obsolete (form) + (prog1 (byte-compile-keep-pending form) + (apply 'make-obsolete (mapcar 'eval (cdr form))))) + ;; This handler is not necessary, but it makes the output from dont-compile ;; and similar macros cleaner. (put 'eval 'byte-hunk-handler 'byte-compile-file-form-eval)