From xemacs-m  Fri Dec 20 09:34:28 1996
Received: from ns1.eds.com (ns1.eds.com [192.85.154.78])
          by xemacs.cs.uiuc.edu (8.8.4/8.8.4) with ESMTP
	  id JAA14338 for <xemacs-beta@xemacs.org>; Fri, 20 Dec 1996 09:34:28 -0600 (CST)
Received: from nnsa.eds.com (nnsa.eds.com [130.174.31.78])
          by ns1.eds.com (8.8.4/8.8.4) with ESMTP
	  id KAA17208 for <xemacs-beta@xemacs.org>; Fri, 20 Dec 1996 10:33:16 -0500 (EST)
Received: from kocrsv04.delcoelect.com (kocrsv04.delcoelect.com [144.250.100.205]) by nnsa.eds.com (8.7.6/8.7.3) with ESMTP id KAA12510 for <xemacs-beta@xemacs.org>; Fri, 20 Dec 1996 10:32:39 -0500 (EST)
Received: from kocrsw12.delcoelect.com (kocrsw12.delcoelect.com [144.250.106.18]) by kocrsv04.delcoelect.com (8.7.5/8.7.3) with SMTP id KAA01557 for <xemacs-beta@xemacs.org>; Fri, 20 Dec 1996 10:32:38 -0500 (EST)
Received: from kocrsw12 by kocrsw12.delcoelect.com (SMI-8.6/SMI-SVR4)
	id KAA23243; Fri, 20 Dec 1996 10:32:37 -0500
X-Mailer: exmh version 2.0alpha 12/3/96
To: xemacs-beta@xemacs.org
Subject: Re: End of Buffer Tags 
X-Face: 4tk3bJx]I+QTZ|=]*1+Z){9+;5u_hK*NBeZK6[+B+iB%bVuOJ%^uK~fIG}O-}%WLX*D
 ^aW>Gv8E3Xtz0\N&fQl^:pj<K{xM`:d>pPt:9lF-YXB%O)?@rd?*/jE!s94`?]:jJ#C5RDP:;M
 r.3lwo`0{vIT+<{%IRwe]vLd]7>\X|*z{TUX_t;?TPcOLBMIv8_V92!Vk(*DJVU~0M[`5D^PAW
 LniO1?YYWArMU*j9o+>?1MWi.lO?F-?aVt:qQ8OaG?R}B:I!7S_+KuzxZ.f9M@$z#n\bG2$Q2{od
In-reply-to: Your message of "19 Dec 1996 09:43:00 PST."
             <m2u3piwhuj.fsf_-_@altair.xemacs.org> 
Date: Fri, 20 Dec 1996 10:32:36 -0500
Message-ID: <23241.851095956@kocrsw12>
From: Mike Scheidler <c23mts@eng.delcoelect.com>

Steven L Baur <steve@miranova.com> writes:
>
> [discussion about end of buffer delimiter deleted]
>
> I'd be willing to consider a marking if it looked nicer, maybe a small 3d
> button or some such when running in X11.  I'd be even more willing to
> consider putting said code in the sample.emacs, in exactly the same
> fashion the oversized recycling GC X cursor is enabled.
> 
> Actually, I can't see a good argument for not putting something along
> these lines in the sample.emacs.  Anybody want to code up the glyph
> version of the marker?

I've played around with this a little, and implemented it as a zero-length
extent (X11 & XPM required):
    
    (defvar eot-xpm "/* XPM */
    static char * file[] = {
    \"14 11 5 1\",
    \"      s background c #FFFFFFFFFFFF\",
    \".     c #000000000000\",
    \"X     c #FFFF00000000\",
    \"o     c #000077770000\",
    \"O     c #000044440000\",
    \"              \",
    \"         oo   \",
    \"       oOXo   \",
    \"     oOXXXo   \",
    \"   oOXXXXXo   \",
    \" .oXXXXXXXo   \",
    \"   oOXXXXXo   \",
    \"     oOXXXo   \",
    \"       oOXo   \",
    \"         oo   \",
    \"              \"};")
    
    (defvar eot-glyph (make-glyph eot-xpm))
    
    (defun set-eot ()
      (setq eot-extent (make-extent (point-max) (point-max)))
      (set-extent-property eot-extent 'end-open nil)
      (set-extent-property eot-extent 'start-open t)
      (set-extent-property eot-extent 'end-glyph eot-glyph)
      (set-extent-property eot-extent 'detachable nil))

As Steven said before, you'd want to attach this to a hook of some sort.

It looks a little odd in that the text cursor goes beyond (i.e. to the
right of) the EOT glyph when point is moved to the end of the buffer.
Maybe someone can solve this?

Note that setting the 'detachable property to nil keeps the glyph from
being deleted when text is deleted.  Setting the 'end-open and 'start-open
properties causes new text to be inserted to the left of the glyph.

-- 
Mike Scheidler                     c23mts@eng.delcoelect.com
Corporate Software Technology
Delco Electronics Corporation      PHONE:  (317) 451-0319
Kokomo, IN 46904-9005              GMNET:  8-322-0319


