From xemacs-m  Wed Apr 23 23:13:58 1997
Received: from napoli.bayserve.net (jmiller@port47.bayserve.net [206.148.244.145])
	by xemacs.org (8.8.5/8.8.5) with ESMTP id XAA19205
	for <xemacs-beta@xemacs.org>; Wed, 23 Apr 1997 23:13:55 -0500 (CDT)
Received: (from jmiller@localhost)
          by napoli.bayserve.net (8.8.4/8.8.4)
	  id AAA01305; Thu, 24 Apr 1997 00:17:40 -0400
Date: Thu, 24 Apr 1997 00:17:40 -0400
Message-Id: <199704240417.AAA01305@napoli.bayserve.net>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
From: Jeff Miller <jmiller@bayserve.net>
To: xemacs-beta@xemacs.org
Subject: Re: 20.2-b1 change in load-sound-file
In-Reply-To: <kigohb5fw3m.fsf@jagor.srce.hr>
References: <3411.861807414@rtp.ericsson.se>
	<m23eshwrhy.fsf@altair.xemacs.org>
	<kigohb5fw3m.fsf@jagor.srce.hr>
X-Mailer: VM 6.28 under 20.2 XEmacs Lucid (beta1)
Reply-to: jmiller@bayserve.net
X-Face: &vGrMZ?Q&W5~yiCR_#hat=$tgJrK`J=2$se?0Nu9I3G|I<2-\:82zx>kz=l8(yw)G1i&0"D
 <nv_e$^;,ftG6@Hn"did"G5i=X_-Z3Y

>>>>> "Hrv" == Hrvoje Niksic <hniksic@srce.hr> writes:

Hrv> Steven L Baur <steve@miranova.com> writes:
>> Raymond Toy <toy@rtp.ericsson.se> writes:
>> 
>> > Signaling: (wrong-type-argument stringp nil)
>> >   find-file-name-handler(nil file-name-sans-versions)
>> >   file-name-sans-versions(nil)
>> >   find-buffer-file-coding-system-from-filename(nil)
>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>> 
>> There is a MULE bug in sound.el.

--snip--

Hrv> The Right Thing is, of course, to signal an error if the file wasn't
Hrv> located, not to call `insert-file-contents' with nil.

Hrv> Apply this patch [Steve, I think this is good enough for 20.2]:

Hrv> --- sound.el.orig	Wed Apr 23 20:00:12 1997
Hrv> +++ sound.el	Wed Apr 23 20:10:10 1997
Hrv> @@ -92,14 +92,14 @@
Hrv>    :type '(repeat  (sexp :tag "Sound")
Hrv>  		  ))
 
Hrv> -(defcustom default-sound-directory data-directory
Hrv> +(defcustom default-sound-directory (concat data-directory "sounds/")
Hrv>    "Default directory to load a sound file from."
Hrv>    :group 'sound
Hrv>    :type 'directory
Hrv>    )
 
If this part of the patch is applied, you will need this as well.

--- sound.el.orig       Wed Apr 23 23:57:46 1997
+++ sound.el    Thu Apr 24 00:10:25 1997
@@ -76,13 +76,13 @@
                                       (integer :tag "Duration"))))))
 
 (defcustom sound-load-alist 
-  '((load-sound-file "sounds/drum-beep.au"     'drum)
-    (load-sound-file "sounds/quiet-beep.au"    'quiet)
-    (load-sound-file "sounds/bass-snap.au"     'bass 80)
-    (load-sound-file "sounds/whip.au"          'whip 70)
-    (load-sound-file "sounds/cuckoo.au"                'cuckoo)
-    (load-sound-file "sounds/yeep.au"          'yeep)
-    (load-sound-file "sounds/hype.au"          'hype 100)
+  '((load-sound-file "drum-beep.au"    'drum)
+    (load-sound-file "quiet-beep.au"   'quiet)
+    (load-sound-file "bass-snap.au"    'bass 80)
+    (load-sound-file "whip.au"         'whip 70)
+    (load-sound-file "cuckoo.au"               'cuckoo)
+    (load-sound-file "yeep.au"         'yeep)
+    (load-sound-file "hype.au"         'hype 100)
     )
   "A list of calls to load-sound-file to be processed by load-default-sounds. 
 

Hrv>     extension is used, they should be separated by \":\". "
Hrv>    :group 'sound
Hrv>    :type 'string)
Hrv> @@ -130,14 +130,15 @@
Hrv>  nVolume (0 for default): ")
Hrv>    (or (symbolp sound-name) (error "sound-name not a symbol"))
Hrv>    (or (null volume) (integerp volume) (error "volume not an integer or nil"))
Hrv> -  (let (buf data)
Hrv> +  (let (buf data
Hrv> +	(file (locate-file filename  default-sound-directory-list  sound-ext)))
Hrv> +    (or file (error "Cannot locate %s" filename))
Hrv>      (unwind-protect
Hrv>  	(save-excursion
Hrv>  	  (set-buffer (setq buf (get-buffer-create " *sound-tmp*")))
Hrv>  	  (buffer-disable-undo (current-buffer))
Hrv>  	  (erase-buffer)
Hrv> -	  (insert-file-contents 
Hrv> -	   (locate-file filename  default-sound-directory-list  sound-ext ))
Hrv> +	  (insert-file-contents file)
Hrv>  	  (setq data (buffer-string))
Hrv>  	  (erase-buffer))
Hrv>        (and buf (kill-buffer buf)))


This seems to work better.  It at least gives a more descriptive msg.  

Jeff

