GNU bug report logs -
#21831
24.5 on Windows; start-process modifies its PROGRAM argument
Previous Next
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 21831 in the body.
You can then email your comments to 21831 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#21831
; Package
emacs
.
(Wed, 04 Nov 2015 20:46:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Cornelius Mika <cornelius.mika <at> gmail.com>
:
New bug report received and forwarded. Copy sent to
bug-gnu-emacs <at> gnu.org
.
(Wed, 04 Nov 2015 20:46:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
start-process normalizes the given PROGRAM path by destructively modifying
its contents.
This is problematic if the path variable is reused later on.
Minimal repro:
(let ((path "c:/Windows/System32/clip.exe"))
(start-process "" nil path)
path) ; => "c:\\Windows\\System32\\clip.exe"
In GNU Emacs 24.5.1 (i686-pc-mingw32)
of 2015-04-11 on LEG570
Windowing system distributor `Microsoft Corp.', version 6.3.9600
Configured using:
`configure --prefix=/c/usr --host=i686-pc-mingw32'
Important settings:
value of $LANG: DEU
locale-coding-system: cp1252
Major mode: Lisp Interaction
Minor modes in effect:
tooltip-mode: t
electric-indent-mode: t
mouse-wheel-mode: t
tool-bar-mode: t
menu-bar-mode: t
file-name-shadow-mode: t
global-font-lock-mode: t
font-lock-mode: t
blink-cursor-mode: t
auto-composition-mode: t
auto-encryption-mode: t
auto-compression-mode: t
line-number-mode: t
transient-mark-mode: t
Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.
Load-path shadows:
None found.
Features:
(shadow sort gnus-util mail-extr emacsbug message format-spec rfc822 mml
easymenu mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231
mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums
mm-util help-fns mail-prsvr mail-utils time-date tooltip electric
uniquify ediff-hook vc-hooks lisp-float-type mwheel dos-w32 ls-lisp
w32-common-fns disp-table w32-win w32-vars tool-bar dnd fontset image
regexp-opt fringe tabulated-list newcomment lisp-mode prog-mode register
page menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock
font-lock syntax facemenu font-core frame cham georgian utf-8-lang
misc-lang vietnamese tibetan thai tai-viet lao korean japanese hebrew
greek romanian slovak czech european ethiopic indian cyrillic chinese
case-table epa-hook jka-cmpr-hook help simple abbrev minibuffer nadvice
loaddefs button faces cus-face macroexp files text-properties overlay
sha1 md5 base64 format env code-pages mule custom widget
hashtable-print-readable backquote make-network-process w32notify w32
multi-tty emacs)
Memory information:
((conses 8 73857 5808)
(symbols 32 17432 0)
(miscs 32 33 131)
(strings 16 10612 4319)
(string-bytes 1 268415)
(vectors 8 9520)
(vector-slots 4 383153 5554)
(floats 8 57 68)
(intervals 28 196 45)
(buffers 508 11))
[Message part 2 (text/html, inline)]
Reply sent
to
Eli Zaretskii <eliz <at> gnu.org>
:
You have taken responsibility.
(Wed, 04 Nov 2015 21:03:02 GMT)
Full text and
rfc822 format available.
Notification sent
to
Cornelius Mika <cornelius.mika <at> gmail.com>
:
bug acknowledged by developer.
(Wed, 04 Nov 2015 21:03:02 GMT)
Full text and
rfc822 format available.
Message #10 received at 21831-done <at> debbugs.gnu.org (full text, mbox):
> From: Cornelius Mika <cornelius.mika <at> gmail.com>
> Date: Wed, 4 Nov 2015 21:31:55 +0100
>
> start-process normalizes the given PROGRAM path by destructively modifying its
> contents.
> This is problematic if the path variable is reused later on.
>
> Minimal repro:
> (let ((path "c:/Windows/System32/clip.exe"))
> (start-process "" nil path)
> path) ; => "c:\\Windows\\System32\\clip.exe"
>
> In GNU Emacs 24.5.1 (i686-pc-mingw32)
> of 2015-04-11 on LEG570
> Windowing system distributor `Microsoft Corp.', version 6.3.9600
> Configured using:
> `configure --prefix=/c/usr --host=i686-pc-mingw32'
Thanks.
I can reproduce this in Emacs 24.5, but not in the current development
sources. So this problem was already fixed as part of the development
since then, and I see the code which was added to avoid this.
So I'm marking this bug done.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#21831
; Package
emacs
.
(Thu, 05 Nov 2015 08:44:02 GMT)
Full text and
rfc822 format available.
Message #13 received at 21831 <at> debbugs.gnu.org (full text, mbox):
Eli Zaretskii <eliz <at> gnu.org> writes:
>> From: Cornelius Mika <cornelius.mika <at> gmail.com>
>> Minimal repro:
>> (let ((path "c:/Windows/System32/clip.exe"))
>> (start-process "" nil path)
>> path) ; => "c:\\Windows\\System32\\clip.exe"
> I can reproduce this in Emacs 24.5, but not in the current development
> sources. So this problem was already fixed as part of the development
> since then, and I see the code which was added to avoid this.
Thanks for checking.
Did you see a test associated to this fix ?
perhaps something like :
(ert-deftest start-process-should-not-modify-arguments ()
"`start-process' must not modify its arguments in-place."
;; See bug#21831.
(let* ((path (pcase system-type
('windows-nt "c:/Windows/System32/clip.exe")
('ms-dos "c:/command.com")
(_ "/bin//sh")))
(samepath (copy-sequence path)))
(start-process "" nil path)
(should (equal path samepath))))
to be included in test/automated/process-tests.el
I'm not sure what a good value of `path' might be.
--
Nico.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#21831
; Package
emacs
.
(Thu, 05 Nov 2015 18:15:02 GMT)
Full text and
rfc822 format available.
Message #16 received at 21831 <at> debbugs.gnu.org (full text, mbox):
> From: Nicolas Richard <youngfrog <at> members.fsf.org>
> Cc: eliz <at> gnu.org, cornelius.mika <at> gmail.com
> Date: Thu, 05 Nov 2015 09:42:54 +0100
>
> Did you see a test associated to this fix ?
>
> perhaps something like :
Thanks, I pushed a variant of your suggested test.
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Fri, 04 Dec 2015 12:24:04 GMT)
Full text and
rfc822 format available.
This bug report was last modified 9 years and 252 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.