>>>> "Andreas" == Andreas Jaeger
<aj(a)suse.de> writes:
Andreas> Adrian,
Andreas> Looking at your various mails, I noticed that this is a
Andreas> bug in 21.1.10 native NT - but not a bug in 21.2-b33
Andreas> native NT.
Ouch, that hurts.
Andreas you are right, this is a problem in XEmacs 21.1.10, BUT NOT in
21.2-b33 NOR the latest 21.2 CVS sources.
Thanks for separating my forest from my trees.
I might have even introduced that bug with my call-process fixes to
close handles on NT in XEmacs 21.1.10.
I have further diagnosed symptom.
The problem seems to appear if there is still a lot of lisp code to be
read from the file after calling (call-process ...) to initialize a
variable. Moving these variable initializations towards EOF makes the
problem go away.
To demonstrate my weird theory, this patch against compile.el as of
the latest incoming package xemacs-base 1.38 works fine with XEmacs
21.1.10. Needless to say I don't consider this as a solution.
Best regards,
Adrian
--- C:\TEMP\compile.el.orig Mon May 22 11:25:28 2000
+++ C:\TEMP\compile.el Mon May 22 11:25:28 2000
@@ -396,29 +396,6 @@
;; The system null device. (Should reference NULL_DEVICE from C.)
(defvar grep-null-device "/dev/null" "The system null device.")
-(defvar grep-find-use-xargs
- (if (equal (call-process "find" nil nil nil
- grep-null-device "-print0")
- 0)
- 'gnu)
- "Whether \\[grep-find] uses the `xargs' utility by default.
-
-If nil, it uses `grep -exec'; if `gnu', it uses `find -print0' and `xargs
-0';
-if not nil and not `gnu', it uses `find -print' and `xargs'.
-
-This variable's value takes effect when `compile.el' is loaded
-by influencing the default value for the variable `grep-find-command'.")
-
-(defvar grep-find-command
- (cond ((eq grep-find-use-xargs 'gnu)
- (format "find . -type f -print0 | xargs -0 -e %s" grep-command))
- (grep-find-use-xargs
- (format "find . -type f -print | xargs %s" grep-command))
- (t (cons (format "find . -type f -exec %s {} /dev/null \\;"
- grep-command)
- (+ 22 (length grep-command)))))
- "The default find command for \\[grep-find].")
-
;;;###autoload
(defcustom compilation-search-path '(nil)
"*List of directories to search for source files named in error messages.
@@ -2031,6 +2008,29 @@
(directory-file-name orig))
(substring dir (length parent-expanded)))))
dir)
+
+(defvar grep-find-use-xargs
+ (if (equal (call-process "find" nil nil nil
+ grep-null-device "-print0")
+ 0)
+ 'gnu)
+ "Whether \\[grep-find] uses the `xargs' utility by default.
+
+If nil, it uses `grep -exec'; if `gnu', it uses `find -print0' and `xargs
-0';
+if not nil and not `gnu', it uses `find -print' and `xargs'.
+
+This variable's value takes effect when `compile.el' is loaded
+by influencing the default value for the variable `grep-find-command'.")
+
+(defvar grep-find-command
+ (cond ((eq grep-find-use-xargs 'gnu)
+ (format "find . -type f -print0 | xargs -0 -e %s" grep-command))
+ (grep-find-use-xargs
+ (format "find . -type f -print | xargs %s" grep-command))
+ (t (cons (format "find . -type f -exec %s {} /dev/null \\;"
+ grep-command)
+ (+ 22 (length grep-command)))))
+ "The default find command for \\[grep-find].")
(provide 'compile)
Andreas> If this is correct, I don't see a direct way to fix it in
Andreas> the packages (or does using an older version of compile
Andreas> or igrep help? - can you localize what breaks?).
Andreas> Andreas - still unsure whether to release packages or not :-(
Andreas> --
Andreas> Andreas Jaeger
Andreas> SuSE Labs aj(a)suse.de
Andreas> private aj(a)arthur.inka.de