changeset 4365:c9ab656691c0

Automated merge with ssh://aidan-guest@hg.debian.org//hg/xemacs/xemacs
author Aidan Kehoe <kehoea@parhasard.net>
date Thu, 27 Dec 2007 13:22:26 +0100
parents d74913294e87 (current diff) f5693b5f7f2d (diff)
children 7b628daa39d4 69e6352406f0
files lisp/ChangeLog
diffstat 7 files changed, 48 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Thu Dec 27 13:21:05 2007 +0100
+++ b/ChangeLog	Thu Dec 27 13:22:26 2007 +0100
@@ -1,6 +1,11 @@
+2007-12-26  Stephen J. Turnbull  <stephen@xemacs.org>
+
+	* Makefile.in.in (mkpkgdir): Ensure only one late package directory.
+
 2007-12-26  Stephen J. Turnbull  <stephen@xemacs.org>
 
 	* Makefile.in.in (check-available-packages): Say where to install.
+	(mkpkgdir): 
 
 2007-12-23  Stephen J. Turnbull  <stephen@xemacs.org>
 
--- a/Makefile.in.in	Thu Dec 27 13:21:05 2007 +0100
+++ b/Makefile.in.in	Thu Dec 27 13:22:26 2007 +0100
@@ -513,11 +513,18 @@
 	then echo "To install the full set of packages with mule in"; \
 	     echo "${package_path}/mule-packages, type:"; \
 	     echo "  make install-all-packages"; \
-	fi;
+	fi
+
+# The test for a non-trivial path simply checks for the conventional Unix
+# path separator ":".  This is reasonable because this is basically just
+# a convenience feature, anyway.
 
 mkpkgdir: FRC.mkdir ${MAKEPATH}
 	@if test -z ${package_path}; \
-	then echo "not configured --with-late-packages; no place to install."; \
+	then echo "Not configured --with-late-packages; no place to install."; \
+		exit -1; \
+	elif echo ${package_path} | grep ":"; \
+	then echo "Configured with multiple late package directories; you decide where to install."; \
 		exit -1; \
 	elif test -e ${package_path}/xemacs-packages \
 		-o -e ${package_path}/mule-packages; \
--- a/etc/ChangeLog	Thu Dec 27 13:21:05 2007 +0100
+++ b/etc/ChangeLog	Thu Dec 27 13:22:26 2007 +0100
@@ -1,3 +1,7 @@
+2007-12-26  Stephen J. Turnbull  <stephen@xemacs.org>
+
+	* bundled-packages/README: Document restriction on --with-late-packages.
+
 2007-12-23  Stephen J. Turnbull  <stephen@xemacs.org>
 
 	* bundled-packages/README: Documentation for bundled packages.
--- a/etc/bundled-packages/README	Thu Dec 27 13:21:05 2007 +0100
+++ b/etc/bundled-packages/README	Thu Dec 27 13:22:26 2007 +0100
@@ -1,10 +1,13 @@
 Package distributions may be placed in this directory.
 If present and a package-path is configured, packages can be installed
-using the top-level makefile.
+using the top-level Makefile.
 
 To configure the package path, use the --with-late-packages option to
-configure, which specifies the path to the directory containing the
-xemacs-packages and mule-packages hierarchies to install.
+configure, which specifies a single directory in which to install the
+xemacs-packages and mule-packages hierarchies provided.  If this is null,
+or contains a Unix-style search path (i.e., a colon is present in the
+argument of the --with-late-packages option), you will have to install
+the packages by hand.
 
 To find out if a distribution includes bundled packages, type
 
--- a/lisp/ChangeLog	Thu Dec 27 13:21:05 2007 +0100
+++ b/lisp/ChangeLog	Thu Dec 27 13:22:26 2007 +0100
@@ -6,6 +6,14 @@
 	truncation-glyph, continuation-glyph, octal-escape-glyph,
 	control-arrow-glyph. 
 
+2007-12-23  Mike Sperber  <mike@xemacs.org>
+
+	* font.el (xft-font-create-object): Use
+	`fc-pattern-get-or-compute-size' instead of
+	`fc-pattern-get-size'.
+
+	* fontconfig.el (fc-pattern-get-or-compute-size): Add.
+
 2007-12-22  Stephen J. Turnbull  <stephen@xemacs.org>
 
 	Factor out lists of operators specially treated by `make-autoload'.
--- a/lisp/font.el	Thu Dec 27 13:21:05 2007 +0100
+++ b/lisp/font.el	Thu Dec 27 13:22:26 2007 +0100
@@ -813,7 +813,7 @@
 	 (pattern (fc-font-match device (fc-name-parse name)))
 	 (font-obj (make-font))
 	 (family (fc-pattern-get-family pattern 0))
-	 (size (fc-pattern-get-size pattern 0))
+	 (size (fc-pattern-get-or-compute-size pattern 0))
 	 (weight (fc-pattern-get-weight pattern 0)))
     (set-font-family font-obj 
 		     (and (not (equal family 'fc-result-no-match)) 
--- a/lisp/fontconfig.el	Thu Dec 27 13:21:05 2007 +0100
+++ b/lisp/fontconfig.el	Thu Dec 27 13:22:26 2007 +0100
@@ -350,6 +350,21 @@
   (let ((pair (assoc str fc-font-name-weight-mapping-string-reverse)))
     (if pair (cdr pair))))
 
+(defun fc-pattern-get-or-compute-size (pattern id)
+  "Get the size from `pattern' associated with `id' or try to compute it.
+Returns 'fc-result-no-match if unsucessful."
+  ;;  Many font patterns don't have a "size" property, but do have a
+  ;;  "dpi" and a "pixelsize" property".
+  (let ((maybe (fc-pattern-get-size pattern id)))
+    (if (not (eq maybe 'fc-result-no-match))
+	maybe
+      (let ((dpi (fc-pattern-get-dpi pattern id))
+	    (pixelsize (fc-pattern-get-pixelsize pattern id)))
+	(if (and (numberp dpi)
+		 (numberp pixelsize))
+	    (* pixelsize (/ 72 dpi))
+	  'fc-result-no-match)))))
+
 (defun fc-copy-pattern-partial (pattern attribute-list)
   "Return a copy of PATTERN restricted to ATTRIBUTE-LIST.