GNU bug report logs -
#19657
25.0.50; Test failures in Emacs master, can't figure out what I'm doing wrong
Previous Next
Reported by: Jorgen Schaefer <contact <at> jorgenschaefer.de>
Date: Thu, 22 Jan 2015 19:02:02 UTC
Severity: normal
Merged with 29267
Found in versions 25.0.50, 26.0.90
Fixed in version 24.5
Done: Glenn Morris <rgm <at> gnu.org>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 19657 in the body.
You can then email your comments to 19657 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#19657
; Package
emacs
.
(Thu, 22 Jan 2015 19:02:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Jorgen Schaefer <contact <at> jorgenschaefer.de>
:
New bug report received and forwarded. Copy sent to
bug-gnu-emacs <at> gnu.org
.
(Thu, 22 Jan 2015 19:02:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
Hi.
I can't get the Emacs test suite to run properly, which makes it
difficult for me to write tests for it ... I'm open for suggestions on
what I am doing wrong! :-)
Working on a clean checkout of 3e359626:
$ ./autogen.sh && ./configure --without-x && make
Configured for `x86_64-unknown-linux-gnu'.
Where should the build process find the source code? .
What compiler should emacs be built with? gcc -std=gnu99 -g3 -O2
Should Emacs use the GNU version of malloc? yes
(Using Doug Lea's new malloc from the GNU C Library.)
Should Emacs use a relocating allocator for buffers? no
Should Emacs use mmap(2) for buffer allocation? no
What window system should Emacs use? none
What toolkit should Emacs use? none
Where do we find X Windows header files? NONE
Where do we find X Windows libraries? NONE
Does Emacs use -lXaw3d? no
Does Emacs use -lXpm? no
Does Emacs use -ljpeg? no
Does Emacs use -ltiff? no
Does Emacs use a gif library? no
Does Emacs use a png library? no
Does Emacs use -lrsvg-2? no
Does Emacs use imagemagick? no
Does Emacs support sound? yes
Does Emacs use -lgpm? no
Does Emacs use -ldbus? no
Does Emacs use -lgconf? no
Does Emacs use GSettings? no
Does Emacs use a file notification library? yes -lglibc (inotify)
Does Emacs use access control lists? no
Does Emacs use -lselinux? no
Does Emacs use -lgnutls? no
Does Emacs use -lxml2? yes
Does Emacs use -lfreetype? no
Does Emacs use -lm17n-flt? no
Does Emacs use -lotf? no
Does Emacs use -lxft? no
Does Emacs directly use zlib? yes
Does Emacs use toolkit scroll bars? no
$ make check
Ran 1211 tests, 1189 results as expected, 10 unexpected, 12 skipped
2 files contained unexpected results:
regexp-tests.log
package-test.log
$ cat regexp-tests.log
Running 1 tests (2015-01-22 19:30:42+0100)
Test regexp-test-regexp-opt backtrace:
ert--run-test-internal([cl-struct-ert--test-execution-info [cl-struc
ert-run-test([cl-struct-ert-test regexp-test-regexp-opt "Test the `c
ert-run-or-rerun-test([cl-struct-ert--stats t [[cl-struct-ert-test r
ert-run-tests(t #[385 "...
ert-run-tests-batch(nil)
ert-run-tests-batch-and-exit()
command-line-1(("-L" ":." "-l" "ert" "-l" "regexp-tests.elc" "-f" "e
command-line()
normal-top-level()
Test regexp-test-regexp-opt condition:
(void-function regexp-opt-charset)
FAILED 1/1 regexp-test-regexp-opt
Ran 1 tests, 0 results as expected, 1 unexpected (2015-01-22 19:30:42+0100)
1 unexpected results:
FAILED regexp-test-regexp-opt
$ cat package-test.log
Running 15 tests (2015-01-22 19:30:38+0100)
Parsing tar file...
Parsing tar file...done
passed 1/15 package-test-desc-from-buffer
Importing package-keyring.gpg...
Importing package-keyring.gpg...done
Type C-x 1 to delete the help window, C-M-v to scroll help.
passed 2/15 package-test-describe-non-installed-multi-file-package
Importing package-keyring.gpg...
Importing package-keyring.gpg...done
Type C-x 1 to delete the help window, C-M-v to scroll help.
passed 3/15 package-test-describe-non-installed-package
Type C-x 1 to delete the help window, C-M-v to scroll help.
Importing package-keyring.gpg...
Importing package-keyring.gpg...done
Making backup-inhibited local to simple-single-autoloads.el while let-bound!
Making version-control local to *autoload-file* while let-bound!
Test package-test-describe-package backtrace:
autoload-find-destination("/home/forcer/tmp/pkg-test-user-dir-28222y
autoload--setup-output(t nil "/home/forcer/tmp/pkg-test-user-dir-282
autoload-generate-file-autoloads("../../../simple-single-1.3/simple-
update-directory-autoloads("/home/forcer/tmp/pkg-test-user-dir-28222
package-generate-autoloads(simple-single "/home/forcer/tmp/pkg-test-
package--make-autoloads-and-stuff([cl-struct-package-desc simple-sin
package-unpack([cl-struct-package-desc simple-single (1 3) "A single
package-install-from-archive([cl-struct-package-desc simple-single (
mapc(package-install-from-archive ([cl-struct-package-desc simple-si
package-download-transaction(([cl-struct-package-desc simple-single
package-install(simple-single)
#[nil "...
ert--run-test-internal([cl-struct-ert--test-execution-info [cl-struc
ert-run-test([cl-struct-ert-test package-test-describe-package "Test
ert-run-or-rerun-test([cl-struct-ert--stats t [[cl-struct-ert-test p
ert-run-tests(t #[385 "...
ert-run-tests-batch(nil)
ert-run-tests-batch-and-exit()
command-line-1(("-L" ":." "-l" "ert" "-l" "package-test.elc" "-f" "e
command-line()
normal-top-level()
Test package-test-describe-package condition:
(error "Autoloads file /home/forcer/tmp/pkg-test-user-dir-28222yTo/tmp/pkg-test-user-dir-28222yTo/simple-single-1.3/simple-single-autoloads.el lacks boilerplate")
FAILED 4/15 package-test-describe-package
Importing package-keyring.gpg...
Importing package-keyring.gpg...done
Test package-test-install-dependency backtrace:
autoload-find-destination("/home/forcer/tmp/pkg-test-user-dir-28222_
autoload--setup-output(t nil "/home/forcer/tmp/pkg-test-user-dir-282
autoload-generate-file-autoloads("../../../simple-single-1.3/simple-
update-directory-autoloads("/home/forcer/tmp/pkg-test-user-dir-28222
package-generate-autoloads(simple-single "/home/forcer/tmp/pkg-test-
package--make-autoloads-and-stuff([cl-struct-package-desc simple-sin
package-unpack([cl-struct-package-desc simple-single (1 3) "A single
package-install-from-archive([cl-struct-package-desc simple-single (
mapc(package-install-from-archive ([cl-struct-package-desc simple-si
package-download-transaction(([cl-struct-package-desc simple-single
package-install(simple-depend)
#[nil "...
ert--run-test-internal([cl-struct-ert--test-execution-info [cl-struc
ert-run-test([cl-struct-ert-test package-test-install-dependency "In
ert-run-or-rerun-test([cl-struct-ert--stats t [[cl-struct-ert-test p
ert-run-tests(t #[385 "...
ert-run-tests-batch(nil)
ert-run-tests-batch-and-exit()
command-line-1(("-L" ":." "-l" "ert" "-l" "package-test.elc" "-f" "e
command-line()
normal-top-level()
Test package-test-install-dependency condition:
(error "Autoloads file /home/forcer/tmp/pkg-test-user-dir-28222_du/tmp/pkg-test-user-dir-28222_du/simple-single-1.3/simple-single-autoloads.el lacks boilerplate")
FAILED 5/15 package-test-install-dependency
Importing package-keyring.gpg...
Importing package-keyring.gpg...done
Parsing tar file...
Parsing tar file...done
Extracting multi-file-0.2.3/
Extracting multi-file-0.2.3/multi-file.el
Extracting multi-file-0.2.3/multi-file-sub.el
Extracting multi-file-0.2.3/multi-file.info
Extracting multi-file-0.2.3/README
Extracting multi-file-0.2.3/dir
Extracting multi-file-0.2.3/multi-file-pkg.el
Extracting multi-file-0.2.3/multi-file.texi
Test package-test-install-multifile backtrace:
autoload-find-destination("/home/forcer/tmp/pkg-test-user-dir-28222M
autoload--setup-output(t nil "/home/forcer/tmp/pkg-test-user-dir-282
autoload-generate-file-autoloads("../../../multi-file-0.2.3/multi-fi
update-directory-autoloads("/home/forcer/tmp/pkg-test-user-dir-28222
package-generate-autoloads(multi-file "/home/forcer/tmp/pkg-test-use
package--make-autoloads-and-stuff([cl-struct-package-desc multi-file
package-unpack([cl-struct-package-desc multi-file (0 2 3) "Example o
package-install-from-archive([cl-struct-package-desc multi-file (0 2
mapc(package-install-from-archive ([cl-struct-package-desc multi-fil
package-download-transaction(([cl-struct-package-desc multi-file (0
package-install(multi-file)
mapc(package-install (multi-file))
#[nil "...
ert--run-test-internal([cl-struct-ert--test-execution-info [cl-struc
ert-run-test([cl-struct-ert-test package-test-install-multifile "Che
ert-run-or-rerun-test([cl-struct-ert--stats t [[cl-struct-ert-test p
ert-run-tests(t #[385 "...
ert-run-tests-batch(nil)
ert-run-tests-batch-and-exit()
command-line-1(("-L" ":." "-l" "ert" "-l" "package-test.elc" "-f" "e
command-line()
normal-top-level()
Test package-test-install-multifile condition:
(error "Autoloads file /home/forcer/tmp/pkg-test-user-dir-28222Mo0/tmp/pkg-test-user-dir-28222Mo0/multi-file-0.2.3/multi-file-autoloads.el lacks boilerplate")
FAILED 6/15 package-test-install-multifile
Test package-test-install-single backtrace:
autoload-find-destination("/home/forcer/tmp/pkg-test-user-dir-28222-
autoload--setup-output(t nil "/home/forcer/tmp/pkg-test-user-dir-282
autoload-generate-file-autoloads("../../../simple-single-1.3/simple-
update-directory-autoloads("/home/forcer/tmp/pkg-test-user-dir-28222
package-generate-autoloads(simple-single "/home/forcer/tmp/pkg-test-
package--make-autoloads-and-stuff([cl-struct-package-desc simple-sin
package-unpack([cl-struct-package-desc simple-single (1 3) "A single
package-install-from-buffer()
apply(package-install-from-buffer nil)
#[nil "...
ert--run-test-internal([cl-struct-ert--test-execution-info [cl-struc
ert-run-test([cl-struct-ert-test package-test-install-single "Instal
ert-run-or-rerun-test([cl-struct-ert--stats t [[cl-struct-ert-test p
ert-run-tests(t #[385 "...
ert-run-tests-batch(nil)
ert-run-tests-batch-and-exit()
command-line-1(("-L" ":." "-l" "ert" "-l" "package-test.elc" "-f" "e
command-line()
normal-top-level()
Test package-test-install-single condition:
(error "Autoloads file /home/forcer/tmp/pkg-test-user-dir-28222-xD/tmp/pkg-test-user-dir-28222-xD/simple-single-1.3/simple-single-autoloads.el lacks boilerplate")
FAILED 7/15 package-test-install-single
Importing package-keyring.gpg...
Importing package-keyring.gpg...done
Test package-test-install-single-from-archive backtrace:
autoload-find-destination("/home/forcer/tmp/pkg-test-user-dir-28222L
autoload--setup-output(t nil "/home/forcer/tmp/pkg-test-user-dir-282
autoload-generate-file-autoloads("../../../simple-single-1.3/simple-
update-directory-autoloads("/home/forcer/tmp/pkg-test-user-dir-28222
package-generate-autoloads(simple-single "/home/forcer/tmp/pkg-test-
package--make-autoloads-and-stuff([cl-struct-package-desc simple-sin
package-unpack([cl-struct-package-desc simple-single (1 3) "A single
package-install-from-archive([cl-struct-package-desc simple-single (
mapc(package-install-from-archive ([cl-struct-package-desc simple-si
package-download-transaction(([cl-struct-package-desc simple-single
package-install(simple-single)
#[nil "...
ert--run-test-internal([cl-struct-ert--test-execution-info [cl-struc
ert-run-test([cl-struct-ert-test package-test-install-single-from-ar
ert-run-or-rerun-test([cl-struct-ert--stats t [[cl-struct-ert-test p
ert-run-tests(t #[385 "...
ert-run-tests-batch(nil)
ert-run-tests-batch-and-exit()
command-line-1(("-L" ":." "-l" "ert" "-l" "package-test.elc" "-f" "e
command-line()
normal-top-level()
Test package-test-install-single-from-archive condition:
(error "Autoloads file /home/forcer/tmp/pkg-test-user-dir-28222L8J/tmp/pkg-test-user-dir-28222L8J/simple-single-1.3/simple-single-autoloads.el lacks boilerplate")
FAILED 8/15 package-test-install-single-from-archive
Importing package-keyring.gpg...
Importing package-keyring.gpg...done
Test package-test-install-two-dependencies backtrace:
autoload-find-destination("/home/forcer/tmp/pkg-test-user-dir-28222Y
autoload--setup-output(t nil "/home/forcer/tmp/pkg-test-user-dir-282
autoload-generate-file-autoloads("../../../simple-single-1.3/simple-
update-directory-autoloads("/home/forcer/tmp/pkg-test-user-dir-28222
package-generate-autoloads(simple-single "/home/forcer/tmp/pkg-test-
package--make-autoloads-and-stuff([cl-struct-package-desc simple-sin
package-unpack([cl-struct-package-desc simple-single (1 3) "A single
package-install-from-archive([cl-struct-package-desc simple-single (
mapc(package-install-from-archive ([cl-struct-package-desc simple-si
package-download-transaction(([cl-struct-package-desc simple-single
package-install(simple-two-depend)
#[nil "...
ert--run-test-internal([cl-struct-ert--test-execution-info [cl-struc
ert-run-test([cl-struct-ert-test package-test-install-two-dependenci
ert-run-or-rerun-test([cl-struct-ert--stats t [[cl-struct-ert-test p
ert-run-tests(t #[385 "...
ert-run-tests-batch(nil)
ert-run-tests-batch-and-exit()
command-line-1(("-L" ":." "-l" "ert" "-l" "package-test.elc" "-f" "e
command-line()
normal-top-level()
Test package-test-install-two-dependencies condition:
(error "Autoloads file /home/forcer/tmp/pkg-test-user-dir-28222YGQ/tmp/pkg-test-user-dir-28222YGQ/simple-single-1.3/simple-single-autoloads.el lacks boilerplate")
FAILED 9/15 package-test-install-two-dependencies
Importing package-keyring.gpg...
Importing package-keyring.gpg...done
passed 10/15 package-test-refresh-contents
skipped 11/15 package-test-signed
Importing package-keyring.gpg...
Importing package-keyring.gpg...done
Importing package-keyring.gpg...
Importing package-keyring.gpg...done
Test package-test-update-archives backtrace:
autoload-find-destination("/home/forcer/tmp/pkg-test-user-dir-28222_
autoload--setup-output(t nil "/home/forcer/tmp/pkg-test-user-dir-282
autoload-generate-file-autoloads("../../../simple-single-1.3/simple-
update-directory-autoloads("/home/forcer/tmp/pkg-test-user-dir-28222
package-generate-autoloads(simple-single "/home/forcer/tmp/pkg-test-
package--make-autoloads-and-stuff([cl-struct-package-desc simple-sin
package-unpack([cl-struct-package-desc simple-single (1 3) "A single
package-install-from-archive([cl-struct-package-desc simple-single (
mapc(package-install-from-archive ([cl-struct-package-desc simple-si
package-download-transaction(([cl-struct-package-desc simple-single
package-install([cl-struct-package-desc simple-single (1 3) "A singl
mapc(package-install ([cl-struct-package-desc simple-single (1 3) "A
package-menu-execute()
#[nil "...
ert--run-test-internal([cl-struct-ert--test-execution-info [cl-struc
ert-run-test([cl-struct-ert-test package-test-update-archives "Test
ert-run-or-rerun-test([cl-struct-ert--stats t [[cl-struct-ert-test p
ert-run-tests(t #[385 "...
ert-run-tests-batch(nil)
ert-run-tests-batch-and-exit()
command-line-1(("-L" ":." "-l" "ert" "-l" "package-test.elc" "-f" "e
command-line()
normal-top-level()
Test package-test-update-archives condition:
(error "Autoloads file /home/forcer/tmp/pkg-test-user-dir-28222_ki/tmp/pkg-test-user-dir-28222_ki/simple-single-1.3/simple-single-autoloads.el lacks boilerplate")
FAILED 12/15 package-test-update-archives
Importing package-keyring.gpg...
Importing package-keyring.gpg...done
Test package-test-update-listing backtrace:
autoload-find-destination("/home/forcer/tmp/pkg-test-user-dir-28222M
autoload--setup-output(t nil "/home/forcer/tmp/pkg-test-user-dir-282
autoload-generate-file-autoloads("../../../simple-single-1.3/simple-
update-directory-autoloads("/home/forcer/tmp/pkg-test-user-dir-28222
package-generate-autoloads(simple-single "/home/forcer/tmp/pkg-test-
package--make-autoloads-and-stuff([cl-struct-package-desc simple-sin
package-unpack([cl-struct-package-desc simple-single (1 3) "A single
package-install-from-archive([cl-struct-package-desc simple-single (
mapc(package-install-from-archive ([cl-struct-package-desc simple-si
package-download-transaction(([cl-struct-package-desc simple-single
package-install([cl-struct-package-desc simple-single (1 3) "A singl
mapc(package-install ([cl-struct-package-desc simple-single (1 3) "A
package-menu-execute()
#[nil "...
ert--run-test-internal([cl-struct-ert--test-execution-info [cl-struc
ert-run-test([cl-struct-ert-test package-test-update-listing "Ensure
ert-run-or-rerun-test([cl-struct-ert--stats t [[cl-struct-ert-test p
ert-run-tests(t #[385 "...
ert-run-tests-batch(nil)
ert-run-tests-batch-and-exit()
command-line-1(("-L" ":." "-l" "ert" "-l" "package-test.elc" "-f" "e
command-line()
normal-top-level()
Test package-test-update-listing condition:
(error "Autoloads file /home/forcer/tmp/pkg-test-user-dir-28222Mvo/tmp/pkg-test-user-dir-28222Mvo/simple-single-1.3/simple-single-autoloads.el lacks boilerplate")
FAILED 13/15 package-test-update-listing
passed 14/15 package-x-test-upload-buffer
Test package-x-test-upload-new-version backtrace:
package--archive-contents-from-file()
package-upload-buffer-internal([cl-struct-package-desc simple-single
package-upload-buffer()
#[nil "...
ert--run-test-internal([cl-struct-ert--test-execution-info [cl-struc
ert-run-test([cl-struct-ert-test package-x-test-upload-new-version "
ert-run-or-rerun-test([cl-struct-ert--stats t [[cl-struct-ert-test p
ert-run-tests(t #[385 "...
ert-run-tests-batch(nil)
ert-run-tests-batch-and-exit()
command-line-1(("-L" ":." "-l" "ert" "-l" "package-test.elc" "-f" "e
command-line()
normal-top-level()
Test package-x-test-upload-new-version condition:
(end-of-file)
FAILED 15/15 package-x-test-upload-new-version
Ran 15 tests, 5 results as expected, 9 unexpected, 1 skipped (2015-01-22 19:30:40+0100)
9 unexpected results:
FAILED package-test-describe-package
FAILED package-test-install-dependency
FAILED package-test-install-multifile
FAILED package-test-install-single
FAILED package-test-install-single-from-archive
FAILED package-test-install-two-dependencies
FAILED package-test-update-archives
FAILED package-test-update-listing
FAILED package-x-test-upload-new-version
1 skipped results:
SKIPPED package-test-signed
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#19657
; Package
emacs
.
(Thu, 22 Jan 2015 19:39:02 GMT)
Full text and
rfc822 format available.
Message #8 received at 19657 <at> debbugs.gnu.org (full text, mbox):
Jorgen Schaefer wrote:
> Test package-test-describe-package backtrace:
> autoload-find-destination("/home/forcer/tmp/pkg-test-user-dir-28222y
> autoload--setup-output(t nil "/home/forcer/tmp/pkg-test-user-dir-282
> autoload-generate-file-autoloads("../../../simple-single-1.3/simple-
> update-directory-autoloads("/home/forcer/tmp/pkg-test-user-dir-28222
> package-generate-autoloads(simple-single "/home/forcer/tmp/pkg-test-
Interesting!
Looks like you have TMPDIR set to a subdirectory of HOME?
I can reproduce the failures with such a setting:
make package-test # works fine
mkdir $HOME/foo
TMPDIR=$HOME/foo make package-test # fails
So it's a real bug that no-one has found till now.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#19657
; Package
emacs
.
(Thu, 22 Jan 2015 19:59:01 GMT)
Full text and
rfc822 format available.
Message #11 received at 19657 <at> debbugs.gnu.org (full text, mbox):
On Thu, Jan 22, 2015 at 8:38 PM, Glenn Morris <rgm <at> gnu.org> wrote:
> Jorgen Schaefer wrote:
>
>> Test package-test-describe-package backtrace:
>> autoload-find-destination("/home/forcer/tmp/pkg-test-user-dir-28222y
>> autoload--setup-output(t nil "/home/forcer/tmp/pkg-test-user-dir-282
>> autoload-generate-file-autoloads("../../../simple-single-1.3/simple-
>> update-directory-autoloads("/home/forcer/tmp/pkg-test-user-dir-28222
>> package-generate-autoloads(simple-single "/home/forcer/tmp/pkg-test-
>
> Interesting!
> Looks like you have TMPDIR set to a subdirectory of HOME?
Yes.
> I can reproduce the failures with such a setting:
>
> make package-test # works fine
> mkdir $HOME/foo
> TMPDIR=$HOME/foo make package-test # fails
>
> So it's a real bug that no-one has found till now.
You're a genius!
I can confirm that setting TMPDIR to some directory in /tmp/ fixes the
package-test errors for me.
The regexp-test error persists. Adding (require 'regexp-opt) to the top of
regexp-test.el fixes that.
Any idea why my Emacs does not load regexp-opt by default, while it
apparently does elsewhere?
Regards,
Jorgen
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#19657
; Package
emacs
.
(Thu, 22 Jan 2015 20:05:01 GMT)
Full text and
rfc822 format available.
Message #14 received at 19657 <at> debbugs.gnu.org (full text, mbox):
Jorgen Schäfer wrote:
> The regexp-test error persists. Adding (require 'regexp-opt) to the top of
> regexp-test.el fixes that.
>
> Any idea why my Emacs does not load regexp-opt by default, while it
> apparently does elsewhere?
You built without-x, and loadup.el preloads regexp-opt only in with-x
builds (I feel like this is asking for trouble).
So regexp-test.el should indeed require regexp-opt.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#19657
; Package
emacs
.
(Thu, 22 Jan 2015 23:12:02 GMT)
Full text and
rfc822 format available.
Message #17 received at 19657 <at> debbugs.gnu.org (full text, mbox):
> loadup.el preloads regexp-opt only in with-x builds (I feel like this
> is asking for trouble).
Agreed. In general preloading different packages in different
configurations is a source of trouble, so we should try to avoid it when
it's not really strongly tied to the configuration.
Stefan
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#19657
; Package
emacs
.
(Fri, 23 Jan 2015 00:51:01 GMT)
Full text and
rfc822 format available.
Message #20 received at 19657 <at> debbugs.gnu.org (full text, mbox):
Glenn Morris wrote:
> mkdir $HOME/foo
> TMPDIR=$HOME/foo make package-test # fails
I think this is due to with-package-test's manipulation of HOME in
process-environment. The problem can be summarized as:
(file-truename (abbreviate-file-name "/home/rgm/foo"))
-> "/home/rgm/foo"
(let ((process-environment (cons "HOME=/home/rgm/bar" process-environment)))
(file-truename (abbreviate-file-name "/home/rgm/foo")))
-> "/home/rgm/bar/foo"
Because abbreviated-home-dir is cached the first time it is used.
And find-file-noselect does various cycles of abbreviate/expand/truename.
So calling find-file-noselect after changing HOME will mess up for
files under the new HOME.
So basically if you want to change HOME, remember to reset
abbreviated-home-dir as well, else get various odd problems.
Yuck.
Anyway, the following patch seems to fix this specific case.
(Maybe abbreviated-home-dir should either be removed, or check that HOME
hasn't changed since it was set.)
*** a/test/automated/package-test.el
--- b/test/automated/package-test.el
***************
*** 91,96 ****
--- 91,97 ----
`(let* ((package-test-user-dir (make-temp-file "pkg-test-user-dir-" t))
(process-environment (cons (format "HOME=%s" package-test-user-dir)
process-environment))
+ (abbreviated-home-dir)
(package-user-dir package-test-user-dir)
(package-archives `(("gnu" . ,package-test-data-dir)))
(old-yes-no-defn (symbol-function 'yes-or-no-p))
***************
*** 340,346 ****
(should (search-forward "simple-single is an installed package." nil t))
(should (search-forward
(format "Status: Installed in `%s/' (unsigned)."
! (expand-file-name "simple-single-1.3" package-user-dir))
nil t))
(should (search-forward "Version: 1.3" nil t))
(should (search-forward "Summary: A single-file package with no dependencies"
--- 341,348 ----
(should (search-forward "simple-single is an installed package." nil t))
(should (search-forward
(format "Status: Installed in `%s/' (unsigned)."
! (abbreviate-file-name
! (expand-file-name "simple-single-1.3" package-user-dir)))
nil t))
(should (search-forward "Version: 1.3" nil t))
(should (search-forward "Summary: A single-file package with no dependencies"
***************
*** 410,416 ****
(should (search-forward "signed-good is an installed package." nil t))
(should (search-forward
(format "Status: Installed in `%s/'."
! (expand-file-name "signed-good-1.0" package-user-dir))
nil t))))))
--- 412,419 ----
(should (search-forward "signed-good is an installed package." nil t))
(should (search-forward
(format "Status: Installed in `%s/'."
! (abbreviate-file-name
! (expand-file-name "signed-good-1.0" package-user-dir)))
nil t))))))
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#19657
; Package
emacs
.
(Fri, 23 Jan 2015 00:55:02 GMT)
Full text and
rfc822 format available.
Message #23 received at 19657 <at> debbugs.gnu.org (full text, mbox):
On 01/23/2015 02:50 AM, Glenn Morris wrote:
> So basically if you want to change HOME, remember to reset
> abbreviated-home-dir as well, else get various odd problems.
Thanks. I've just installed a similar patch.
That leaves only the regexp-opt test failure unresolved. I also think it
should just be preloaded in all builds.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#19657
; Package
emacs
.
(Fri, 23 Jan 2015 02:04:01 GMT)
Full text and
rfc822 format available.
Message #26 received at 19657 <at> debbugs.gnu.org (full text, mbox):
Dmitry Gutov wrote:
> That leaves only the regexp-opt test failure unresolved. I also think
> it should just be preloaded in all builds.
I agree. It's a small file.
(Still kind of a shame that imagemagick needs it though.)
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#19657
; Package
emacs
.
(Fri, 23 Jan 2015 09:49:02 GMT)
Full text and
rfc822 format available.
Message #29 received at 19657 <at> debbugs.gnu.org (full text, mbox):
> Date: Fri, 23 Jan 2015 02:54:31 +0200
> From: Dmitry Gutov <dgutov <at> yandex.ru>
> Cc: 19657 <at> debbugs.gnu.org
>
> On 01/23/2015 02:50 AM, Glenn Morris wrote:
>
> > So basically if you want to change HOME, remember to reset
> > abbreviated-home-dir as well, else get various odd problems.
>
> Thanks. I've just installed a similar patch.
Doesn't this problem affect the emacs-24 branch as well? If so,
please backport there.
Thanks.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#19657
; Package
emacs
.
(Fri, 23 Jan 2015 13:38:01 GMT)
Full text and
rfc822 format available.
Message #32 received at 19657 <at> debbugs.gnu.org (full text, mbox):
On 01/23/2015 11:48 AM, Eli Zaretskii wrote:
> Doesn't this problem affect the emacs-24 branch as well? If so,
> please backport there.
Thanks for the reminder, done.
bug marked as fixed in version 24.5, send any further explanations to
19657 <at> debbugs.gnu.org and Jorgen Schaefer <contact <at> jorgenschaefer.de>
Request was from
Glenn Morris <rgm <at> gnu.org>
to
control <at> debbugs.gnu.org
.
(Sat, 24 Jan 2015 00:54:02 GMT)
Full text and
rfc822 format available.
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Sat, 21 Feb 2015 12:24:04 GMT)
Full text and
rfc822 format available.
bug unarchived.
Request was from
Glenn Morris <rgm <at> gnu.org>
to
control <at> debbugs.gnu.org
.
(Tue, 21 Nov 2017 17:31:01 GMT)
Full text and
rfc822 format available.
Forcibly Merged 19657 29267.
Request was from
Glenn Morris <rgm <at> gnu.org>
to
control <at> debbugs.gnu.org
.
(Tue, 21 Nov 2017 17:31:01 GMT)
Full text and
rfc822 format available.
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Wed, 20 Dec 2017 12:24:06 GMT)
Full text and
rfc822 format available.
This bug report was last modified 6 years and 350 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.