1813 |
Lisp_Object plist; |
Lisp_Object plist; |
1814 |
register Lisp_Object prop; |
register Lisp_Object prop; |
1815 |
{ |
{ |
1816 |
register Lisp_Object tail, fallback; |
lookup_char_property (plist, prop, 1); |
1817 |
fallback = Qnil; |
} |
1818 |
|
|
1819 |
|
Lisp_Object |
1820 |
|
lookup_char_property (plist, prop, textprop) |
1821 |
|
Lisp_Object plist; |
1822 |
|
register Lisp_Object prop; |
1823 |
|
int textprop; |
1824 |
|
{ |
1825 |
|
register Lisp_Object tail, fallback = Qnil; |
1826 |
|
|
1827 |
for (tail = plist; !NILP (tail); tail = Fcdr (Fcdr (tail))) |
for (tail = plist; !NILP (tail); tail = Fcdr (Fcdr (tail))) |
1828 |
{ |
{ |
1840 |
|
|
1841 |
if (! NILP (fallback)) |
if (! NILP (fallback)) |
1842 |
return fallback; |
return fallback; |
1843 |
if (CONSP (Vdefault_text_properties)) |
/* Check for alternative properties */ |
1844 |
return Fplist_get (Vdefault_text_properties, prop); |
tail = Fassq (prop, Vchar_property_alias_alist); |
1845 |
return Qnil; |
if (NILP (tail)) |
1846 |
|
return tail; |
1847 |
|
tail = XCDR (tail); |
1848 |
|
for (; NILP (fallback) && !NILP (tail); tail = XCDR (tail)) |
1849 |
|
{ |
1850 |
|
if (!CONSP (tail)) |
1851 |
|
wrong_type_argument (Qlistp, tail); |
1852 |
|
fallback = Fplist_get (plist, XCAR (tail)); |
1853 |
|
} |
1854 |
|
if (textprop && NILP (fallback) && CONSP (Vdefault_text_properties)) |
1855 |
|
fallback = Fplist_get (Vdefault_text_properties, prop); |
1856 |
|
return fallback; |
1857 |
} |
} |
1858 |
|
|
1859 |
|
|