Lisp_Object Qpriority, Qbefore_string, Qafter_string;
-static Lisp_Object Qevaporate;
+static Lisp_Object Qclone_number, Qevaporate;
Lisp_Object Qmodification_hooks;
Lisp_Object Qinsert_in_front_hooks;
overlays that are limited to some other window. */
if (w)
{
- Lisp_Object window;
+ Lisp_Object window, clone_number;
window = Foverlay_get (overlay, Qwindow);
- if (WINDOWP (window) && XWINDOW (window) != w)
+ clone_number = Foverlay_get (overlay, Qclone_number);
+ if (WINDOWP (window) && XWINDOW (window) != w
+ && (! NUMBERP (clone_number)
+ || XFASTINT (clone_number) != XFASTINT (w->clone_number)))
continue;
}
EMACS_INT
overlay_strings (EMACS_INT pos, struct window *w, unsigned char **pstr)
{
- Lisp_Object overlay, window, str;
+ Lisp_Object overlay, window, clone_number, str;
struct Lisp_Overlay *ov;
EMACS_INT startpos, endpos;
int multibyte = ! NILP (BVAR (current_buffer, enable_multibyte_characters));
if (endpos != pos && startpos != pos)
continue;
window = Foverlay_get (overlay, Qwindow);
- if (WINDOWP (window) && XWINDOW (window) != w)
+ clone_number = Foverlay_get (overlay, Qclone_number);
+ if (WINDOWP (window) && XWINDOW (window) != w
+ && (! NUMBERP (clone_number)
+ || XFASTINT (clone_number) != XFASTINT (w->clone_number)))
continue;
+
if (startpos == pos
&& (str = Foverlay_get (overlay, Qbefore_string), STRINGP (str)))
record_overlay_string (&overlay_heads, str,
if (endpos != pos && startpos != pos)
continue;
window = Foverlay_get (overlay, Qwindow);
- if (WINDOWP (window) && XWINDOW (window) != w)
+ clone_number = Foverlay_get (overlay, Qclone_number);
+ if (WINDOWP (window) && XWINDOW (window) != w
+ && (! NUMBERP (clone_number)
+ || XFASTINT (clone_number) != XFASTINT (w->clone_number)))
continue;
if (startpos == pos
&& (str = Foverlay_get (overlay, Qbefore_string), STRINGP (str)))
DEFSYM (Qinsert_behind_hooks, "insert-behind-hooks");
DEFSYM (Qget_file_buffer, "get-file-buffer");
DEFSYM (Qpriority, "priority");
+ DEFSYM (Qclone_number, "clone-number");
DEFSYM (Qbefore_string, "before-string");
DEFSYM (Qafter_string, "after-string");
DEFSYM (Qfirst_change_hook, "first-change-hook");