diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/xfaces.c | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/src/xfaces.c b/src/xfaces.c index f892d6bc58a..0e3e6861eca 100644 --- a/src/xfaces.c +++ b/src/xfaces.c | |||
| @@ -1816,11 +1816,13 @@ DEFUN ("x-list-fonts", Fx_list_fonts, Sx_list_fonts, 1, 5, 0, | |||
| 1816 | doc: /* Return a list of the names of available fonts matching PATTERN. | 1816 | doc: /* Return a list of the names of available fonts matching PATTERN. |
| 1817 | If optional arguments FACE and FRAME are specified, return only fonts | 1817 | If optional arguments FACE and FRAME are specified, return only fonts |
| 1818 | the same size as FACE on FRAME. | 1818 | the same size as FACE on FRAME. |
| 1819 | PATTERN is a string, perhaps with wildcard characters; | 1819 | |
| 1820 | PATTERN should be a string containing a font name in the XLFD, | ||
| 1821 | Fontconfig, or GTK format. A font name given in the XLFD format may | ||
| 1822 | contain wildcard characters: | ||
| 1820 | the * character matches any substring, and | 1823 | the * character matches any substring, and |
| 1821 | the ? character matches any single character. | 1824 | the ? character matches any single character. |
| 1822 | PATTERN is case-insensitive. | 1825 | PATTERN is case-insensitive. |
| 1823 | FACE is a face name--a symbol. | ||
| 1824 | 1826 | ||
| 1825 | The return value is a list of strings, suitable as arguments to | 1827 | The return value is a list of strings, suitable as arguments to |
| 1826 | `set-face-font'. | 1828 | `set-face-font'. |
| @@ -1892,6 +1894,9 @@ the WIDTH times as wide as FACE on FRAME. */) | |||
| 1892 | Lisp_Object args[2], tail; | 1894 | Lisp_Object args[2], tail; |
| 1893 | 1895 | ||
| 1894 | font_spec = font_spec_from_name (pattern); | 1896 | font_spec = font_spec_from_name (pattern); |
| 1897 | if (!FONTP (font_spec)) | ||
| 1898 | signal_error ("Invalid font name", pattern); | ||
| 1899 | |||
| 1895 | if (size) | 1900 | if (size) |
| 1896 | { | 1901 | { |
| 1897 | Ffont_put (font_spec, QCsize, make_number (size)); | 1902 | Ffont_put (font_spec, QCsize, make_number (size)); |
| @@ -3252,11 +3257,14 @@ FRAME 0 means change the face on all frames, and change the default | |||
| 3252 | { | 3257 | { |
| 3253 | if (STRINGP (value)) | 3258 | if (STRINGP (value)) |
| 3254 | { | 3259 | { |
| 3255 | int fontset = fs_query_fontset (value, 0); | 3260 | Lisp_Object name = value; |
| 3261 | int fontset = fs_query_fontset (name, 0); | ||
| 3256 | 3262 | ||
| 3257 | if (fontset >= 0) | 3263 | if (fontset >= 0) |
| 3258 | value = fontset_ascii (fontset); | 3264 | name = fontset_ascii (fontset); |
| 3259 | value = font_spec_from_name (value); | 3265 | value = font_spec_from_name (name); |
| 3266 | if (!FONTP (value)) | ||
| 3267 | signal_error ("Invalid font name", name); | ||
| 3260 | } | 3268 | } |
| 3261 | else | 3269 | else |
| 3262 | signal_error ("Invalid font or font-spec", value); | 3270 | signal_error ("Invalid font or font-spec", value); |