changeset 292:6cb5e14cd98e r21-0b44

Import from CVS: tag r21-0b44
author cvs
date Mon, 13 Aug 2007 10:37:15 +0200
parents 7aa74ac42bd2
children 403535bfea94
files CHANGES-beta ChangeLog etc/NEWS lib-src/ChangeLog lib-src/gnuclient.c lisp/ChangeLog lisp/info.el lisp/list-mode.el lisp/package-get-base.el lisp/package-get.el lisp/sound.el man/ChangeLog man/lispref/positions.texi man/lispref/windows.texi src/ChangeLog src/casefiddle.c src/eldap.c src/ntplay.c version.sh
diffstat 19 files changed, 379 insertions(+), 211 deletions(-) [+]
line wrap: on
line diff
--- a/CHANGES-beta	Mon Aug 13 10:36:50 2007 +0200
+++ b/CHANGES-beta	Mon Aug 13 10:37:15 2007 +0200
@@ -1,4 +1,12 @@
 							-*- indented-text -*-
+to 21.0 pre1 "Swedish Landrace"
+-- package-get-base synchronized with latest packages
+-- MULE-ize eldap.c from Hrvoje Niksic
+-- ntplay fix from Andy Piper
+-- info fixes from Oscar Figueiredo
+-- list-mode fix from Christoph Wedler
+-- Gnuclient SIGHUP fix from Jim Radford
+
 to 21.0 beta43 "Spanish"
 -- texinfo documentation synched from GNU texinfo-3.12
 -- Manual cleanup from Adrian Aichner
--- a/ChangeLog	Mon Aug 13 10:36:50 2007 +0200
+++ b/ChangeLog	Mon Aug 13 10:37:15 2007 +0200
@@ -1,6 +1,16 @@
+1998-06-14  SL Baur  <steve@altair.xemacs.org>
+
+	* XEmacs 21.0-pre1 is released.
+
+1998-06-14  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
+
+	* etc/NEWS: Updated information about customization of the
+	automatic info dir file generation using
+	`Info-auto-generate-directory' and `Info-save-auto-generated-dir'
+
 1998-06-11  SL Baur  <steve@altair.xemacs.org>
 
-	* XEmacs 21.0-beta 43 is released.
+	* XEmacs 21.0-beta43 is released.
 
 1998-06-04  Oliver Graf <ograf@fga.de>
 
--- a/etc/NEWS	Mon Aug 13 10:36:50 2007 +0200
+++ b/etc/NEWS	Mon Aug 13 10:37:15 2007 +0200
@@ -196,8 +196,8 @@
 subsystem.  If the `dir' file does not exist in an Info directory, the
 relevant information will be generated on-the-fly.
 
-This behaviour can be customized, look for `Info-rebuild-outdated-dir'
-in the `info' customization group. #### Mention other variables!
+This behaviour can be customized, look for `Info-auto-generate-directory'
+and `Info-save-auto-generated-dir' in the `info' customization group.
 
 
 * Lisp and internal changes in XEmacs 21.0
--- a/lib-src/ChangeLog	Mon Aug 13 10:36:50 2007 +0200
+++ b/lib-src/ChangeLog	Mon Aug 13 10:37:15 2007 +0200
@@ -1,3 +1,7 @@
+1998-06-12  Jim Radford  <radford@robby.caltech.edu>
+
+	* gnuclient.c (initialize_signals): Don't pass SIGHUP to XEmacs.
+
 1998-06-04  Andy Piper  <andyp@parallax.co.uk>
 
 	* Makefile.in.in (runemacs): add runemacs as a build target if
--- a/lib-src/gnuclient.c	Mon Aug 13 10:36:50 2007 +0200
+++ b/lib-src/gnuclient.c	Mon Aug 13 10:37:15 2007 +0200
@@ -123,7 +123,6 @@
      We used to send SIGSEGV, SIGBUS, SIGPIPE, SIGILL and others to
      Emacs, but I think it's better not to.  I can see no reason why
      Emacs should SIGSEGV whenever gnuclient SIGSEGV-s, etc.  */
-  signal (SIGHUP, pass_signal_to_emacs);
   signal (SIGQUIT, pass_signal_to_emacs);
   signal (SIGINT, pass_signal_to_emacs);
 #ifdef SIGWINCH
--- a/lisp/ChangeLog	Mon Aug 13 10:36:50 2007 +0200
+++ b/lisp/ChangeLog	Mon Aug 13 10:37:15 2007 +0200
@@ -1,3 +1,27 @@
+1998-06-06  Jeff Miller <jmiller@smart.net>
+
+	* lisp/sound.el: Update sound-ext to allow filenames with
+	  extensions to be found by load-sound-file
+
+1998-06-14  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
+
+	* info.el (Info-rebuild-outdated-dir): Removed variable
+	(Info-auto-generate-directory): New variable
+	(Info-save-auto-generated-dir): New variable
+	(Info-maybe-update-dir): Use `Info-auto-generate-directory'
+	(Info-build-dir-anew): Second parameter removed.  Use
+	`Info-save-auto-generated-dir' 
+	(Info-rebuild-dir): Ditto
+
+1998-06-02  Christoph Wedler  <wedler@fmi.uni-passau.de>
+
+	* list-mode.el (next-list-mode-item): Would not recognize
+	border between directly neighbored items.
+
+1998-06-12  Andy Piper  <andyp@parallax.co.uk>
+
+	* package-get.el: add autoloads for some functions.
+
 1998-06-10  Hrvoje Niksic  <hniksic@srce.hr>
 
 	* specifier.el (let-specifier): Tiny docfixes.
