summaryrefslogtreecommitdiff
path: root/Master/tlpkg/installer/install-tl-gui.tcl
diff options
context:
space:
mode:
authorSiep Kroonenberg <siepo@cybercomm.nl>2018-11-14 15:20:33 +0000
committerSiep Kroonenberg <siepo@cybercomm.nl>2018-11-14 15:20:33 +0000
commit6fa567467b86f28fa2fcb9e0f85bd91eface730d (patch)
tree809be2a89575bc39cf3e5bba75536efec67c4ce7 /Master/tlpkg/installer/install-tl-gui.tcl
parentb706d0051d16f8ce033d1d6a001c9ba337f26d0c (diff)
Integrating tcl installer; UAC prompt for tlshell
git-svn-id: svn://tug.org/texlive/trunk@49155 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/tlpkg/installer/install-tl-gui.tcl')
-rwxr-xr-xMaster/tlpkg/installer/install-tl-gui.tcl17
1 files changed, 15 insertions, 2 deletions
diff --git a/Master/tlpkg/installer/install-tl-gui.tcl b/Master/tlpkg/installer/install-tl-gui.tcl
index 07ea07954a5..975b8bad4df 100755
--- a/Master/tlpkg/installer/install-tl-gui.tcl
+++ b/Master/tlpkg/installer/install-tl-gui.tcl
@@ -45,7 +45,7 @@ set ::instroot [file normalize [info script]]
set ::instroot [file dirname [file dirname [file dirname $::instroot]]]
# declarations and procs shared with tlshell.tcl
-source [file join $::instroot "tlpkg" "TeXLive" "tltcl.tcl"]
+source [file join $::instroot "tlpkg" "tltcl" "tltcl.tcl"]
### initialize some globals ###
@@ -1512,9 +1512,22 @@ proc main_prog {} {
wm title . [__ "TeX Live Installer"]
make_splash
- # start install-tl-[tcl] via a pipe
+ # start install-tl-[tcl] via a pipe.
+ # the command must be a string, not a list.
+ # therefore, arguments with spaces must be quoted.
+ # although we build the command at first as a list,
+ # it will be joined into a string at a second step
set cmd [list ${::perlbin} "${::instroot}/install-tl" \
"-from_ext_gui" {*}$::argv]
+ set i 0
+ while {$i<[llength $cmd]} {
+ set c [lindex $cmd $i]
+ if {[string first " " $c] >= 0} {
+ lset cmd $i "\"$c\""
+ }
+ incr i
+ }
+ unset i
show_time "opening pipe"
if [catch {open "|[join $cmd " "] 2>@1" r+} ::inst] {
# "2>@1" ok under Windows >= XP