diff options
| author | Gerd Moellmann | 2001-03-01 12:57:24 +0000 |
|---|---|---|
| committer | Gerd Moellmann | 2001-03-01 12:57:24 +0000 |
| commit | 57c5889c08773e37867433e36b9c5adcced0442d (patch) | |
| tree | 2f957be0d8364f819d0ae4a46e49737c8c064d23 /src | |
| parent | 4560730a98575566ebc65ffa72dbe6b877f3c17b (diff) | |
| download | emacs-57c5889c08773e37867433e36b9c5adcced0442d.tar.gz emacs-57c5889c08773e37867433e36b9c5adcced0442d.zip | |
(x_set_font): Handle case of x_new_fontset returning the
same name as before, although there was a change in fontsets.
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 7 | ||||
| -rw-r--r-- | src/xfns.c | 11 |
2 files changed, 16 insertions, 2 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 52767b03463..e81747972e6 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,9 +1,14 @@ | |||
| 1 | 2001-03-01 Gerd Moellmann <gerd@gnu.org> | ||
| 2 | |||
| 3 | * xfns.c (x_set_font): Handle case of x_new_fontset returning the | ||
| 4 | same name as before, although there was a change in fontsets. | ||
| 5 | |||
| 1 | 2001-02-28 Ken Raeburn <raeburn@gnu.org> | 6 | 2001-02-28 Ken Raeburn <raeburn@gnu.org> |
| 2 | 7 | ||
| 3 | * lisp.h (Fframe_parameter): Declare. | 8 | * lisp.h (Fframe_parameter): Declare. |
| 4 | 9 | ||
| 5 | * window.c (set_window_buffer): Field vscroll is an int, not a | 10 | * window.c (set_window_buffer): Field vscroll is an int, not a |
| 6 | lisp object. | 11 | Lisp_Object. |
| 7 | 12 | ||
| 8 | 2001-02-28 Gerd Moellmann <gerd@gnu.org> | 13 | 2001-02-28 Gerd Moellmann <gerd@gnu.org> |
| 9 | 14 | ||
diff --git a/src/xfns.c b/src/xfns.c index 2c3a16ce019..58a965d985f 100644 --- a/src/xfns.c +++ b/src/xfns.c | |||
| @@ -1814,6 +1814,7 @@ x_set_font (f, arg, oldval) | |||
| 1814 | Lisp_Object result; | 1814 | Lisp_Object result; |
| 1815 | Lisp_Object fontset_name; | 1815 | Lisp_Object fontset_name; |
| 1816 | Lisp_Object frame; | 1816 | Lisp_Object frame; |
| 1817 | int old_fontset = f->output_data.x->fontset; | ||
| 1817 | 1818 | ||
| 1818 | CHECK_STRING (arg, 1); | 1819 | CHECK_STRING (arg, 1); |
| 1819 | 1820 | ||
| @@ -1831,8 +1832,16 @@ x_set_font (f, arg, oldval) | |||
| 1831 | error ("The characters of the given font have varying widths"); | 1832 | error ("The characters of the given font have varying widths"); |
| 1832 | else if (STRINGP (result)) | 1833 | else if (STRINGP (result)) |
| 1833 | { | 1834 | { |
| 1834 | if (!NILP (Fequal (result, oldval))) | 1835 | if (STRINGP (fontset_name)) |
| 1836 | { | ||
| 1837 | /* Fontset names are built from ASCII font names, so the | ||
| 1838 | names may be equal despite there was a change. */ | ||
| 1839 | if (old_fontset == f->output_data.x->fontset) | ||
| 1840 | return; | ||
| 1841 | } | ||
| 1842 | else if (!NILP (Fequal (result, oldval))) | ||
| 1835 | return; | 1843 | return; |
| 1844 | |||
| 1836 | store_frame_param (f, Qfont, result); | 1845 | store_frame_param (f, Qfont, result); |
| 1837 | recompute_basic_faces (f); | 1846 | recompute_basic_faces (f); |
| 1838 | } | 1847 | } |