Mercurial > hg > xemacs-beta
changeset 4370:b94710365f92
Automated merge with file:/Sources/xemacs-21.5-checked-out
author | Aidan Kehoe <kehoea@parhasard.net> |
---|---|
date | Sun, 30 Dec 2007 16:19:21 +0100 |
parents | ef9eb714f0e4 (current diff) 1740095ec116 (diff) |
children | 9fdac4a4ae62 |
files | lisp/ChangeLog |
diffstat | 15 files changed, 165 insertions(+), 36 deletions(-) [+] |
line wrap: on
line diff
--- 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-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> * Makefile.in.in (mkpkgdir):
--- 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 @@ 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; \
--- 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-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 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 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 Sun Dec 30 16:18:33 2007 +0100 +++ b/lisp/ChangeLog Sun Dec 30 16:19:21 2007 +0100 @@ -12,6 +12,33 @@ * iso8859-1.el (ctl-arrow): Initialise it to something more comprehensible. +2007-12-30 Aidan Kehoe <kehoea@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@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@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 Sun Dec 30 16:18:33 2007 +0100 +++ b/lisp/font.el Sun Dec 30 16:19:21 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 Sun Dec 30 16:18:33 2007 +0100 +++ b/lisp/fontconfig.el Sun Dec 30 16:19:21 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.
--- 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 @@ [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 @@ ("\\`\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])))
--- 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."
--- 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-30 Aidan Kehoe <kehoea@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@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@parhasard.net> * symbols.c (Fintern_soft):
--- 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 @@ 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 @@ 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 @@ (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 @@ DEFSUBR (Fsnarf_documentation); DEFSUBR (Fverify_documentation); DEFSUBR (Fsubstitute_command_keys); + + DEFSYMBOL (Qdefvar); } void
--- 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 @@ 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
--- 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-29 Stephen J. Turnbull <stephen@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@xemacs.org> * reproduce-crashes.el: Renamed from reproduce-bugs.el. Update to-do.
--- 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 @@ (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))
--- 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 @@ -36,11 +36,6 @@ (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) ;; tests for weak-boxes