# HG changeset patch # User cvs # Date 1186992903 -7200 # Node ID 89ec2bb86eea6b4ec4b413d1097e6a24c399d390 # Parent 78d3ccccee6d8522e26176aa513ea2daa886fca9 Import from CVS: tag r20-5b17 diff -r 78d3ccccee6d -r 89ec2bb86eea CHANGES-beta --- a/CHANGES-beta Mon Aug 13 10:14:42 2007 +0200 +++ b/CHANGES-beta Mon Aug 13 10:15:03 2007 +0200 @@ -1,4 +1,9 @@ -*- indented-text -*- +to 20.5 beta17 "Chapar" +-- Tutorial menubar support courtesy of Didier Verna +-- Package-get refined courtesy of Pete Ware +-- Package related build fixes + to 20.5 beta16 "Canindé" -- Package interface updates -- Reload updated and new auto-autoloads files at startup diff -r 78d3ccccee6d -r 89ec2bb86eea ChangeLog --- a/ChangeLog Mon Aug 13 10:14:42 2007 +0200 +++ b/ChangeLog Mon Aug 13 10:15:03 2007 +0200 @@ -1,3 +1,12 @@ +1998-01-04 SL Baur + + * XEmacs 20.5-beta17 is released. + + * Makefile.in (finder): Use -vanilla. + (lisp/finder-inf.el): Ditto. + (check-features): New target. Do a sanity check prior to + installation. + 1997-01-03 SL Baur * XEmacs 20.5-beta16 is released. diff -r 78d3ccccee6d -r 89ec2bb86eea Makefile.in --- a/Makefile.in Mon Aug 13 10:14:42 2007 +0200 +++ b/Makefile.in Mon Aug 13 10:15:03 2007 +0200 @@ -271,14 +271,14 @@ finder: src @echo "Building finder database" @(cd lisp; \ - ${blddir}/src/xemacs -batch -q -no-site-file \ + ${blddir}/src/xemacs -batch -vanilla \ -eval '(setq finder-compile-keywords-quiet t)' \ -l finder -f finder-compile-keywords ) lisp/finder-inf.el: @echo "Building finder database" @(cd lisp; \ - ${blddir}/src/xemacs -batch -q -no-site-file \ + ${blddir}/src/xemacs -batch -vanilla \ -eval '(setq finder-compile-keywords-quiet t)' \ -l finder -f finder-compile-keywords ) @@ -380,6 +380,7 @@ ## On Xenix, use tar xpf. .PHONY: install-only install install-arch-dep install-arch-indep gzip.el mkdir +.PHONY: check-features ## We delete each directory in ${COPYDESTS} before we copy into it; ## that way, we can reinstall over directories that have been put in @@ -395,9 +396,12 @@ ## inconsistency in the build process. So we go ahead and depend on ## all. --cet -install-only: ${MAKE_SUBDIR} install-arch-dep install-arch-indep +check-features: all + ${blddir}/src/xemacs -batch -l check-features.el -install: all install-arch-dep install-arch-indep; +install-only: ${MAKE_SUBDIR} check-features install-arch-dep install-arch-indep + +install: all check-features install-arch-dep install-arch-indep; install-arch-dep: mkdir for subdir in ${INSTALL_ARCH_DEP_SUBDIR}; do \ diff -r 78d3ccccee6d -r 89ec2bb86eea lisp/ChangeLog --- a/lisp/ChangeLog Mon Aug 13 10:14:42 2007 +0200 +++ b/lisp/ChangeLog Mon Aug 13 10:15:03 2007 +0200 @@ -1,3 +1,37 @@ +1998-01-02 Didier Verna + + * x-menubar.el (default-menubar): make the tutorials available + through the menubar. (Plus some compilation warnings cleanup). + +1998-01-04 SL Baur + + * check-features.el: New file. Perform sanity check after build. + + * dumped-lisp.el (preloaded-file-list): Move tooltalk dumped lisp + files to tooltalk package. + (preloaded-file-list): Moved sparcworks dumped lisp files to Sun + package. + + * package-admin.el (package-admin-xemacs): Use better default for + location of XEmacs binary. + +1998-01-03 Aki Vehtari + + * x-menubar.el (buffers-menu-submenus-for-groups-p): Replace const + tag with sexp and add value tag with value `t'. + +1998-01-03 SL Baur + + * package-get.el: Changes to work with real data. + From Pete Ware + + * packages.el (packages-reload-autoloads): Guard load for the time + being. + + * update-elc.el ("packages.el"): Force loading packages.el instead + of possibly out-of-date packges.elc. + * make-docfile.el ("packages.el"): Ditto. + 1998-01-02 Colin Rafferty * build-report.el (build-report-delete-regexp): Added a rule for diff -r 78d3ccccee6d -r 89ec2bb86eea lisp/auto-autoloads.el --- a/lisp/auto-autoloads.el Mon Aug 13 10:14:42 2007 +0200 +++ b/lisp/auto-autoloads.el Mon Aug 13 10:15:03 2007 +0200 @@ -1152,12 +1152,7 @@ ;;;*** -;;;### (autoloads (unload-feature) "loadhist" "lisp/loadhist.el") - -(autoload 'unload-feature "loadhist" "\ -Unload the library that provided FEATURE, restoring all its autoloads. -If the feature is required by any other loaded code, and optional FORCE -is nil, raise an error." t nil) +;;;### (autoloads nil "loadhist" "lisp/loadhist.el") ;;;*** diff -r 78d3ccccee6d -r 89ec2bb86eea lisp/check-features.el --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lisp/check-features.el Mon Aug 13 10:15:03 2007 +0200 @@ -0,0 +1,58 @@ +;;; check-features.el --- Do a sanity check on an XEmacs build + +;; Copyright (C) 1998 by Free Software Foundation, Inc. + +;; Author: SL Baur +;; Keywords: internal + +;; This file is part of XEmacs. + +;; XEmacs is free software; you can redistribute it and/or modify it +;; under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 2, or (at your option) +;; any later version. + +;; XEmacs is distributed in the hope that it will be useful, but +;; WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +;; General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with XEmacs; see the file COPYING. If not, write to the Free +;; Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA +;; 02111-1307, USA. + +;;; Synched up with: Not in FSF + +;;; Commentary: + +;; This file is executed after a build to check that all lisp packages that +;; need to be installed are. + +;;; Code: + +(require 'packages) + +(defvar build-error 0) + +(when (featurep 'tooltalk) + (condition-case nil + (package-require 'tooltalk 1.0) + (t (progn + (setq build-error 1) + (message "Error: This XEmacs is built with tooltalk support but") + (message "does not have a tooltalk package installed. Without the") + (message "tooltalk lisp package, Tooltalk support is broken."))))) + +(when (featurep 'sparcworks) + (condition-case nil + (package-require 'Sun 1.0) + (t (progn + (setq build-error 1) + (message "Error: This XEmacs is built with sparcworks support but") + (message "does not have the Sun package installed. Without the Sun") + (message "lisp package, Sparcworks support will be broken."))))) + +(kill-emacs build-error) + +;;; check-features.el ends here diff -r 78d3ccccee6d -r 89ec2bb86eea lisp/dumped-lisp.el --- a/lisp/dumped-lisp.el Mon Aug 13 10:14:42 2007 +0200 +++ b/lisp/dumped-lisp.el Mon Aug 13 10:15:03 2007 +0200 @@ -169,9 +169,10 @@ ;; preload the TTY init code. #+tty "tty-init" ;;; Formerly in tooltalk/tooltalk-load.el - #+tooltalk "tooltalk-macros" - #+tooltalk "tooltalk-util" - #+tooltalk "tooltalk-init" + ;; Moved to tooltalk package + ;; #+tooltalk "tooltalk-macros" + ;; #+tooltalk "tooltalk-util" + ;; #+tooltalk "tooltalk-init" ;; "vc-hooks" ; Packaged. Available in two versions. ;; "ediff-hook" ; Packaged. "fontl-hooks" @@ -179,11 +180,14 @@ ;; #+energize "energize/energize-load.el" ;;; formerly in sunpro/sunpro-load.el ;; #+(and mule sparcworks) "mime-setup" - #+sparcworks "cc-mode" ; Requires cc-mode package - #+sparcworks "sunpro-init" - #+sparcworks "ring" - #+sparcworks "comint" ; Requires comint package - #+sparcworks "annotations" + + ;; Moved to Sun package + ;; #+sparcworks "cc-mode" ; Requires cc-mode package + ;; #+sparcworks "sunpro-init" + ;; #+sparcworks "ring" + ;; #+sparcworks "comint" ; Requires comint package + ;; #+sparcworks "annotations" + ;;; formerly in eos/sun-eos-load.el ;; #+sparcworks "sun-eos-init" ;; #+sparcworks "sun-eos-common" diff -r 78d3ccccee6d -r 89ec2bb86eea lisp/make-docfile.el --- a/lisp/make-docfile.el Mon Aug 13 10:14:42 2007 +0200 +++ b/lisp/make-docfile.el Mon Aug 13 10:15:03 2007 +0200 @@ -88,7 +88,7 @@ (setq autoload-file-name "auto-autoloads.elc") (setq source-directory (concat default-directory "../lisp")) ;; (print (concat "Source directory: " source-directory)) -(require 'packages) +(load "packages.el") (let (preloaded-file-list) (load (concat default-directory "../lisp/dumped-lisp.el")) diff -r 78d3ccccee6d -r 89ec2bb86eea lisp/package-admin.el --- a/lisp/package-admin.el Mon Aug 13 10:14:42 2007 +0200 +++ b/lisp/package-admin.el Mon Aug 13 10:15:03 2007 +0200 @@ -32,8 +32,7 @@ (require 'config) -(defvar package-admin-xemacs (concat (config-value 'top_srcdir) - "/src/xemacs") +(defvar package-admin-xemacs (concat invocation-directory invocation-name) "Location of XEmacs binary to use.") (defvar package-admin-temp-buffer "*Package Output*" diff -r 78d3ccccee6d -r 89ec2bb86eea lisp/package-get-base.el --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lisp/package-get-base.el Mon Aug 13 10:15:03 2007 +0200 @@ -0,0 +1,369 @@ +(setq package-get-base +'((cookie + (version "1.02" + filename "cookie-1.02-pkg.tar.gz" + md5sum "95e110ddf03202403e45950d2cb53b11" + size 33774 + provides (cookie1 yow) + requires (xemacs-base games-misc) + type regular +)) +(mine + (version "1.02" + filename "mine-1.02-pkg.tar.gz" + md5sum "054f2eefb015b2878ba37f6473a47dec" + size 67166 + provides (xmine) + requires (xemacs-base) + type regular +)) +(misc-games + (version "1.01" + filename "misc-games-1.01-pkg.tar.gz" + md5sum "a86cf625a2700a9b0e7f71139df011a7" + size 172861 + provides (decipher gomoku hanoi life tetris) + requires (xemacs-base) + type single +)) +(Sun + (version "1.02" + filename "Sun-1.02-pkg.tar.gz" + md5sum "22d61bc22784e1509a3b74e38393b828" + size 63707 + provides (sccs eos-browser eos-common eos-debugger eos-debugger eos-editor eos-init eos-load eos-menubar eos-toolbar sunpro) + requires (cc-mode xemacs-base) + type regular +)) +(apel + (version "1.01" + filename "apel-1.01-pkg.tar.gz" + md5sum "6de339aeae8a36be7e954a80bb18bc3c" + size 34546 + provides (atype emu-20 emu-e19 emu-x20 emu-xemacs emu file-detect filename install mule-caesar path-util richtext std11-parse std11 tinyrich) + requires (xemacs-base) + type regular +)) +(edebug + (version "1.01" + filename "edebug-1.01-pkg.tar.gz" + md5sum "7ebf5f57dc47236f71d38a387d3cdccc" + size 117881 + provides (edebug cl-read cust-print eval-reg cl-specs) + requires (xemacs-base) + type regular +)) +(efs + (version "1.01" + filename "efs-1.01-pkg.tar.gz" + md5sum "d2ad5d764d60345e4530dc679715ec26" + size 506222 + provides (efs dired efs-auto) + requires (xemacs-base) + type regular +)) +(mail-lib + (version "1.02" + filename "mail-lib-1.02-pkg.tar.gz" + md5sum "2d02a1b69146925c13ae4e2d759b1fb2" + size 118488 + provides (browse-url highlight-headers mail-abbrevs mail-extr mail-utils reporter rfc822 rmail-mini sendmail smtpmail) + requires (xemacs-base) + type single +)) +(tooltalk + (version "1.02" + filename "tooltalk-1.02-pkg.tar.gz" + md5sum "3fdf1c49c43dd852d2c8895e074c39ba" + size 9174 + provides () + type regular +)) +(xemacs-base + (version "1.05" + filename "xemacs-base-1.05-pkg.tar.gz" + md5sum "cbfeb7910ba552a47a23cde220156179" + size 394189 + provides (add-log advice annotations assoc case-table chistory comint-xemacs comint compile edmacro ehelp electric enriched env facemenu helper imenu iso-syntax outline passwd pp regi ring shell skeleton sort thing time-stamp timezone xbm-button xpm-button) + type regular +)) +(xemacs-devel + (version "1.03" + filename "xemacs-devel-1.03-pkg.tar.gz" + md5sum "e806e74988a89ac66314a72b6f0801a8" + size 64241 + provides (docref eldoc elp find-func ielm regexp-opt trace) + requires (xemacs-base) + type single +)) +(egg-its + (version "1.01" + filename "egg-its-1.01-pkg.tar.gz" + md5sum "ba5e6aca993a2795a1cc3bedfbc7dcc0" + size 316515 + provides () + requires (xemacs-base mule-base) + type regular +)) +(leim + (version "1.01" + filename "leim-1.01-pkg.tar.gz" + md5sum "5c467eb0476c9da9cc6f671da1884685" + size 1743472 + provides () + requires (xemacs-base mule-base) + type regular +)) +(locale + (version "1.01" + filename "locale-1.01-pkg.tar.gz" + md5sum "2f390e23929941a6aa6e3478a3f10ed7" + size 20628 + provides () + requires (xemacs-base mule-base) + type regular +)) +(mule-base + (version "1.02" + filename "mule-base-1.02-pkg.tar.gz" + md5sum "bf8754e52b309e130242bf5036de9a3e" + size 499508 + provides (canna-leim canna char-table china-util cyril-util isearch-ext japan-util ccl can-n-egg mule-help) + requires (xemacs-base) + type regular +)) +(skk + (version "1.01" + filename "skk-1.01-pkg.tar.gz" + md5sum "9aa608eccfe7da7371ea7924c3523545" + size 1464809 + provides (skk skk-tut) + requires (xemacs-base mule-base) + type regular +)) +(calendar + (version "1.01" + filename "calendar-1.01-pkg.tar.gz" + md5sum "bc0908ae5798f662b9cc5cb52325c21e" + size 168660 + provides (appt cal-dst cal-french cal-mayan cal-x cal-xemacs calendar diary-ins diary-lib holidays lunar solar) + requires (xemacs-base) + type regular +)) +(edit-utils + (version "1.03" + filename "edit-utils-1.03-pkg.tar.gz" + md5sum "af2cbb68fce602132f6153bb3814b59a" + size 498040 + provides (abbrevlist atomic-extents avoid backup-dir balloon-help big-menubar blink-cursor blink-paren bookmark compare-w completion dabbrev desktop detached-minibuf edit-toolbar fast-lock file-part floating-toolbar flow-ctrl foldout func-menu hippie-exp icomplete id-select info-look iswitchb lazy-lock lazy-shot live-icon man mic-paren paren mode-motion+ outl-mouse page-ext blink-paren paren recent-files redo reportmail rsz-minibuf saveconfsavehist saveplace scroll-in-place toolbar-utils tree-menu uniquify where-was-i-db) + requires (xemacs-base) + type single +)) +(forms + (version "1.03" + filename "forms-1.03-pkg.tar.gz" + md5sum "8f8a2d7118102b39e06e6a8766b3efe6" + size 39802 + provides (forms forms-mode) + type regular +)) +(hm--html-menus + (version "1.01" + filename "hm--html-menus-1.01-pkg.tar.gz" + md5sum "23e7e4a7e783e70c9d4d68ecf609884f" + size 145889 + provides (adapt hm--date hm--html-configuration hm--html-drag-and-drop hm--html-indentation hm--html-keys hm--html-menu hm--html-mode hm--html-not-standard hm--html html-view tmpl-minor-mode) + type regular +)) +(ispell + (version "1.02" + filename "ispell-1.02-pkg.tar.gz" + md5sum "2b9140b4b8757b64ccfc59755df5a7ab" + size 55709 + provides (ispell) + type regular +)) +(pc + (version "1.03" + filename "pc-1.03-pkg.tar.gz" + md5sum "97eef269303c73dbe5d19c0f2ce6ed4d" + size 11247 + provides (delbs pc-select pending-del s-region) + requires (xemacs-base) + type regular +)) +(slider + (version "1.03" + filename "slider-1.03-pkg.tar.gz" + md5sum "b7d54a810b03f394cafcbc4a8e6e5b44" + size 11845 + provides (slider color-selector) + type regular +)) +(speedbar + (version "1.01" + filename "speedbar-1.01-pkg.tar.gz" + md5sum "3fe68d6e9ae69036d35189a3ddebcc2e" + size 62397 + provides (speedbar) + requires (xemacs-base) + type regular +)) +(text-modes + (version "1.01" + filename "text-modes-1.01-pkg.tar.gz" + md5sum "6a4a4536bd9397f0af0b5d224f0176d3" + size 84693 + provides (autoinsert crontab-edit filladapt image-mode iso-acc iso-ascii iso-cvt iso-insert iso-swed swedish tabify whitespace-mode winmgr-mode xpm-mode xrdb-mode) + requires (xemacs-base) + type regular +)) +(time + (version "1.01" + filename "time-1.01-pkg.tar.gz" + md5sum "d20af53a3a5f2731032e38783db2b9e9" + size 19819 + provides (time) + requires (xemacs-base) + type regular +)) +(ada + (version "1.01" + filename "ada-1.01-pkg.tar.gz" + md5sum "3dfd652bb8e2aae934f34f1f015f4a57" + size 55141 + provides (ada-mode ada-stmt) + type regular +)) +(c-support + (version "1.01" + filename "c-support-1.01-pkg.tar.gz" + md5sum "eedf97a19d02454a0ac4021a213cd566" + size 41788 + provides (c-comment-edit cmacexp hideif hideshow) + requires (cc-mode xemacs-base) + type regular +)) +(cc-mode + (version "1.02" + filename "cc-mode-1.02-pkg.tar.gz" + md5sum "a6c3aab6e2c0168d981a5dacbab429f3" + size 128544 + provides (cc-mode) + requires (xemacs-base) + type regular +)) +(ediff + (version "1.01" + filename "ediff-1.01-pkg.tar.gz" + md5sum "68431adebf0b9b76b2e347b5cb531378" + size 241640 + provides (ediff) + requires (xemacs-base efs pcl-cvs) + type regular +)) +(pcl-cvs + (version "1.01" + filename "pcl-cvs-1.01-pkg.tar.gz" + md5sum "4fd7beb2f7a61c6bb8be8ebea5bfa03b" + size 134459 + provides (pcl-cvs dll elib-node generic-sc) + requires (xemacs-base) + type regular +)) +(prog-modes + (version "1.01" + filename "prog-modes-1.01-pkg.tar.gz" + md5sum "b0af0691a51202322a7d7d800a2d5543" + size 519423 + provides (autoconf-mode cperl-mode eiffel3 f90 fortran ksh-mode m4-mode makefile perl-mode postscript python-mode rexx-mode simula-mode tcl teco verilog-mod) + requires (xemacs-base mail-lib ) + type regular +)) +(sh-script + (version "1.02" + filename "sh-script-1.02-pkg.tar.gz" + md5sum "14493ca0455148f4d62b583d3c1562a9" + size 33556 + provides (sh-script executable) + requires (xemacs-base) + type regular +)) +(vc + (version "1.01" + filename "vc-cc-1.01-pkg.tar.gz" + md5sum "2e549b7fbebc82e7166a6c225344e46c" + size 95934 + provides (vc) + requires (xemacs-base efs) + type regular +)) +(vc + (version "1.01" + filename "vc-1.01-pkg.tar.gz" + md5sum "3b40953a1a171aed5f3f4e58963be229" + size 74214 + provides (vc) + requires (xemacs-base efs) + type regular +)) +(vhdl + (version "1.01" + filename "vhdl-1.01-pkg.tar.gz" + md5sum "cefebce133fae1544bcd4a487493bde4" + size 54036 + provides (vhdl-mode) + type regular +)) +(auctex + (version "1.01" + filename "auctex-1.01-pkg.tar.gz" + md5sum "f720a7e3cedae6276079adc2329b335b" + size 289282 + provides (auc-old bib-cite font-latex latex multi-prompt tex-buf tex-info tex-jp tex-site tex) + requires (xemacs-base) + type regular +)) +(crisp + (version "1.01" + filename "crisp-1.01-pkg.tar.gz" + md5sum "a984e6bc7446c14fc33d94d5ced95f57" + size 9029 + provides (crisp scroll-lock) + type regular +)) +(edt + (version "1.01" + filename "edt-1.01-pkg.tar.gz" + md5sum "7a9f9182ef96250906ec531ee8b81f46" + size 45966 + provides (edt) + requires (xemacs-base) + type regular +)) +(texinfo + (version "1.03" + filename "texinfo-1.03-pkg.tar.gz" + md5sum "391537d64b8e03a4233d124c0a92a6c9" + size 113799 + provides (makeinfo tex-mode texinfmt texinfo texnfo-tex texnfo-upd) + requires (xemacs-base) + type regular +)) +(tpu + (version "1.01" + filename "tpu-1.01-pkg.tar.gz" + md5sum "c76aa33c56bb7555c5976b42fdf7b391" + size 64845 + provides (tpu) + type regular +)) +(viper + (version "1.01" + filename "viper-1.01-pkg.tar.gz" + md5sum "c8b1c0c664baeefe4bfccac077d83ad3" + size 252762 + provides (viper) + type regular +)) +)) diff -r 78d3ccccee6d -r 89ec2bb86eea lisp/package-get.el --- a/lisp/package-get.el Mon Aug 13 10:14:42 2007 +0200 +++ b/lisp/package-get.el Mon Aug 13 10:15:03 2007 +0200 @@ -168,15 +168,18 @@ latest version. Optional argument FETCHED-PACKAGES is used to keep track of packages already fetched." (interactive "sPackage: sVersion: ") - (let* ((this-package (package-get-info-version - (package-get-info-find-package package-get-base - package) version)) + (let* ((the-package (package-get-info-find-package package-get-base + package)) + (this-package (package-get-info-version + the-package version)) (this-requires (package-get-info-prop this-package 'requires)) ) + (setq version (package-get-info-prop this-package 'version)) (unless (package-get-installedp package version) (package-get package version)) (setq fetched-packages - (append (package-get-info-prop this-package 'provides) + (append (list package) + (package-get-info-prop this-package 'provides) fetched-packages)) ;; grab everything that this package requires plus recursively ;; grab everything that the requires require. Keep track @@ -188,6 +191,8 @@ (car this-requires))) (reqd-version (cadr reqd-package)) (reqd-name (car reqd-package))) + (if (null reqd-name) + (error "Unable to find a provider for %s" (car this-requires))) (setq fetched-packages (package-get-all reqd-name reqd-version fetched-packages))) ) @@ -225,7 +230,7 @@ (if (null filename) (error "No filename associated with package %s, version %s" package version)) - + (setq version (package-get-info-prop this-package 'version)) (unless (and (eq conflict 'never) (package-get-installedp package version)) ;; Find the package from search list in package-get-remote @@ -252,7 +257,7 @@ (if (not (string= (buffer-substring (match-beginning 0) (match-end 0)) (package-get-info-prop this-package 'md5sum))) (error "Package %s does not match md5 checksum" filename))) - (message "Retrieved package %s" filename) (sit-for 1) + (message "Retrieved package %s" filename) (sit-for 0) (let ((status (if (eq (package-get-info-prop this-package 'type) 'single) (package-admin-add-single-file-package @@ -261,9 +266,9 @@ (package-get-staging-dir filename))))) (when (not (= status 0)) (message "Package failed.") - (select-buffer package-admin-temp-buffer))) - (sit-for 2) - (message "Added package") (sit-for 1) + (switch-to-buffer package-admin-temp-buffer))) + (sit-for 0) + (message "Added package") (sit-for 0) (setq found t)) (if (and found package-get-remove-copy) (delete-file (package-get-staging-dir filename))) @@ -372,9 +377,14 @@ (done nil) (found nil)) (while (and (not done) packages) - (let ((this-package (cdr (car packages)))) ;strip off package name + (let* ((this-name (caar packages)) + (this-package (cdr (car packages)))) ;strip off package name (while (and (not done) this-package) - (if (member sym (package-get-info-prop (car this-package) 'provides)) + (if (or (eq this-name sym) + (eq (cons this-name + (package-get-info-prop (car this-package) 'version)) + sym) + (member sym (package-get-info-prop (car this-package) 'provides))) (progn (setq done t) (setq found (list (caar packages) (package-get-info-prop (car this-package) 'version)))) diff -r 78d3ccccee6d -r 89ec2bb86eea lisp/package-info.el --- a/lisp/package-info.el Mon Aug 13 10:14:42 2007 +0200 +++ b/lisp/package-info.el Mon Aug 13 10:15:03 2007 +0200 @@ -75,7 +75,7 @@ (erase-buffer) (insert-file-contents-literally package-info-template) (goto-char (point-min)) - (pi-update-key "VERSION" version) + (pi-update-key "VERSION" (format "\"%s\"" version)) (pi-update-key "MD5SUM" (format "\"%s\"" (pi-md5sum filename))) (pi-update-key "FILENAME" (format "\"%s\"" diff -r 78d3ccccee6d -r 89ec2bb86eea lisp/packages.el --- a/lisp/packages.el Mon Aug 13 10:14:42 2007 +0200 +++ b/lisp/packages.el Mon Aug 13 10:15:03 2007 +0200 @@ -235,7 +235,9 @@ (when feature ;; (message "(unload-feature %S)" feature) (unload-feature feature)) - (load autoload-file)) + (condition-case nil + (load autoload-file) + (t nil))) (setq autoload-list (cdr autoload-list))))) ;; The following function cannot be called from a bare temacs diff -r 78d3ccccee6d -r 89ec2bb86eea lisp/update-elc.el --- a/lisp/update-elc.el Mon Aug 13 10:14:42 2007 +0200 +++ b/lisp/update-elc.el Mon Aug 13 10:15:03 2007 +0200 @@ -63,7 +63,7 @@ ; (nthcdr 3 command-line-args)))) (define-function 'defalias 'define-function) -(require 'packages) +(load "packages.el") (let ((autol (packages-list-autoloads))) ;; (print (prin1-to-string autol)) diff -r 78d3ccccee6d -r 89ec2bb86eea lisp/x-menubar.el --- a/lisp/x-menubar.el Mon Aug 13 10:14:42 2007 +0200 +++ b/lisp/x-menubar.el Mon Aug 13 10:15:03 2007 +0200 @@ -35,7 +35,11 @@ ;;; Warning-free compile (eval-when-compile - (defvar language-environment-list)) + (defvar language-environment-list) + (defvar bookmark-alist) + (defvar language-info-alist) + (defvar current-language-environment) + (defvar tutorial-supported-languages)) (defconst default-menubar (purecopy-menubar @@ -735,7 +739,39 @@ ("Help" ["About XEmacs..." about-xemacs t] ("Basics" - ["Tutorial" help-with-tutorial t] + ;; Tutorials. + ,(if (featurep 'mule) + ;; Mule tutorials. + (let ((lang language-info-alist) + submenu tut) + (while lang + (and (setq tut (assq 'tutorial (car lang))) + (not (string= (caar lang) "ASCII")) + (setq + submenu + (cons + `[,(caar lang) (help-with-tutorial nil ,(cdr tut)) t] + submenu))) + (setq lang (cdr lang))) + (append `("Tutorials" + :filter tutorials-menu-filter + ["Default" help-with-tutorial t + ,(concat "(" current-language-environment ")")]) + submenu)) + ;; Non mule tutorials. + (let ((lang tutorial-supported-languages) + submenu) + (while lang + (setq submenu + (cons + `[,(caar lang) + (help-with-tutorial ,(format "TUTORIAL.%s" + (cadr (car lang)))) t] + submenu)) + (setq lang (cdr lang))) + (append '("Tutorials" + ["English" help-with-tutorial t]) + submenu))) ["News" view-emacs-news t] ["Packages" finder-by-keyword t] ["Splash" xemacs-splash-buffer t]) @@ -989,7 +1025,7 @@ is not larger than this value." :type '(choice (const :tag "No Subgroups" nil) (integer :tag "Max. submenus" 10) - (const :tag "Allow Subgroups" t)) + (sexp :format "%t\n" :tag "Allow Subgroups" :value t)) :group 'buffers-menu) (defcustom buffers-menu-switch-to-buffer-function 'switch-to-buffer @@ -1553,6 +1589,26 @@ )) +;;; The Help menu + +(if (featurep 'mule) + (defun tutorials-menu-filter (menu-items) + ;; If there's a tutorial for the current language environment, make it + ;; appear first as the default one. Otherwise, use the english one. + (let* ((menu menu-items) + (item (pop menu-items))) + (aset + item 3 + (concat "(" + (if (assoc + 'tutorial + (assoc current-language-environment language-info-alist)) + current-language-environment + "English") + ")")) + menu))) + + (set-menubar default-menubar) diff -r 78d3ccccee6d -r 89ec2bb86eea src/emacs.c --- a/src/emacs.c Mon Aug 13 10:14:42 2007 +0200 +++ b/src/emacs.c Mon Aug 13 10:15:03 2007 +0200 @@ -634,8 +634,10 @@ /* Handle the -batch switch, which means don't do interactive display. */ if (argmatch (argv, argc, "-batch", "--batch", 5, NULL, &skip_args)) { +#if 0 /* I don't think this is correct. */ inhibit_update_autoloads = 1; inhibit_update_dumped_lisp = 1; +#endif noninteractive = 1; } diff -r 78d3ccccee6d -r 89ec2bb86eea version.sh --- a/version.sh Mon Aug 13 10:14:42 2007 +0200 +++ b/version.sh Mon Aug 13 10:15:03 2007 +0200 @@ -1,5 +1,5 @@ #!/bin/sh emacs_major_version=20 emacs_minor_version=5 -emacs_beta_version=16 -xemacs_codename="Caninde" +emacs_beta_version=17 +xemacs_codename="Chapar"