aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGerd Moellmann2001-03-01 12:57:24 +0000
committerGerd Moellmann2001-03-01 12:57:24 +0000
commit57c5889c08773e37867433e36b9c5adcced0442d (patch)
tree2f957be0d8364f819d0ae4a46e49737c8c064d23 /src
parent4560730a98575566ebc65ffa72dbe6b877f3c17b (diff)
downloademacs-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/ChangeLog7
-rw-r--r--src/xfns.c11
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 @@
12001-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
12001-02-28 Ken Raeburn <raeburn@gnu.org> 62001-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
82001-02-28 Gerd Moellmann <gerd@gnu.org> 132001-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 }