diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/font.c | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/src/font.c b/src/font.c index 7c15842d959..4258c99a52a 100644 --- a/src/font.c +++ b/src/font.c | |||
| @@ -4928,7 +4928,28 @@ font_add_log (action, arg, result) | |||
| 4928 | if (EQ (Vfont_log, Qt)) | 4928 | if (EQ (Vfont_log, Qt)) |
| 4929 | return; | 4929 | return; |
| 4930 | if (FONTP (arg)) | 4930 | if (FONTP (arg)) |
| 4931 | arg = Ffont_xlfd_name (arg, Qt); | 4931 | { |
| 4932 | Lisp_Object tail, elt; | ||
| 4933 | Lisp_Object equalstr = build_string ("="); | ||
| 4934 | |||
| 4935 | val = Ffont_xlfd_name (arg, Qt); | ||
| 4936 | for (tail = AREF (arg, FONT_EXTRA_INDEX); CONSP (tail); | ||
| 4937 | tail = XCDR (tail)) | ||
| 4938 | { | ||
| 4939 | elt = XCAR (tail); | ||
| 4940 | if (EQ (XCAR (elt), QCscript)) | ||
| 4941 | val = concat3 (val, SYMBOL_NAME (QCscript), | ||
| 4942 | concat2 (equalstr, SYMBOL_NAME (XCDR (elt)))); | ||
| 4943 | else if (EQ (XCAR (elt), QClang)) | ||
| 4944 | val = concat3 (val, SYMBOL_NAME (QClang), | ||
| 4945 | concat2 (equalstr, SYMBOL_NAME (XCDR (elt)))); | ||
| 4946 | else if (EQ (XCAR (elt), QCotf) && CONSP (XCDR (elt))) | ||
| 4947 | val = concat3 (val, SYMBOL_NAME (QCotf), | ||
| 4948 | concat2 (equalstr, | ||
| 4949 | SYMBOL_NAME (XCAR (XCDR (elt))))); | ||
| 4950 | } | ||
| 4951 | arg = val; | ||
| 4952 | } | ||
| 4932 | if (FONTP (result)) | 4953 | if (FONTP (result)) |
| 4933 | { | 4954 | { |
| 4934 | val = Ffont_xlfd_name (result, Qt); | 4955 | val = Ffont_xlfd_name (result, Qt); |