--- a/lisp/info.el	Mon Aug 13 10:36:50 2007 +0200
+++ b/lisp/info.el	Mon Aug 13 10:37:15 2007 +0200
@@ -387,16 +387,38 @@
   :type '(repeat directory)
   :group 'info)
 
-(defcustom Info-rebuild-outdated-dir 'conservative
-  "*What to do if the `dir' or `localdir' file needs to be (re)built.
+(defcustom Info-auto-generate-directory 'if-missing
+  "*When to auto generate an info directory listing.
 Possible values are:
-`never' never (re)build the `dir' or `localdir' file
-`always' automatically (re)builds when needed
-`ask' asks the user before (re)building
-`conservative' asks the user before overwriting existing files"
+nil or `never' never auto-generate a directory listing,
+  use any existing `dir' or `localdir' file and ignore info
+  directories containing none
+`always' auto-generate a directory listing ignoring existing
+  `dir' and `localdir' files
+`if-missing', the default, auto-generates a directory listing
+  if no `dir' or `localdir' file is present.  Otherwise the 
+  contents of any of these files is used instead.
+`if-outdated' auto-generates a directory listing if the `dir'
+  and `localdir' are either inexistent or outdated (touched 
+  less recently than an info file in the same directory)."
   :type '(choice (const :tag "never" never)
 		 (const :tag "always" always)
-		 (const :tag "ask" ask)
+		 (const :tag "if-missing" if-missing)
+		 (const :tag "if-outdated" if-outdated))
+  :group 'info)
+
+(defcustom Info-save-auto-generated-dir nil
+  "*Whether an auto-generated info directory listing should be saved.
+Possible values are:
+nil or `never', the default, auto-generated info directory 
+  information will never be saved.
+`always', auto-generated info directory information will be saved to
+  a `dir' file in the same directory overwriting it if it exists
+`conservative', auto-generated info directory information will be saved
+  to a `dir' file in the same directory but the user is asked before 
+  overwriting any existing file."
+  :type '(choice (const :tag "never" never)
+		 (const :tag "always" always)
 		 (const :tag "conservative" conservative))
   :group 'info)
 
@@ -971,27 +993,18 @@
   (setq buffer-file-name (caar Info-dir-file-attributes)))
 
 (defun Info-maybe-update-dir (file)
-  "Rebuild dir or localdir if it does not exist or is outdated."
-  (unless (or (eq Info-rebuild-outdated-dir 'never)
-	      (not (file-exists-p (file-name-directory file)))
+  "Rebuild dir or localdir according to `Info-auto-generate-directory'."
+  (unless (or (not (file-exists-p (file-name-directory file)))
 	      (null (directory-files (file-name-directory file) nil "\\.info")))
     (if (not (find-buffer-visiting file))
 	(if (not (file-exists-p file))
-	    (if (or (eq Info-rebuild-outdated-dir 'always)
-		    (eq Info-rebuild-outdated-dir 'conservative)
-		    (and (eq Info-rebuild-outdated-dir 'ask)
-			 (y-or-n-p (format "No dir file in %s. Rebuild now ? " 
-					   (file-name-directory file)))))
-		(Info-build-dir-anew (file-name-directory file) (not (file-writable-p file))))
-	  (if (Info-dir-outdated-p file)
-	      (if (or (eq Info-rebuild-outdated-dir 'always)
-		      (and (eq Info-rebuild-outdated-dir 'conservative)
-			   (or (not (file-writable-p file))
-			       (y-or-n-p (format "%s is outdated. Rebuild it now ? " 
-					       (file-name-directory file)))))
-		      (and (eq Info-rebuild-outdated-dir 'ask)
-			   (y-or-n-p (format "%s is outdated. Rebuild it now ? " file))))
-		  (Info-rebuild-dir file (not (file-writable-p file)))))))))
+	    (if (or (eq Info-auto-generate-directory 'always)
+		    (eq Info-auto-generate-directory 'if-missing))	      
+		(Info-build-dir-anew (file-name-directory file)))
+	  (if (or (eq Info-auto-generate-directory 'always)
+		  (and (eq Info-auto-generate-directory 'if-outdated)
+		       (Info-dir-outdated-p file)))
+	      (Info-rebuild-dir file))))))
 
 ;; Record which *.info files are newer than the dir file
 (defvar Info-dir-newer-info-files nil)
@@ -1091,21 +1104,24 @@
     (insert "\n")))
 
 
-(defun Info-build-dir-anew (directory to-temp)
-  "Build a new info dir file in DIRECTORY"
+(defun Info-build-dir-anew (directory)
+  "Build info directory information for DIRECTORY.
+The generated directory listing may be saved to a `dir' according 
+to the value of `Info-save-auto-generated-dir'"
   (save-excursion
-    (let ((dirfile (expand-file-name "dir" directory))
-	  (info-files 
-	   (directory-files directory
-			    'fullname
-			    ".*\\.info\\(.gz\\|.Z\\|-z\\|.zip\\)?$"
-			    nil
-			    t)))
+    (let* ((dirfile (expand-file-name "dir" directory))
+	   (to-temp (or (null Info-save-auto-generated-dir)
+			(eq Info-save-auto-generated-dir 'never)
+			(and (not (file-writable-p dirfile))
+			     (message "File not writable %s. Using temporary." dirfile))))
+	   (info-files 
+	    (directory-files directory
+			     'fullname
+			     ".*\\.info\\(.gz\\|.Z\\|-z\\|.zip\\)?$"
+			     nil
+			     t)))
       (if to-temp
-	  (if (not (eq Info-rebuild-outdated-dir 'always))
-	      (display-warning 'info 
-		(format "Missing info dir file in %s" directory) 
-		'notice))
+	  (message "Creating temporary dir in %s..." directory)
 	(message "Creating %s..." dirfile))
       (set-buffer (find-file-noselect dirfile t))
       (setq buffer-read-only nil)
@@ -1128,26 +1144,40 @@
 	  (set-buffer-modified-p nil)
 	(save-buffer))
       (if to-temp
-	  (message "Creating temporary dir...done")
+	  (message "Creating temporary dir in %s...done" directory)
 	(message "Creating %s...done" dirfile)))))
 
 
-(defun Info-rebuild-dir (file to-temp)
-  "Update an existing info dir file after info files have been modified"
+(defun Info-rebuild-dir (file)
+  "Build info directory information in the directory of dir FILE.
+Description of info files are merged from the info files in the 
+directory and the contents of FILE with the description in info files
+taking precedence over descriptions in FILE.  
+The generated directory listing may be saved to a `dir' according to 
+the value of `Info-save-auto-generated-dir' "
   (save-excursion
     (save-restriction
       (let (dir-section-contents dir-full-contents
 	    dir-entry
 	    file-dir-entry
 	    mark next-section
-	    not-first-section)
+	    not-first-section
+	    (to-temp 
+	     (or (null Info-save-auto-generated-dir)
+		 (eq Info-save-auto-generated-dir 'never)
+		 (and (eq Info-save-auto-generated-dir 'always)
+		      (not (file-writable-p file))
+		      (message "File not writable %s. Using temporary." file))
+		 (and (eq Info-save-auto-generated-dir 'conservative)
+		      (or (and (not (file-writable-p file))
+			       (message "File not writable %s. Using temporary." file))
+			  (not (y-or-n-p 
+				(message "%s is outdated. Overwrite ? " 
+					 file))))))))
 	(set-buffer (find-file-noselect file t))
 	(setq buffer-read-only nil)
 	(if to-temp
-	    (if (not (eq Info-rebuild-outdated-dir 'always))
-		(display-warning 'info 
-		  (format "Outdated info dir file: %s" file) 
-		  'notice))
+	    (message "Rebuilding temporary %s..." file)
 	  (message "Rebuilding %s..." file))
 	(catch 'done
 	  (setq buffer-read-only nil)
@@ -1205,10 +1235,10 @@
 				     (point-max))))
 	    (setq not-first-section t)))
 	(if to-temp
-	    (set-buffer-modified-p nil)
-	  (save-buffer))
-	(if to-temp
-	    (message "Rebuilding temporary dir...done")
+	    (progn
+	      (set-buffer-modified-p nil)
+	      (message "Rebuilding temporary %s...done" file))
+	  (save-buffer)
 	  (message "Rebuilding %s...done" file))))))
 
 ;;;###autoload      
@@ -1223,22 +1253,24 @@
   (defvar command-line-args-left)	; Avoid 'free variable' warning
   (if (not noninteractive)
       (error "`Info-batch-rebuild-dir' is to be used only with -batch"))
-  (while command-line-args-left
-    (if  (not (file-directory-p (car command-line-args-left)))
-	(message "Warning: Skipped %s. Not a directory."
-		 (car command-line-args-left))
-      (setq dir (expand-file-name "dir" (car command-line-args-left)))
-      (setq localdir (expand-file-name "localdir" (car command-line-args-left)))
-      (cond 
-       ((file-exists-p dir)
-	(Info-rebuild-dir dir nil))
-       ((file-exists-p localdir)
-	(Info-rebuild-dir localdir nil))
-       (t
-	(Info-build-dir-anew (car command-line-args-left) nil))))
-    (setq command-line-args-left (cdr command-line-args-left)))
-  (message "Done")
-  (kill-emacs 0))
+  (let ((Info-save-auto-generated-dir 'always)
+	dir localdir)
+    (while command-line-args-left
+      (if  (not (file-directory-p (car command-line-args-left)))
+	  (message "Warning: Skipped %s. Not a directory."
+		   (car command-line-args-left))
+	(setq dir (expand-file-name "dir" (car command-line-args-left)))
+	(setq localdir (expand-file-name "localdir" (car command-line-args-left)))
+	(cond 
+	 ((file-exists-p dir)
+	  (Info-rebuild-dir dir))
+	 ((file-exists-p localdir)
+	  (Info-rebuild-dir localdir))
+	 (t
+	  (Info-build-dir-anew (car command-line-args-left)))))
+      (setq command-line-args-left (cdr command-line-args-left)))
+    (message "Done")
+    (kill-emacs 0)))
 
 (defun Info-history-add (file node point)
   (if Info-keeping-history
--- a/lisp/list-mode.el	Mon Aug 13 10:36:50 2007 +0200
+++ b/lisp/list-mode.el	Mon Aug 13 10:37:15 2007 +0200
@@ -142,29 +142,29 @@
 With prefix argument N, move N items (negative N means move backward)."
   (interactive "p")
   (while (and (> n 0) (not (eobp)))
-    (let ((prop (get-char-property (point) 'list-mode-item))
-	   (end (point-max)))
+    (let ((extent (extent-at (point) (current-buffer) 'list-mode-item))
+	  (end (point-max)))
       ;; If in a completion, move to the end of it.
-      (if prop
-	   (goto-char (next-single-property-change (point) 'list-mode-item
-						   nil end)))
+      (if extent (goto-char (extent-end-position extent)))
       ;; Move to start of next one.
-      (goto-char (next-single-property-change (point)
-					      'list-mode-item nil end)))
+      (or (extent-at (point) (current-buffer) 'list-mode-item)
+	  (goto-char (next-single-property-change (point) 'list-mode-item
+						  nil end))))
     (setq n (1- n)))
   (while (and (< n 0) (not (bobp)))
-    (let ((prop (get-char-property (1- (point)) 'list-mode-item))
+    (let ((extent (extent-at (point) (current-buffer) 'list-mode-item))
 	  (end (point-min)))
       ;; If in a completion, move to the start of it.
-      (if prop
-	  (goto-char (previous-single-property-change
-		      (point) 'list-mode-item nil end)))
-      ;; Move to end of the previous completion.
-      (goto-char (previous-single-property-change (point) 'list-mode-item
-						  nil end))
+      (if extent (goto-char (extent-start-position extent)))
       ;; Move to the start of that one.
-      (goto-char (previous-single-property-change (point) 'list-mode-item nil
-						  end)))
+      (if (setq extent (extent-at (point) (current-buffer) 'list-mode-item
+				  nil 'before))
+	  (goto-char (extent-start-position extent))
+	(goto-char (previous-single-property-change
+		    (point) 'list-mode-item nil end))
+	(if (setq extent (extent-at (point) (current-buffer) 'list-mode-item
+				    nil 'before))
+	    (goto-char (extent-start-position extent)))))
     (setq n (1+ n))))
 
 (defun list-mode-item-selected-1 (extent event)
--- a/lisp/package-get-base.el	Mon Aug 13 10:36:50 2007 +0200
+++ b/lisp/package-get-base.el	Mon Aug 13 10:37:15 2007 +0200
@@ -1,19 +1,19 @@
 (setq package-get-base
 '((eudc
   (standards-version 1.0
-   version "1.07"
-   author-version "1.07"
-   date "1998-05-21"
-   build-date "1998-05-27"
+   version "1.08"
+   author-version "1.08"
+   date "1998-06-07"
+   build-date "1998-06-14"
    maintainer "Oscar Figueiredo <Oscar.Figueiredo@epfl.ch>"
    distribution stable
    priority low
    category "comm"
    dump nil
    description "Emacs Unified Directory Client (LDAP, PH)."
-   filename "eudc-1.07-pkg.tar.gz"
-   md5sum "53131f9b5b7ae01038e579b4b55dc844"
-   size 40751
+   filename "eudc-1.08-pkg.tar.gz"
+   md5sum "bc03e55ae76a0bb9770ec86e8ee19737"
+   size 40854
    provides (eudc eudc-ldap eudc-ph)
    requires (fsf-compat xemacs-base)
    type regular
@@ -77,38 +77,38 @@
 ))
 (mailcrypt
   (standards-version 1.0
-   version "1.03"
+   version "1.04"
    author-version "3.4"
    date "1998-01-24"
-   build-date "1998-04-04"
+   build-date "1998-06-14"
    maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
    distribution stable
    priority low
    category "comm"
    dump nil
    description "Support for messaging encryption with PGP."
-   filename "mailcrypt-1.03-pkg.tar.gz"
-   md5sum "c7b308a44833254d3d457f460f3592ba"
-   size 66834
+   filename "mailcrypt-1.04-pkg.tar.gz"
+   md5sum "66601a110f1499d3c6f815f806e43a71"
+   size 66937
    provides (mailcrypt)
    requires (gnus vm mail-lib xemacs-base)
    type regular
 ))
 (mh-e
   (standards-version 1.0
-   version "1.04"
-   author-version "21.0b35"
+   version "1.05"
+   author-version "21.0"
    date "1998-01-24"
-   build-date "1998-04-04"
+   build-date "1998-06-14"
    maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
    distribution contrib
    priority low
    category "comm"
    dump nil
    description "Front end support for MH."
-   filename "mh-e-1.04-pkg.tar.gz"
-   md5sum "4b28aec34185ae94734cd5be3e36dc4d"
-   size 129010
+   filename "mh-e-1.05-pkg.tar.gz"
+   md5sum "62b8598c55698c74ddfe71e874f0fe5e"
+   size 129257
    provides (mh-e)
    requires (mail-lib xemacs-base)
    type regular
@@ -134,76 +134,77 @@
 ))
 (rmail
   (standards-version 1.0
-   version "1.02"
-   author-version "21.0b35"
+   version "1.03"
+   author-version "21.0"
    date "1998-01-24"
-   build-date "1998-04-04"
+   build-date "1998-06-14"
    maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
    distribution contrib
    priority low
    category "comm"
    dump nil
    description "An obsolete Emacs mailer."
-   filename "rmail-1.02-pkg.tar.gz"
-   md5sum "fc0b4a884c59a00ab1830276c56c5bf0"
-   size 83586
+   filename "rmail-1.03-pkg.tar.gz"
+   md5sum "74f7b559857c74432470ead395e6b1c3"
+   size 83667
    provides (rmail rmailsum)
    requires (tm apel mail-lib xemacs-base)
    type regular
 ))
 (supercite
   (standards-version 1.0
-   version "1.06"
+   version "1.07"
    author-version "3.55x"
    date "1998-05-07"
-   build-date "1998-05-09"
+   build-date "1998-06-14"
    maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
    distribution stable
    priority low
    category "comm"
    dump nil
    description "An Emacs citation tool for News & Mail messages."
-   filename "supercite-1.06-pkg.tar.gz"
-   md5sum "9626dcb33f2b7719c49324a8ed92956b"
-   size 70857
+   filename "supercite-1.07-pkg.tar.gz"
+   md5sum "c1ef998b1819e6b19efd10bf0e48534c"
+   size 71084
    provides (supercite)
    requires (mail-lib xemacs-base)
    type regular
 ))
 (tm
   (standards-version 1.0
-   version "1.07"
-   author-version "21.0b40"
-   date "1998-05-10"
-   build-date "1998-05-15"
+   version "1.08"
+   author-version "21.0"
+   date "function,
+"
+   build-date "1998-06-14"
    maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
    distribution stable
    priority low
    category "comm"
    dump nil
    description "Emacs MIME support."
-   filename "tm-1.07-pkg.tar.gz"
-   md5sum "53fc3cb133f27663c7ad0897507c32a5"
-   size 252320
+   filename "tm-1.08-pkg.tar.gz"
+   md5sum "e64a641be99298eb1edfd0539ba4559c"
+   size 253280
    provides (tm tm-edit tm-view mime-setup)
    requires (gnus mh-e rmail vm mailcrypt mail-lib apel xemacs-base)
    type regular
 ))
 (vm
   (standards-version 1.0
-   version "1.07"
-   author-version "6.47"
+   version "1.08"
+   author-version "6.50"
    date "1998-02-17"
-   build-date "1998-04-27"
+   build-date "1998-06-14"
    maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
    distribution stable
    priority medium
    category "comm"
    dump t
    description "An Emacs mailer."
-   filename "vm-1.07-pkg.tar.gz"
-   md5sum "2e8394bdb84469c492e784cba02e3b04"
-   size 508955
+   filename "vm-1.08-pkg.tar.gz"
+   md5sum "17b14c101cc930d367032d7620d5a381"
+   size 513332
    provides (vm)
    requires (mail-lib xemacs-base)
    type regular
@@ -419,19 +420,19 @@
 ))
 (mail-lib
   (standards-version 1.0
-   version "1.15"
-   author-version "21.0b42"
-   date "1998-06-01"
-   build-date "1998-06-01"
+   version "1.16"
+   author-version "21.0"
+   date "1998-06-08"
+   build-date "1998-06-14"
    maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
    distribution stable
    priority medium
    category "libs"
    dump nil
    description "Fundamental lisp files for providing email support."
-   filename "mail-lib-1.15-pkg.tar.gz"
-   md5sum "15eab095de71085ea3dbd0c05cac7494"
-   size 120187
+   filename "mail-lib-1.16-pkg.tar.gz"
+   md5sum "8466339df937c3e7dc4176df85987cf3"
+   size 120230
    provides (browse-url highlight-headers mail-abbrevs mail-extr mail-utils reporter rfc822 rmail-mini rmailout sendmail smtpmail)
    requires (xemacs-base)
    type regular
@@ -609,19 +610,19 @@
 ))
 (calc
   (standards-version 1.0
-   version "1.04"
+   version "1.05"
    author-version "2.02fX1"
    date "1998-02-27"
-   build-date "1998-04-17"
+   build-date "1998-06-14"
    maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
    distribution stable
    priority low
    category "oa"
    dump nil
    description "Emacs calculator"
-   filename "calc-1.04-pkg.tar.gz"
-   md5sum "7e4a7609c30b51de49854a568d10b1a8"
-   size 1159127
+   filename "calc-1.05-pkg.tar.gz"
+   md5sum "cc170d1a19718a152144dfd0a66f6865"
+   size 1165091
    provides (calc)
    requires ()
    type regular
@@ -647,38 +648,38 @@
 ))
 (edit-utils
   (standards-version 1.0
-   version "1.23"
-   author-version "21.0b42"
-   date "1998-05-29"
-   build-date "1998-06-01"
+   version "1.24"
+   author-version "21.0"
+   date "1998-06-13"
+   build-date "1998-06-14"
    maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
    distribution stable
    priority high
    category "oa"
    dump nil
    description "Miscellaneous editor extensions, you probably need this."
-   filename "edit-utils-1.23-pkg.tar.gz"
-   md5sum "c443222618ef92d748e1f8f365cf0665"
-   size 583389
+   filename "edit-utils-1.24-pkg.tar.gz"
+   md5sum "0b7136586f8b47e9b000bcf08f9b75a0"
+   size 584396
    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 popper mode-motion+ outl-mouse page-ext blink-paren paren permanent-buffers recent-files redo reportmail rsz-minibuf saveconfsavehist saveplace scroll-in-place tempo toolbar-utils tree-menu uniquify where-was-i-db)
    requires (xemacs-base)
    type single
 ))
 (forms
   (standards-version 1.0
-   version "1.05"
+   version "1.06"
    author-version "2.10"
    date "1998-01-25"
-   build-date "1998-04-04"
+   build-date "1998-06-14"
    maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
    distribution contrib
    priority low
    category "oa"
    dump nil
    description "Forms editing support (obsolete, use Widget instead)."
-   filename "forms-1.05-pkg.tar.gz"
-   md5sum "b5628009e9cc195df0cb3ec067800f68"
-   size 39867
+   filename "forms-1.06-pkg.tar.gz"
+   md5sum "ebee64ebf564f934e15fed3503e3b15e"
+   size 39948
    provides (forms forms-mode)
    requires ()
    type regular
@@ -704,19 +705,19 @@
 ))
 (hm--html-menus
   (standards-version 1.0
-   version "1.05"
+   version "1.06"
    author-version "5.9"
    date "1998-01-25"
-   build-date "1998-04-04"
+   build-date "1998-06-14"
    maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
    distribution stable
    priority low
    category "oa"
    dump nil
    description "HTML editing."
-   filename "hm--html-menus-1.05-pkg.tar.gz"
-   md5sum "46bf51078423bbe8f934b0b0ce980aca"
-   size 134687
+   filename "hm--html-menus-1.06-pkg.tar.gz"
+   md5sum "2570d8211b63c2edcc114ec3560a075f"
+   size 147168
    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)
    requires (xemacs-base)
    type regular
@@ -932,38 +933,38 @@
 ))
 (ilisp
   (standards-version 1.0
-   version "1.03"
+   version "1.04"
    author-version "5.8"
    date "1998-01-24"
-   build-date "1998-04-04"
+   build-date "1998-06-14"
    maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
    distribution stable
    priority low
    category "os"
    dump nil
    description "Front-end for Inferior Lisp."
-   filename "ilisp-1.03-pkg.tar.gz"
-   md5sum "638983fd9403ce9a512f8adbe7d8d66b"
-   size 223413
+   filename "ilisp-1.04-pkg.tar.gz"
+   md5sum "1fa1b08bd6b7cc3c71f512ad412e1b24"
+   size 223559
    provides (ilisp completer)
    requires (xemacs-base)
    type regular
 ))
 (os-utils
   (standards-version 1.0
-   version "1.07"
-   author-version "21.0b36"
-   date "1998-04-17"
-   build-date "1998-04-17"
+   version "1.08"
+   author-version "21.0"
+   date "1998-06-07"
+   build-date "1998-06-14"
    maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
    distribution stable
    priority medium
    category "os"
    dump nil
    description "Miscellaneous O/S utilities."
-   filename "os-utils-1.07-pkg.tar.gz"
-   md5sum "562d30b4186938bfbaef3a20eb968f15"
-   size 229683
+   filename "os-utils-1.08-pkg.tar.gz"
+   md5sum "9fdcc24ee2d83c6d214f4afa1f41c617"
+   size 229921
    provides (archive-mode background crypt crypt++ inf-lisp jka-compr lpr mchat ps-print tar-mode telnet terminal uncompress)
    requires (xemacs-base)
    type single
@@ -1027,19 +1028,19 @@
 ))
 (cc-mode
   (standards-version 1.0
-   version "1.10"
+   version "1.11"
    author-version "5.22"
    date "1998-03-05"
-   build-date "1998-04-04"
+   build-date "1998-06-14"
    maintainer "Barry Warsaw <cc-mode-help@python.org>"
    distribution stable
    priority medium
    category "prog"
    dump nil
    description "C, C++ and Java language support."
-   filename "cc-mode-1.10-pkg.tar.gz"
-   md5sum "cbedfe4372993f1a98c9824840a64cff"
-   size 150896
+   filename "cc-mode-1.11-pkg.tar.gz"
+   md5sum "dadf89d5a4dfbee90d0168831a33150f"
+   size 151138
    provides (cc-mode)
    requires (xemacs-base)
    type regular
@@ -1236,19 +1237,19 @@
 ))
 (vhdl
   (standards-version 1.0
-   version "1.03"
+   version "1.04"
    author-version "2.74"
    date "1998-01-24"
-   build-date "1998-04-04"
+   build-date "1998-06-14"
    maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
    distribution stable
    priority low
    category "prog"
    dump nil
    description "Support for VHDL."
-   filename "vhdl-1.03-pkg.tar.gz"
-   md5sum "2d04e2bc20fe2f105238ad65b6a73969"
-   size 54083
+   filename "vhdl-1.04-pkg.tar.gz"
+   md5sum "8de144972dd6f33bcdd43314e6e6564d"
+   size 54169
    provides (vhdl-mode)
    requires ()
    type regular
@@ -1331,19 +1332,19 @@
 ))
 (texinfo
   (standards-version 1.0
-   version "1.07"
-   author-version "21.0b36"
-   date "1998-04-07"
-   build-date "1998-04-17"
+   version "1.08"
+   author-version "21.0"
+   date "1998-06-10"
+   build-date "1998-06-14"
    maintainer "XEmacs Development Team <xemacs-beta@xemacs.org>"
    distribution stable
    priority high
    category "wp"
    dump nil
    description "XEmacs TeXinfo support."
-   filename "texinfo-1.07-pkg.tar.gz"
-   md5sum "d9f2b99ad7249c1cca9e1eea91130c6d"
-   size 125908
+   filename "texinfo-1.08-pkg.tar.gz"
+   md5sum "a97bf24a5bde1832a354d6005a688baf"
+   size 126611
    provides (makeinfo tex-mode texinfmt texinfo texnfo-tex texnfo-upd)
    requires (xemacs-base)
    type regular
--- a/lisp/package-get.el	Mon Aug 13 10:36:50 2007 +0200
+++ b/lisp/package-get.el	Mon Aug 13 10:37:15 2007 +0200
@@ -160,6 +160,7 @@
   "*After copying and installing a package, if this is T, then remove the
 copy.  Otherwise, keep it around.")
 
+;;;###autoload
 (defun package-get-update-all ()
   "Fetch and install the latest versions of all currently installed packages."
   (interactive)
@@ -170,6 +171,7 @@
 	     (car pkg) nil))
           packages-package-list))
 
+;;;###autoload
 (defun package-get-all (package version &optional fetched-packages)
   "Fetch PACKAGE with VERSION and all other required packages.
 Uses `package-get-base' to determine just what is required and what
@@ -209,6 +211,7 @@
       fetched-packages
       ))
 
+;;;###autoload
 (defun package-get (package &optional version conflict)
   "Fetch PACKAGE from remote site.
 Optional arguments VERSION indicates which version to retrieve, nil
@@ -406,6 +409,7 @@
   "Configure XEmacs packages."
   :group 'emacs)
 
+;;;###autoload
 (defun package-get-custom ()
   "Fetch and install the latest versions of all customized packages."
   (interactive)
--- a/lisp/sound.el	Mon Aug 13 10:36:50 2007 +0200
+++ b/lisp/sound.el	Mon Aug 13 10:37:15 2007 +0200
@@ -107,7 +107,7 @@
 
 (defcustom sound-ext (if (or (eq system-type 'cygwin32)
 			     (eq system-type 'windows-nt))
-			 ".wav" ".au")
+			 ".wav:" ".au:")
   "Filename extensions to complete sound file name with. If more than one
    extension is used, they should be separated by \":\". "
   :group 'sound
--- a/man/ChangeLog	Mon Aug 13 10:36:50 2007 +0200
+++ b/man/ChangeLog	Mon Aug 13 10:37:15 2007 +0200
@@ -1,3 +1,17 @@
+1998-06-13  Greg Klanderman  <greg@alphatech.com>
+
+	* lispref/windows.texi (Resizing Windows): document third optional 
+	WINDOW argument to enlarge-window and shrink-window.
+	(Selecting Windows): document select-window optional norecord
+	argument. 
+	(Size of Window): document window-text-area-pixel-height and
+	window-text-area-pixel-width. 
+	(Size of Window): document window-displayed-text-pixel-height.
+	(Position of Window): document window-text-area-pixel-edges.
+
+	* lispref/positions.texi (Screen Lines): cleanup docs for
+	vertical-motion and vertical-motion-pixels.
+
 1998-06-10  Hrvoje Niksic  <hniksic@srce.hr>
 
 	* lispref/windows.texi (Resizing Windows): Document
--- a/man/lispref/positions.texi	Mon Aug 13 10:36:50 2007 +0200
+++ b/man/lispref/positions.texi	Mon Aug 13 10:37:15 2007 +0200
@@ -471,25 +471,35 @@
 performance of your code.  @xref{Text Lines, cache-long-line-scans}.
 
 
-@defun vertical-motion count &optional window
+@defun vertical-motion count &optional window pixels
 This function moves point to the start of the frame line @var{count}
 frame lines down from the frame line containing point.  If @var{count}
-is negative, it moves up instead.
+is negative, it moves up instead.  The optional second argument
+@var{window} may be used to specify a window other than the 
+selected window in which to perform the motion.
 
-@code{vertical-motion} returns the number of lines moved.  The value may
-be less in absolute value than @var{count} if the beginning or end of
-the buffer was reached.
+Normally, @code{vertical-motion} returns the number of lines moved.  The
+value may be less in absolute value than @var{count} if the beginning or
+end of the buffer was reached.  If the optional third argument,
+@var{pixels} is non-@code{nil}, the vertical pixel height of the motion
+which took place is returned instead of the actual number of lines
+moved.  A motion of zero lines returns the height of the current line.
 
 Note that @code{vertical-motion} sets @var{window}'s buffer's point, not
 @var{window}'s point. (This differs from FSF Emacs, which buggily always
 sets current buffer's point, regardless of @var{window}.)
 @end defun
 
-@defun vertical-motion-pixels count &optional window
-This function is identical to @code{vertical-motion}, except that it
-returns the vertical pixel height of the motino which took place,
-instead of the actual number of lines moved.  A motion of zero lines
-returns the height of the current line.
+@defun vertical-motion-pixels count &optional window how
+This function moves point to the start of the frame line @var{pixels}
+vertical pixels down from the frame line containing point, or up if
+@var{pixels} is negative.  The optional second argument @var{window} is
+the window to move in, and defaults to the selected window.  The
+optional third argument @var{how} specifies the stopping condition.  A
+negative integer indicates that the motion should be no more
+than @var{pixels}.  A positive value indicates that the
+motion should be at least @var{pixels}.  Any other value indicates
+that the motion should be as close as possible to @var{pixels}.
 @end defun
 
 @deffn Command move-to-window-line count &optional window
--- a/man/lispref/windows.texi	Mon Aug 13 10:36:50 2007 +0200
+++ b/man/lispref/windows.texi	Mon Aug 13 10:37:15 2007 +0200
@@ -431,11 +431,15 @@
 to the selected device.
 @end defun
 
-@defun select-window window
+@defun select-window window &optional norecord
 This function makes @var{window} the selected window.  The cursor then
 appears in @var{window} (on redisplay).  The buffer being displayed in
 @var{window} is immediately designated the current buffer.
 
+If optional argument @var{norecord} is non-@code{nil} then the global
+and per-frame buffer orderings are not modified, as by the function
+@code{record-buffer}. 
+
 The return value is @var{window}.
 
 @example
@@ -1568,6 +1572,29 @@
 @end example
 @end defun
 
+@defun window-text-area-pixel-height &optional window
+This function returns the height in pixels of the text displaying
+portion of @var{window}, which defaults to the selected window.  Unlike
+@code{window-pixel-height}, the space occupied by the modeline and
+horizontal scrollbar, if any, is not counted.
+@end defun
+
+@defun window-text-area-pixel-width &optional window
+This function returns the width in pixels of the text displaying
+portion of @var{window}, which defaults to the selected window.  Unlike
+@code{window-pixel-width}, the space occupied by the vertical scrollbar
+and divider, if any, is not counted.
+@end defun
+
+@defun window-displayed-text-pixel-height &optional window noclipped
+This function returns the height in pixels of the text displayed in
+@var{window}, which defaults to the selected window.  Unlike
+@code{window-text-area-pixel-height}, any blank space below the
+end of the buffer is not included.  If optional argument @var{noclipped} 
+is non-@code{nil}, any space occupied by clipped lines will not be
+included.
+@end defun
+
 @node Position of Window
 @section The Position of a Window
 @cindex window position
@@ -1614,6 +1641,14 @@
 bottom of its frame.
 @end defun
 
+@defun window-text-area-pixel-edges &optional window
+This function allows one to determine the location of the
+text-displaying portion of @var{window}, which defaults to the selected
+window, with respect to the top left corner of the window.  It returns
+a list of integer pixel positions @code{(left top right bottom)}, all
+relative to @code{(0,0)} at the top left corner of the window.
+@end defun
+
 @node Resizing Windows
 @section Changing the Size of a Window
 @cindex window resizing
@@ -1625,7 +1660,7 @@
 window size.  XEmacs does not permit overlapping windows or gaps between
 windows, so resizing one window affects other windows.
 
-@deffn Command enlarge-window size &optional horizontal
+@deffn Command enlarge-window size &optional horizontal window
 This function makes the selected window @var{size} lines taller,
 stealing lines from neighboring windows.  It takes the lines from one
 window at a time until that window is used up, then takes from another.
@@ -1646,6 +1681,9 @@
 than the minimum size (@code{window-min-height} and
 @code{window-min-width}), @code{enlarge-window} deletes the window.
 
+If @var{window} is non-@code{nil}, it specifies a window to change
+instead of the selected window.
+
 @code{enlarge-window} returns @code{nil}.  
 @end deffn
 
@@ -1669,7 +1707,7 @@
 window.
 @end deffn
 
-@deffn Command shrink-window size &optional horizontal
+@deffn Command shrink-window size &optional horizontal window
 This function is like @code{enlarge-window} but negates the argument
 @var{size}, making the selected window smaller by giving lines (or
 columns) to the other windows.  If the window shrinks below
@@ -1677,6 +1715,9 @@
 
 If @var{size} is negative, the window is enlarged by @minus{}@var{size}
 lines or columns.
+
+If @var{window} is non-@code{nil}, it specifies a window to change
+instead of the selected window.
 @end deffn
 
 @deffn Command shrink-window-horizontally columns
--- a/src/ChangeLog	Mon Aug 13 10:36:50 2007 +0200
+++ b/src/ChangeLog	Mon Aug 13 10:37:15 2007 +0200
@@ -1,3 +1,18 @@
+1998-06-11  Martin Buchholz  <martin@xemacs.org>
+
+	* casefiddle.c:
+	(upcase-initials "fooBar") ==> "FooBar" instead of "Foobar"
+
+1998-06-05  Hrvoje Niksic  <hniksic@srce.hr>
+
+	* eldap.c (Fldap_search_internal): Use build_ext_string instead of 
+	build_string to avoid crashes under Mule.
+
+1998-06-13  Andy Piper  <andyp@parallax.co.uk>
+
+	* ntplay.c (play_sound_data_1): don't delete the sound data until
+	the next sound is played and the previous one finished.
+
 1998-06-10  Samuel Mikes  <smikes@alumni.hmc.edu>
 
 	* fileio.c (directory-sep-char): Escape backslashes.
--- a/src/casefiddle.c	Mon Aug 13 10:36:50 2007 +0200
+++ b/src/casefiddle.c	Mon Aug 13 10:37:15 2007 +0200
@@ -61,7 +61,7 @@
 	  for (i = 0; i < len; i++)
 	    {
 	      Emchar c = string_char (XSTRING (obj), i);
-	      if (inword)
+	      if (inword && flag != CASE_CAPITALIZE_UP)
 		c = DOWNCASE (buf, c);
 	      else if (!UPPERCASEP (buf, c)
 		       && (!inword || flag != CASE_CAPITALIZE_UP))
--- a/src/eldap.c	Mon Aug 13 10:36:50 2007 +0200
+++ b/src/eldap.c	Mon Aug 13 10:37:15 2007 +0200
@@ -505,13 +505,13 @@
            a != NULL;
            a= ldap_next_attribute (ld, e, ptr) )
         {
-          list = Fcons (build_string (a), Qnil);
+          list = Fcons (build_ext_string (a, FORMAT_OS), Qnil);
           unwind.vals = ldap_get_values (ld, e, a);
           if (unwind.vals != NULL)
             {
               for (i = 0; unwind.vals[i] != NULL; i++)
                 {
-                  list = Fcons (build_string (unwind.vals[i]),
+                  list = Fcons (build_ext_string (unwind.vals[i], FORMAT_OS),
                                 list);
                 }
             }
--- a/src/ntplay.c	Mon Aug 13 10:36:50 2007 +0200
+++ b/src/ntplay.c	Mon Aug 13 10:37:15 2007 +0200
@@ -27,6 +27,8 @@
 
 #ifdef __CYGWIN32__
 extern BOOL WINAPI PlaySound(LPCSTR,HMODULE,DWORD);
+#else
+#include <mmsystem.h>
 #endif
 static void play_sound_data_1 (unsigned char *data, int length,
 			       int volume, int convert);
@@ -64,11 +66,9 @@
 	  xfree (data);
 	  return;
 	}
+      close (ofd);
       
       play_sound_data_1 (data, size, 100, FALSE);
-      
-      xfree (data);
-      close (ofd);
     }
   else 
     PlaySound (XSTRING_DATA (fname), NULL, flags);
@@ -80,7 +80,14 @@
 			       int convert_to_malloc)
 {
   DWORD flags = SND_ASYNC | SND_MEMORY | SND_NODEFAULT;
-  unsigned char* sound_data;
+  static unsigned char* sound_data=0;
+  if (sound_data)
+    {
+      PlaySound (NULL, NULL, flags);
+      xfree (sound_data);
+      sound_data=0;
+    }
+
   if (convert_to_malloc)
     {
       sound_data = xmalloc (length);
@@ -90,8 +97,7 @@
     sound_data = data;
 
   PlaySound(sound_data, NULL, flags);
-  if (convert_to_malloc)
-    xfree (sound_data);
+
   return;
 }
 
--- a/version.sh	Mon Aug 13 10:36:50 2007 +0200
+++ b/version.sh	Mon Aug 13 10:37:15 2007 +0200
@@ -1,8 +1,8 @@
 #!/bin/sh
 emacs_major_version=21
 emacs_minor_version=0
-emacs_beta_version=43
-xemacs_codename="Spanish"
+emacs_beta_version=
+xemacs_codename="Swedish Landrace"
 infodock_major_version=3
 infodock_minor_version=90
 infodock_build_version=9