]> git.eshelyaron.com Git - emacs.git/commitdiff
* subr.el (copy-overlay): Handle deleted overlays.
authorStefan Monnier <monnier@iro.umontreal.ca>
Thu, 11 Feb 2010 19:35:36 +0000 (14:35 -0500)
committerStefan Monnier <monnier@iro.umontreal.ca>
Thu, 11 Feb 2010 19:35:36 +0000 (14:35 -0500)
lisp/ChangeLog
lisp/subr.el

index e5ad1f144625c2f047ccf61ec7709325f0b03707..559d4f54800f53212910ca04458905048fbfcfab 100644 (file)
@@ -1,5 +1,7 @@
 2010-02-11  Stefan Monnier  <monnier@iro.umontreal.ca>
 
+       * 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).
 
index b80988ad7232e383482120e00d47ae9f69ba1414..3b5d977c1f88a4bfdac7fe2c292839d698182469 100644 (file)
@@ -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)))