[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#27528: 26.0.50; load-path initialisation is wrong when Emacs is laun
From: |
Eli Zaretskii |
Subject: |
bug#27528: 26.0.50; load-path initialisation is wrong when Emacs is launched in batch mode from a console inside another Emacs |
Date: |
Thu, 29 Jun 2017 17:27:32 +0300 |
> From: vincent.belaiche@gmail.com (Vincent Belaïche)
> Date: Thu, 29 Jun 2017 12:30:37 +0200
> Cc: Vincent Belaïche <vincent.belaiche@gmail.com>
>
> The content of load-path-outside-other-emacs.txt is as follows (all the
> content is stdout):
>
> --8<----8<----8<----8<----8<-- begin -->8---->8---->8---->8---->8----
> (c:/Nos_Programmes/GNU/Emacs/share/emacs/26.0.50/lisp
> c:/Nos_Programmes/GNU/Emacs/share/emacs/26.0.50/lisp/vc
> c:/Nos_Programmes/GNU/Emacs/share/emacs/26.0.50/lisp/url
> c:/Nos_Programmes/GNU/Emacs/share/emacs/26.0.50/lisp/textmodes
> c:/Nos_Programmes/GNU/Emacs/share/emacs/26.0.50/lisp/progmodes
> c:/Nos_Programmes/GNU/Emacs/share/emacs/26.0.50/lisp/play
> c:/Nos_Programmes/GNU/Emacs/share/emacs/26.0.50/lisp/org
> c:/Nos_Programmes/GNU/Emacs/share/emacs/26.0.50/lisp/nxml
> c:/Nos_Programmes/GNU/Emacs/share/emacs/26.0.50/lisp/net
> c:/Nos_Programmes/GNU/Emacs/share/emacs/26.0.50/lisp/mh-e
> c:/Nos_Programmes/GNU/Emacs/share/emacs/26.0.50/lisp/mail
> c:/Nos_Programmes/GNU/Emacs/share/emacs/26.0.50/lisp/leim
> c:/Nos_Programmes/GNU/Emacs/share/emacs/26.0.50/lisp/language
> c:/Nos_Programmes/GNU/Emacs/share/emacs/26.0.50/lisp/international
> c:/Nos_Programmes/GNU/Emacs/share/emacs/26.0.50/lisp/image
> c:/Nos_Programmes/GNU/Emacs/share/emacs/26.0.50/lisp/gnus
> c:/Nos_Programmes/GNU/Emacs/share/emacs/26.0.50/lisp/eshell
> c:/Nos_Programmes/GNU/Emacs/share/emacs/26.0.50/lisp/erc
> c:/Nos_Programmes/GNU/Emacs/share/emacs/26.0.50/lisp/emulation
> c:/Nos_Programmes/GNU/Emacs/share/emacs/26.0.50/lisp/emacs-lisp
> c:/Nos_Programmes/GNU/Emacs/share/emacs/26.0.50/lisp/cedet
> c:/Nos_Programmes/GNU/Emacs/share/emacs/26.0.50/lisp/calendar
> c:/Nos_Programmes/GNU/Emacs/share/emacs/26.0.50/lisp/calc
> c:/Nos_Programmes/GNU/Emacs/share/emacs/26.0.50/lisp/obsolete)--8<----8<----8<----8<----8<--
> end -->8---->8---->8---->8---->8----
>
> To me this output is correct.
>
> 3) From a DOS shell inside emacs-25 instance, launched by `M-x shell', I
> launch the following command, that is equivalent to the first one:
>
> --8<----8<----8<----8<----8<-- begin -->8---->8---->8---->8---->8----
> %EMACS% --batch -Q --eval "(princ load-path)" ^
> > %TEMP%\load-path-inside-emacs-dos.txt 2>&1
> --8<----8<----8<----8<----8<-- end -->8---->8---->8---->8---->8----
>
> Then I get the following output:
>
> --8<----8<----8<----8<----8<-- begin -->8---->8---->8---->8---->8----
> (c:/Nos_Programmes/GNU/Emacs_build20170614/share/emacs/26.0.50/lisp)Warning:
> arch-dependent data dir
> 'c:/Nos_Programmes/GNU/Emacs_build20170614/libexec/emacs/26.0.50/i686-pc-mingw32/':
> Permission denied
> Warning: Lisp directory
> 'c:/Nos_Programmes/GNU/Emacs_build20170614/share/emacs/26.0.50/lisp': Invalid
> argument
> Warning: Could not find simple.el or simple.elc
> --8<----8<----8<----8<----8<-- end -->8---->8---->8---->8---->8----
>
> The text up to `)' is stdout, and the remainder is stderr. To me this
> output is wrong.
I think this is because Emacs 25 exports to the environment of the
subordinate Emacs its value of emacs_dir, which then points the
subordinate Emacs at the directory where Emacs 25 lives.
Emacs 26 fixed that problem, AFAIR, so I think if you do it the other
way around, i.e. invoke Emacs 25 from inside Emacs 26, you will see
the expected behavior.