From: Stefan Monnier Date: Thu, 11 Feb 2010 19:35:36 +0000 (-0500) Subject: * subr.el (copy-overlay): Handle deleted overlays. X-Git-Tag: emacs-pretest-23.1.93~71 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=48b1e7cf2bf6bf70340c49aaac393176bf3d7aaf;p=emacs.git * subr.el (copy-overlay): Handle deleted overlays. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index e5ad1f14462..559d4f54800 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,7 @@ 2010-02-11 Stefan Monnier + * subr.el (copy-overlay): Handle deleted overlays. + * man.el (Man-completion-table): Don't signal an error if we can't run manual-program (bug#4056). diff --git a/lisp/subr.el b/lisp/subr.el index b80988ad723..3b5d977c1f8 100644 --- a/lisp/subr.el +++ b/lisp/subr.el @@ -2232,10 +2232,14 @@ If MESSAGE is nil, instructions to type EXIT-CHAR are displayed there." (defun copy-overlay (o) "Return a copy of overlay O." - (let ((o1 (make-overlay (overlay-start o) (overlay-end o) - ;; FIXME: there's no easy way to find the - ;; insertion-type of the two markers. - (overlay-buffer o))) + (let ((o1 (if (overlay-buffer o) + (make-overlay (overlay-start o) (overlay-end o) + ;; FIXME: there's no easy way to find the + ;; insertion-type of the two markers. + (overlay-buffer o)) + (let ((o1 (make-overlay (point-min) (point-min)))) + (delete-overlay o1) + o1)))) (props (overlay-properties o))) (while props (overlay-put o1 (pop props) (pop props)))