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