diff options
| author | Richard M. Stallman | 1994-10-01 21:02:59 +0000 |
|---|---|---|
| committer | Richard M. Stallman | 1994-10-01 21:02:59 +0000 |
| commit | cab4777e7833fe08c8834743bf0d05406bd1547a (patch) | |
| tree | b6516041dea6cc636addf0e8276c51f52f97bf4a /src/buffer.c | |
| parent | 6024daef5f52a3f7f53688453c2fd99f13bf13e2 (diff) | |
| download | emacs-cab4777e7833fe08c8834743bf0d05406bd1547a.tar.gz emacs-cab4777e7833fe08c8834743bf0d05406bd1547a.zip | |
(Foverlay_get): Handle `category' property on overlay.
Diffstat (limited to 'src/buffer.c')
| -rw-r--r-- | src/buffer.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/buffer.c b/src/buffer.c index 929d7ce47c4..0e0ca213907 100644 --- a/src/buffer.c +++ b/src/buffer.c | |||
| @@ -2159,19 +2159,28 @@ DEFUN ("overlay-get", Foverlay_get, Soverlay_get, 2, 2, 0, | |||
| 2159 | (overlay, prop) | 2159 | (overlay, prop) |
| 2160 | Lisp_Object overlay, prop; | 2160 | Lisp_Object overlay, prop; |
| 2161 | { | 2161 | { |
| 2162 | Lisp_Object plist; | 2162 | Lisp_Object plist, fallback; |
| 2163 | 2163 | ||
| 2164 | CHECK_OVERLAY (overlay, 0); | 2164 | CHECK_OVERLAY (overlay, 0); |
| 2165 | 2165 | ||
| 2166 | fallback = Qnil; | ||
| 2167 | |||
| 2166 | for (plist = Fcdr_safe (XCONS (overlay)->cdr); | 2168 | for (plist = Fcdr_safe (XCONS (overlay)->cdr); |
| 2167 | CONSP (plist) && CONSP (XCONS (plist)->cdr); | 2169 | CONSP (plist) && CONSP (XCONS (plist)->cdr); |
| 2168 | plist = XCONS (XCONS (plist)->cdr)->cdr) | 2170 | plist = XCONS (XCONS (plist)->cdr)->cdr) |
| 2169 | { | 2171 | { |
| 2170 | if (EQ (XCONS (plist)->car, prop)) | 2172 | if (EQ (XCONS (plist)->car, prop)) |
| 2171 | return XCONS (XCONS (plist)->cdr)->car; | 2173 | return XCONS (XCONS (plist)->cdr)->car; |
| 2174 | else if (EQ (XCONS (plist)->car, Qcategory)) | ||
| 2175 | { | ||
| 2176 | Lisp_Object tem; | ||
| 2177 | tem = Fcar (Fcdr (plist)); | ||
| 2178 | if (SYMBOLP (tem)) | ||
| 2179 | fallback = Fget (tem, prop); | ||
| 2180 | } | ||
| 2172 | } | 2181 | } |
| 2173 | 2182 | ||
| 2174 | return Qnil; | 2183 | return fallback; |
| 2175 | } | 2184 | } |
| 2176 | 2185 | ||
| 2177 | DEFUN ("overlay-put", Foverlay_put, Soverlay_put, 3, 3, 0, | 2186 | DEFUN ("overlay-put", Foverlay_put, Soverlay_put, 3, 3, 0, |