Mercurial > emacs
comparison src/buffer.c @ 45683:9e40bb8e9a60
(Foverlay_get): Use lookup_char_property.
author | Colin Walters <walters@gnu.org> |
---|---|
date | Sat, 08 Jun 2002 20:25:31 +0000 |
parents | 7d132ad61148 |
children | 3ba98b59cb49 |
comparison
equal
deleted
inserted
replaced
45682:b9f2c8b7c60e | 45683:9e40bb8e9a60 |
---|---|
3910 DEFUN ("overlay-get", Foverlay_get, Soverlay_get, 2, 2, 0, | 3910 DEFUN ("overlay-get", Foverlay_get, Soverlay_get, 2, 2, 0, |
3911 doc: /* Get the property of overlay OVERLAY with property name PROP. */) | 3911 doc: /* Get the property of overlay OVERLAY with property name PROP. */) |
3912 (overlay, prop) | 3912 (overlay, prop) |
3913 Lisp_Object overlay, prop; | 3913 Lisp_Object overlay, prop; |
3914 { | 3914 { |
3915 Lisp_Object plist, fallback; | |
3916 | |
3917 CHECK_OVERLAY (overlay); | 3915 CHECK_OVERLAY (overlay); |
3918 | 3916 return lookup_char_property (XOVERLAY (overlay)->plist, prop, 0); |
3919 fallback = Qnil; | |
3920 | |
3921 for (plist = XOVERLAY (overlay)->plist; | |
3922 CONSP (plist) && CONSP (XCDR (plist)); | |
3923 plist = XCDR (XCDR (plist))) | |
3924 { | |
3925 if (EQ (XCAR (plist), prop)) | |
3926 return XCAR (XCDR (plist)); | |
3927 else if (EQ (XCAR (plist), Qcategory)) | |
3928 { | |
3929 Lisp_Object tem; | |
3930 tem = Fcar (Fcdr (plist)); | |
3931 if (SYMBOLP (tem)) | |
3932 fallback = Fget (tem, prop); | |
3933 } | |
3934 } | |
3935 | |
3936 return fallback; | |
3937 } | 3917 } |
3938 | 3918 |
3939 DEFUN ("overlay-put", Foverlay_put, Soverlay_put, 3, 3, 0, | 3919 DEFUN ("overlay-put", Foverlay_put, Soverlay_put, 3, 3, 0, |
3940 doc: /* Set one property of overlay OVERLAY: give property PROP value VALUE. */) | 3920 doc: /* Set one property of overlay OVERLAY: give property PROP value VALUE. */) |
3941 (overlay, prop, value) | 3921 (overlay, prop, value) |