[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] emacs/src ChangeLog xfns.c
From: |
Jan Djärv |
Subject: |
[Emacs-diffs] emacs/src ChangeLog xfns.c |
Date: |
Fri, 10 Jul 2009 17:07:39 +0000 |
CVSROOT: /cvsroot/emacs
Module name: emacs
Changes by: Jan Djärv <jhd> 09/07/10 17:07:38
Modified files:
src : ChangeLog xfns.c
Log message:
xfns.c (Fx_select_font): Remember last font selected in
x_last_font_name and use that the next time. Also try the frame
parameter font-parameter as default to the font dialog.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/emacs/src/ChangeLog?cvsroot=emacs&r1=1.7641&r2=1.7642
http://cvs.savannah.gnu.org/viewcvs/emacs/src/xfns.c?cvsroot=emacs&r1=1.741&r2=1.742
Patches:
Index: ChangeLog
===================================================================
RCS file: /cvsroot/emacs/emacs/src/ChangeLog,v
retrieving revision 1.7641
retrieving revision 1.7642
diff -u -b -r1.7641 -r1.7642
--- ChangeLog 10 Jul 2009 11:30:18 -0000 1.7641
+++ ChangeLog 10 Jul 2009 17:07:36 -0000 1.7642
@@ -1,3 +1,9 @@
+2009-07-10 Jan Djärv <address@hidden>
+
+ * xfns.c (Fx_select_font): Remember last font selected in
+ x_last_font_name and use that the next time. Also try the frame
+ parameter font-parameter as default to the font dialog.
+
2009-07-10 Kenichi Handa <address@hidden>
* xftfont.c (xftfont_open): Fix typo: FC_RGBA->FC_HINT_STYLE.
Index: xfns.c
===================================================================
RCS file: /cvsroot/emacs/emacs/src/xfns.c,v
retrieving revision 1.741
retrieving revision 1.742
diff -u -b -r1.741 -r1.742
--- xfns.c 3 Jul 2009 11:35:04 -0000 1.741
+++ xfns.c 10 Jul 2009 17:07:38 -0000 1.742
@@ -208,6 +208,9 @@
int image_cache_refcount, dpyinfo_refcount;
#endif
+#if defined (USE_GTK) && defined (HAVE_FREETYPE)
+char *x_last_font_name;
+#endif
/* Error if we are not connected to X. */
@@ -5629,6 +5632,9 @@
FRAME_PTR f = check_x_frame (frame);
char *name;
Lisp_Object default_font, font = Qnil;
+ Lisp_Object font_param;
+ char *default_name = NULL;
+ struct gcpro gcpro1;
int count = SPECPDL_INDEX ();
check_x ();
@@ -5642,21 +5648,28 @@
BLOCK_INPUT;
- XSETFONT (default_font, FRAME_FONT (f));
- if (FONTP (default_font))
+ GCPRO1(font_param);
+ font_param = Fframe_parameter (frame, Qfont_param);
+
+ if (x_last_font_name != NULL)
+ default_name = x_last_font_name;
+ else if (STRINGP (font_param))
+ default_name = SDATA (font_param);
+ else if (FONTP (default_font))
{
- char *default_name = alloca (256);
+ XSETFONT (default_font, FRAME_FONT (f));
+ default_name = alloca (256);
if (font_unparse_gtkname (default_font, f, default_name, 256) < 0)
default_name = NULL;
- name = xg_get_font_name (f, default_name);
}
- else
- name = xg_get_font_name (f, NULL);
+
+ name = xg_get_font_name (f, default_name);
if (name)
{
font = build_string (name);
- xfree (name);
+ g_free (x_last_font_name);
+ x_last_font_name = name;
}
UNBLOCK_INPUT;
@@ -6028,6 +6041,7 @@
#if defined (USE_GTK) && defined (HAVE_FREETYPE)
defsubr (&Sx_select_font);
+ x_last_font_name = NULL;
#endif
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] emacs/src ChangeLog xfns.c,
Jan Djärv <=