Mercurial > emacs
comparison src/intervals.c @ 45781:d65729232269
(textget): Don't forget to `return'.
(lookup_char_property): Use XCAR/XCDR.
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Wed, 12 Jun 2002 13:29:47 +0000 |
parents | b9f2c8b7c60e |
children | 40db0673e6f0 |
comparison
equal
deleted
inserted
replaced
45780:d850bd75235f | 45781:d65729232269 |
---|---|
1811 Lisp_Object | 1811 Lisp_Object |
1812 textget (plist, prop) | 1812 textget (plist, prop) |
1813 Lisp_Object plist; | 1813 Lisp_Object plist; |
1814 register Lisp_Object prop; | 1814 register Lisp_Object prop; |
1815 { | 1815 { |
1816 lookup_char_property (plist, prop, 1); | 1816 return lookup_char_property (plist, prop, 1); |
1817 } | 1817 } |
1818 | 1818 |
1819 Lisp_Object | 1819 Lisp_Object |
1820 lookup_char_property (plist, prop, textprop) | 1820 lookup_char_property (plist, prop, textprop) |
1821 Lisp_Object plist; | 1821 Lisp_Object plist; |
1822 register Lisp_Object prop; | 1822 register Lisp_Object prop; |
1823 int textprop; | 1823 int textprop; |
1824 { | 1824 { |
1825 register Lisp_Object tail, fallback = Qnil; | 1825 register Lisp_Object tail, fallback = Qnil; |
1826 | 1826 |
1827 for (tail = plist; !NILP (tail); tail = Fcdr (Fcdr (tail))) | 1827 for (tail = plist; CONSP (tail); tail = Fcdr (XCDR (tail))) |
1828 { | 1828 { |
1829 register Lisp_Object tem; | 1829 register Lisp_Object tem; |
1830 tem = Fcar (tail); | 1830 tem = XCAR (tail); |
1831 if (EQ (prop, tem)) | 1831 if (EQ (prop, tem)) |
1832 return Fcar (Fcdr (tail)); | 1832 return Fcar (XCDR (tail)); |
1833 if (EQ (tem, Qcategory)) | 1833 if (EQ (tem, Qcategory)) |
1834 { | 1834 { |
1835 tem = Fcar (Fcdr (tail)); | 1835 tem = Fcar (XCDR (tail)); |
1836 if (SYMBOLP (tem)) | 1836 if (SYMBOLP (tem)) |
1837 fallback = Fget (tem, prop); | 1837 fallback = Fget (tem, prop); |
1838 } | 1838 } |
1839 } | 1839 } |
1840 | 1840 |
1843 /* Check for alternative properties */ | 1843 /* Check for alternative properties */ |
1844 tail = Fassq (prop, Vchar_property_alias_alist); | 1844 tail = Fassq (prop, Vchar_property_alias_alist); |
1845 if (NILP (tail)) | 1845 if (NILP (tail)) |
1846 return tail; | 1846 return tail; |
1847 tail = XCDR (tail); | 1847 tail = XCDR (tail); |
1848 for (; NILP (fallback) && !NILP (tail); tail = XCDR (tail)) | 1848 for (; NILP (fallback) && CONSP (tail); tail = XCDR (tail)) |
1849 { | 1849 fallback = Fplist_get (plist, XCAR (tail)); |
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)) | 1850 if (textprop && NILP (fallback) && CONSP (Vdefault_text_properties)) |
1855 fallback = Fplist_get (Vdefault_text_properties, prop); | 1851 fallback = Fplist_get (Vdefault_text_properties, prop); |
1856 return fallback; | 1852 return fallback; |
1857 } | 1853 } |
1858 | 1854 |