[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/src/xfaces.c,v
From: |
Adrian Robert |
Subject: |
[Emacs-diffs] Changes to emacs/src/xfaces.c,v |
Date: |
Fri, 01 Aug 2008 11:48:31 +0000 |
CVSROOT: /sources/emacs
Module name: emacs
Changes by: Adrian Robert <arobert> 08/08/01 11:48:29
Index: src/xfaces.c
===================================================================
RCS file: /sources/emacs/emacs/src/xfaces.c,v
retrieving revision 1.407
retrieving revision 1.408
diff -u -b -r1.407 -r1.408
--- src/xfaces.c 27 Jul 2008 18:24:48 -0000 1.407
+++ src/xfaces.c 1 Aug 2008 11:48:29 -0000 1.408
@@ -6574,6 +6574,56 @@
}
+
+#ifndef HAVE_X_WINDOWS
+DEFUN ("x-load-color-file", Fx_load_color_file,
+ Sx_load_color_file, 1, 1, 0,
+ doc: /* Create an alist of color entries from an external file.
+
+The file should define one named RGB color per line like so:
+ R G B name
+where R,G,B are numbers between 0 and 255 and name is an arbitrary string. */)
+ (filename)
+ Lisp_Object filename;
+{
+ FILE *fp;
+ Lisp_Object cmap = Qnil;
+ Lisp_Object abspath;
+
+ CHECK_STRING (filename);
+ abspath = Fexpand_file_name (filename, Qnil);
+
+ fp = fopen (SDATA (filename), "rt");
+ if (fp)
+ {
+ char buf[512];
+ int red, green, blue;
+ int num;
+
+ BLOCK_INPUT;
+
+ while (fgets (buf, sizeof (buf), fp) != NULL) {
+ if (sscanf (buf, "%u %u %u %n", &red, &green, &blue, &num) == 3)
+ {
+ char *name = buf + num;
+ num = strlen (name) - 1;
+ if (name[num] == '\n')
+ name[num] = 0;
+ cmap = Fcons (Fcons (build_string (name),
+ make_number ((red << 16) | (green << 8) |
blue)),
+ cmap);
+ }
+ }
+ fclose (fp);
+
+ UNBLOCK_INPUT;
+ }
+
+ return cmap;
+}
+#endif
+
+
/***********************************************************************
Tests
***********************************************************************/
@@ -6829,6 +6879,9 @@
#endif
defsubr (&Scolor_gray_p);
defsubr (&Scolor_supported_p);
+#ifndef HAVE_X_WINDOWS
+ defsubr (&Sx_load_color_file);
+#endif
defsubr (&Sface_attribute_relative_p);
defsubr (&Smerge_face_attribute);
defsubr (&Sinternal_get_lisp_face_attribute);
- [Emacs-diffs] Changes to emacs/src/xfaces.c,v,
Adrian Robert <=
- [Emacs-diffs] Changes to emacs/src/xfaces.c,v, Adrian Robert, 2008/08/01
- [Emacs-diffs] Changes to emacs/src/xfaces.c,v, Adrian Robert, 2008/08/01
- [Emacs-diffs] Changes to emacs/src/xfaces.c,v, Juanma Barranquero, 2008/08/01
- [Emacs-diffs] Changes to emacs/src/xfaces.c,v, Chong Yidong, 2008/08/15
- [Emacs-diffs] Changes to emacs/src/xfaces.c,v, Chong Yidong, 2008/08/21