changeset: 4370:b94710365f92d6c1d9f65e9c982320b389b95bd8
tag: tip
parent: 4369:ef9eb714f0e4f7e3ce0b25501288563ec23a8d13
parent: 4368:1740095ec116f9e1cbd7db413b98c22e3a56f862
user: Aidan Kehoe <kehoea(a)parhasard.net>
date: Sun Dec 30 16:19:21 2007 +0100
files: lisp/ChangeLog
description:
Automated merge with file:/Sources/xemacs-21.5-checked-out
diff -r ef9eb714f0e4f7e3ce0b25501288563ec23a8d13 -r
b94710365f92d6c1d9f65e9c982320b389b95bd8 ChangeLog
--- a/ChangeLog Sun Dec 30 16:18:33 2007 +0100
+++ b/ChangeLog Sun Dec 30 16:19:21 2007 +0100
@@ -1,3 +1,12 @@ 2007-12-23 Stephen J. Turnbull <stephe
+2007-12-26 Stephen J. Turnbull <stephen(a)xemacs.org>
+
+ * Makefile.in.in (mkpkgdir): Ensure only one late package directory.
+
+2007-12-26 Stephen J. Turnbull <stephen(a)xemacs.org>
+
+ * Makefile.in.in (check-available-packages): Say where to install.
+ (mkpkgdir):
+
2007-12-23 Stephen J. Turnbull <stephen(a)xemacs.org>
* Makefile.in.in (mkpkgdir):
diff -r ef9eb714f0e4f7e3ce0b25501288563ec23a8d13 -r
b94710365f92d6c1d9f65e9c982320b389b95bd8 Makefile.in.in
--- a/Makefile.in.in Sun Dec 30 16:18:33 2007 +0100
+++ b/Makefile.in.in Sun Dec 30 16:19:21 2007 +0100
@@ -500,21 +500,31 @@ pkgsrcdir = ${srcdir}/etc/bundled-packag
check-available-packages:
@if test -r ${pkgsrcdir}/bootstrap.tar.gz; \
- then echo "To install a set of bootstrap packages, type:"; \
+ then echo "To install a set of bootstrap packages in"; \
+ echo "${package_path}/xemacs-packages, type:"; \
echo " make install-bootstrap-packages"; \
fi; \
if test -r ${pkgsrcdir}/xemacs-sumo.tar.gz; \
- then echo "To install the full set of non-mule packages, type:"; \
+ then echo "To install the full set of non-mule packages in"; \
+ echo "${package_path}/xemacs-packages, type:"; \
echo " make install-nonmule-packages"; \
fi; \
if test -r ${pkgsrcdir}/xemacs-mule-sumo.tar.gz; \
- then echo "To install the full set of packages with mule, type:"; \
+ 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; \
diff -r ef9eb714f0e4f7e3ce0b25501288563ec23a8d13 -r
b94710365f92d6c1d9f65e9c982320b389b95bd8 etc/ChangeLog
--- a/etc/ChangeLog Sun Dec 30 16:18:33 2007 +0100
+++ b/etc/ChangeLog Sun Dec 30 16:19:21 2007 +0100
@@ -1,3 +1,7 @@ 2007-12-23 Stephen J. Turnbull <stephe
+2007-12-26 Stephen J. Turnbull <stephen(a)xemacs.org>
+
+ * bundled-packages/README: Document restriction on --with-late-packages.
+
2007-12-23 Stephen J. Turnbull <stephen(a)xemacs.org>
* bundled-packages/README: Documentation for bundled packages.
diff -r ef9eb714f0e4f7e3ce0b25501288563ec23a8d13 -r
b94710365f92d6c1d9f65e9c982320b389b95bd8 etc/bundled-packages/README
--- a/etc/bundled-packages/README Sun Dec 30 16:18:33 2007 +0100
+++ b/etc/bundled-packages/README Sun Dec 30 16:19:21 2007 +0100
@@ -1,10 +1,13 @@ Package distributions may be placed in t
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
diff -r ef9eb714f0e4f7e3ce0b25501288563ec23a8d13 -r
b94710365f92d6c1d9f65e9c982320b389b95bd8 lisp/ChangeLog
--- a/lisp/ChangeLog Sun Dec 30 16:18:33 2007 +0100
+++ b/lisp/ChangeLog Sun Dec 30 16:19:21 2007 +0100
@@ -11,6 +11,33 @@ 2007-12-30 Aidan Kehoe <kehoea@parhasa
cl.el's #'loop.
* iso8859-1.el (ctl-arrow):
Initialise it to something more comprehensible.
+
+2007-12-30 Aidan Kehoe <kehoea(a)parhasard.net>
+
+ * loadhist.el (symbol-file):
+ Accept a new TYPE argument, compatible with GNU, saying
+ whether function or variable definitions should be searched for.
+ Implement the functionality for autoloads, handling TYPE
+ correctly.
+ Pass the TYPE argument to built-in-symbol-file correctly.
+ Document that TYPE is not implemented for non-autoloaded Lisp
+ definitions. Our load-history doesn't have the relevant metadata.
+
+2007-12-25 Aidan Kehoe <kehoea(a)parhasard.net>
+
+ * glyphs.el (init-glyphs):
+ Revert part of Didier's 2007-10-15 commit, which broke
+ #'make-image-specifier with string arguments, and more noticeably
+ truncation-glyph, continuation-glyph, octal-escape-glyph,
+ control-arrow-glyph.
+
+2007-12-23 Mike Sperber <mike(a)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(a)xemacs.org>
diff -r ef9eb714f0e4f7e3ce0b25501288563ec23a8d13 -r
b94710365f92d6c1d9f65e9c982320b389b95bd8 lisp/font.el
--- a/lisp/font.el Sun Dec 30 16:18:33 2007 +0100
+++ b/lisp/font.el Sun Dec 30 16:19:21 2007 +0100
@@ -813,7 +813,7 @@ Optional DEVICE defaults to `default-x-d
(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))
diff -r ef9eb714f0e4f7e3ce0b25501288563ec23a8d13 -r
b94710365f92d6c1d9f65e9c982320b389b95bd8 lisp/fontconfig.el
--- a/lisp/fontconfig.el Sun Dec 30 16:18:33 2007 +0100
+++ b/lisp/fontconfig.el Sun Dec 30 16:19:21 2007 +0100
@@ -350,6 +350,21 @@ corresponding Xft font slant constant."
(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.
diff -r ef9eb714f0e4f7e3ce0b25501288563ec23a8d13 -r
b94710365f92d6c1d9f65e9c982320b389b95bd8 lisp/glyphs.el
--- a/lisp/glyphs.el Sun Dec 30 16:18:33 2007 +0100
+++ b/lisp/glyphs.el Sun Dec 30 16:19:21 2007 +0100
@@ -1185,8 +1185,7 @@ If unspecified in a particular domain, `
[jpeg :data nil] 2)))
,@(if (featurep 'png) '(("\\.png\\'" [png :file nil] 2)))
,@(if (featurep 'png) '(("\\`\211PNG" [png :data nil] 2)))
- ;; No, I don't think we want to inline images... -- dvl
- ;; ("" [string :data nil] 2)
+ ("" [string :data nil] 2)
("" [nothing]))))
;; #### this should really be formatted-string, not string but we
;; don't have it implemented yet
@@ -1210,8 +1209,7 @@ If unspecified in a particular domain, `
("\\`\377\330\377\340\000\020JFIF" [string :data
"[jpeg]"])
("\\.png\\'" [string :data nil] 2)
("\\`\211PNG" [string :data "[png]"])
- ;; No, I don't think we want to inline images... -- dvl
- ;;("" [string :data nil] 2)
+ ("" [string :data nil] 2)
;; this last one is here for pointers and icons and such --
;; strings are not allowed so they will be ignored.
("" [nothing])))
diff -r ef9eb714f0e4f7e3ce0b25501288563ec23a8d13 -r
b94710365f92d6c1d9f65e9c982320b389b95bd8 lisp/loadhist.el
--- a/lisp/loadhist.el Sun Dec 30 16:18:33 2007 +0100
+++ b/lisp/loadhist.el Sun Dec 30 16:19:21 2007 +0100
@@ -25,6 +25,8 @@
;;; Synched up with: FSF 20.2.
+;; #### Sync this file!
+
;;; Commentary:
;; This file is dumped with XEmacs.
@@ -37,19 +39,36 @@
;; load-history is a list of entries that look like this:
;; ("outline" outline-regexp ... (require . wid-edit) ... (provide . outline)
...)
-(defun symbol-file (sym)
+(defun symbol-file (sym &optional type)
"Return the input source from which SYM was loaded.
-This is a file name, or nil if the source was a buffer with no associated file."
+This is a file name, or nil if the source was a buffer with no associated file.
+
+If TYPE is nil or omitted, any kind of definition is acceptable.
+If TYPE is `defun', then function, subr, special form or macro definitions
+are acceptable.
+If TYPE is `defvar', then variable definitions are acceptable.
+
+#### For the moment the difference is not implemented for non-autoloaded
+Lisp symbols."
(interactive "SFind source file for symbol: ") ; XEmacs
(block look-up-symbol-file
- (dolist (entry load-history)
- (when (memq sym (cdr entry))
- (return-from look-up-symbol-file (car entry))))
- (when (or (and (boundp sym) (built-in-variable-type sym))
- (and (fboundp sym) (subrp (symbol-function sym))))
- (let ((built-in-file (built-in-symbol-file sym)))
- (if built-in-file
- (concat source-directory "/src/" built-in-file))))))
+ (let (built-in-file autoload-cons)
+ (when (and
+ (eq 'autoload
+ (car-safe (setq autoload-cons
+ (and (fboundp sym)
+ (symbol-function sym)))))
+ (or (and (or (null type) (eq 'defvar type))
+ (eq (fifth autoload-cons) 'keymap))
+ (and (or (null type) (eq 'defvar type))
+ (memq (fifth autoload-cons) '(nil macro)))))
+ (return-from look-up-symbol-file
+ (locate-library (second autoload-cons))))
+ (dolist (entry load-history)
+ (when (memq sym (cdr entry))
+ (return-from look-up-symbol-file (car entry))))
+ (setq built-in-file (built-in-symbol-file sym type))
+ (if built-in-file (concat source-directory "/src/" built-in-file)))))
(defun feature-symbols (feature)
"Return the file and list of symbols associated with a given FEATURE."
diff -r ef9eb714f0e4f7e3ce0b25501288563ec23a8d13 -r
b94710365f92d6c1d9f65e9c982320b389b95bd8 src/ChangeLog
--- a/src/ChangeLog Sun Dec 30 16:18:33 2007 +0100
+++ b/src/ChangeLog Sun Dec 30 16:19:21 2007 +0100
@@ -1,3 +1,17 @@ 2007-12-24 Aidan Kehoe <kehoea@parhasa
+2007-12-30 Aidan Kehoe <kehoea(a)parhasard.net>
+
+ * doc.c (Fbuilt_in_symbol_file):
+ Take a new TYPE argument, specifying whether the function or
+ variable definition of the symbol should be searched for.
+ Handle built-in macros correctly.
+
+2007-12-24 Aidan Kehoe <kehoea(a)parhasard.net>
+
+ * event-xlike-inc.c (x_keysym_to_character):
+ * event-xlike-inc.c (gtk_keysym_to_character):
+ Unify the typed character if possible, following the current value
+ for the unicode precedence list.
+
2007-12-24 Aidan Kehoe <kehoea(a)parhasard.net>
* symbols.c (Fintern_soft):
diff -r ef9eb714f0e4f7e3ce0b25501288563ec23a8d13 -r
b94710365f92d6c1d9f65e9c982320b389b95bd8 src/doc.c
--- a/src/doc.c Sun Dec 30 16:18:33 2007 +0100
+++ b/src/doc.c Sun Dec 30 16:19:21 2007 +0100
@@ -37,7 +37,7 @@ Boston, MA 02111-1307, USA. */
Lisp_Object Vinternal_doc_file_name;
-Lisp_Object QSsubstitute;
+Lisp_Object QSsubstitute, Qdefvar;
/* Work out what source file a function or variable came from, taking the
information from the documentation file. */
@@ -499,21 +499,28 @@ weird_doc (Lisp_Object sym, const CIbyte
weirdness, type, XSTRING_DATA (XSYMBOL (sym)->name), pos);
}
-DEFUN ("built-in-symbol-file", Fbuilt_in_symbol_file, 1, 1, 0, /*
+DEFUN ("built-in-symbol-file", Fbuilt_in_symbol_file, 1, 2, 0, /*
Return the C source file built-in symbol SYM comes from.
Don't use this. Use the more general `symbol-file' (q.v.) instead.
+
+If TYPE is nil or omitted, any kind of definition is acceptable.
+If TYPE is `defun', then function, subr, special form or macro definitions
+are acceptable.
+If TYPE is `defvar', then variable definitions are acceptable.
*/
- (symbol))
+ (symbol, type))
{
/* This function can GC */
Lisp_Object fun;
Lisp_Object filename = Qnil;
- if (EQ(Ffboundp(symbol), Qt))
+ if (EQ(Ffboundp(symbol), Qt) && (EQ(type, Qnil) || EQ(type, Qdefun)))
{
fun = Findirect_function (symbol);
- if (SUBRP (fun))
+ if (SUBRP (fun) || (CONSP(fun) && (EQ (Qmacro, Fcar_safe (fun)))
+ && (fun = Fcdr_safe (fun))
+ && (SUBRP (fun))))
{
if (XSUBR (fun)->doc == 0)
return Qnil;
@@ -529,7 +536,7 @@ Don't use this. Use the more general `s
(make_int (- (EMACS_INT) XSUBR (fun)->doc));
}
}
- else if (EQ(Fboundp(symbol), Qt))
+ else if (EQ(Fboundp(symbol), Qt) && (EQ(type, Qnil) || EQ(type, Qdefvar)))
{
Lisp_Object doc_offset = Fget (symbol, Qvariable_documentation, Qnil);
@@ -1273,6 +1280,8 @@ syms_of_doc (void)
DEFSUBR (Fsnarf_documentation);
DEFSUBR (Fverify_documentation);
DEFSUBR (Fsubstitute_command_keys);
+
+ DEFSYMBOL (Qdefvar);
}
void
diff -r ef9eb714f0e4f7e3ce0b25501288563ec23a8d13 -r
b94710365f92d6c1d9f65e9c982320b389b95bd8 src/event-xlike-inc.c
--- a/src/event-xlike-inc.c Sun Dec 30 16:18:33 2007 +0100
+++ b/src/event-xlike-inc.c Sun Dec 30 16:19:21 2007 +0100
@@ -708,7 +708,15 @@ gtk_keysym_to_character(guint keysym)
return Qnil;
#ifdef MULE
- return make_char (make_ichar (charset, code, 0));
+ {
+ Lisp_Object unified = Funicode_to_char
+ (Fchar_to_unicode (make_char (make_ichar (charset, code, 0))), Qnil);
+ if (!NILP (unified))
+ {
+ return unified;
+ }
+ return make_char (make_ichar (charset, code, 0));
+ }
#else
return make_char (code + 0x80);
#endif
diff -r ef9eb714f0e4f7e3ce0b25501288563ec23a8d13 -r
b94710365f92d6c1d9f65e9c982320b389b95bd8 tests/ChangeLog
--- a/tests/ChangeLog Sun Dec 30 16:18:33 2007 +0100
+++ b/tests/ChangeLog Sun Dec 30 16:19:21 2007 +0100
@@ -1,3 +1,11 @@ 2007-12-21 Stephen J. Turnbull <stephe
+2007-12-29 Stephen J. Turnbull <stephen(a)xemacs.org>
+
+ * automated/test-harness.el (test-harness-test-compiled):
+ Improve docstring.
+
+ * automated/weak-tests.el (test-harness-test-compiled):
+ Remove debugging code.
+
2007-12-21 Stephen J. Turnbull <stephen(a)xemacs.org>
* reproduce-crashes.el: Renamed from reproduce-bugs.el. Update to-do.
diff -r ef9eb714f0e4f7e3ce0b25501288563ec23a8d13 -r
b94710365f92d6c1d9f65e9c982320b389b95bd8 tests/automated/test-harness.el
--- a/tests/automated/test-harness.el Sun Dec 30 16:18:33 2007 +0100
+++ b/tests/automated/test-harness.el Sun Dec 30 16:19:21 2007 +0100
@@ -71,7 +71,17 @@ on the system, or a system error might o
(defvar unexpected-test-file-failures)
(defvar test-harness-test-compiled nil
- "Non-nil means the test code was compiled before execution.")
+ "Non-nil means the test code was compiled before execution.
+
+You probably should not make tests depend on compilation.
+However, it can be useful to conditionally change messages based on whether
+the code was compiled or not. For example, the case that motivated the
+implementation of this variable:
+
+\(when test-harness-test-compiled
+ ;; this ha-a-ack depends on the failing compiled test coming last
+ \(setq test-harness-failure-tag
+ \"KNOWN BUG - fix reverted; after 2003-10-31 notify stephen\n\"))")
(defvar test-harness-verbose
(and (not noninteractive) (> (device-baud-rate) search-slow-speed))
diff -r ef9eb714f0e4f7e3ce0b25501288563ec23a8d13 -r
b94710365f92d6c1d9f65e9c982320b389b95bd8 tests/automated/weak-tests.el
--- a/tests/automated/weak-tests.el Sun Dec 30 16:18:33 2007 +0100
+++ b/tests/automated/weak-tests.el Sun Dec 30 16:19:21 2007 +0100
@@ -35,11 +35,6 @@
(when (and (boundp 'load-file-name) (stringp load-file-name))
(push (file-name-directory load-file-name) load-path)
(require 'test-harness))))
-
-(when test-harness-test-compiled
- ;; this ha-a-ack depends on the compiled test coming last
- (setq test-harness-failure-tag
- "KNOWN BUG - fix reverted; after 2003-10-31 bitch at stephen\n"))
(garbage-collect)
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-patches