summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/scripts/tlshell
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/scripts/tlshell')
-rwxr-xr-xMaster/texmf-dist/scripts/tlshell/tlshell.tcl51
1 files changed, 33 insertions, 18 deletions
diff --git a/Master/texmf-dist/scripts/tlshell/tlshell.tcl b/Master/texmf-dist/scripts/tlshell/tlshell.tcl
index dbc3ea73ed3..2dc4f28341d 100755
--- a/Master/texmf-dist/scripts/tlshell/tlshell.tcl
+++ b/Master/texmf-dist/scripts/tlshell/tlshell.tcl
@@ -697,10 +697,20 @@ proc collect_filtered {} {
dict lappend ::filtered $nm $mrk
dict lappend ::filtered $nm $nm
set v [dict get $pk localrev]
- if {$v eq "0" || $v == 0} {set v ""}
+ set lv [dict get $pk lcatv]
+ if {$v eq "0" || $v == 0} {
+ set v ""
+ } elseif {$lv != 0 && $lv ne ""} {
+ set v "$v ($lv)"
+ }
dict lappend ::filtered $nm $v
set v [dict get $pk remoterev]
- if {$v eq "0" || $v == 0} {set v ""}
+ set rv [dict get $pk rcatv]
+ if {$v eq "0" || $v == 0} {
+ set v ""
+ } elseif {$rv != 0 && $rv ne ""} {
+ set v "$v ($rv)"
+ }
dict lappend ::filtered $nm $v
dict lappend ::filtered $nm [dict get $pk shortdesc]
}
@@ -723,18 +733,18 @@ proc get_packages_info_local {} {
set ::tlshell_updatable 0
run_cmd_waiting \
- "info --only-installed --data name,localrev,category,shortdesc"
- set re {^([^,]+),([0-9]+),([^,]*),(.*)$}
+ "info --only-installed --data name,localrev,cat-version,category,shortdesc"
+ set re {^([^,]+),([0-9]+),([^,]*),([^,]*),(.*)$}
foreach l $::out_log {
- if [regexp $re $l m nm lrev catg pdescr] {
+ if [regexp $re $l m nm lrev lcatv catg pdescr] {
# double-quotes in short description: remove outer, unescape inner
if {[string index $pdescr 0] eq "\""} {
set pdescr [string range $pdescr 1 end-1]
}
set pdescr [string map {\\\" \"} $pdescr]
dict set ::pkgs $nm \
- [list "marked" 0 "localrev" $lrev "remoterev" 0 \
- "category" $catg shortdesc $pdescr]
+ [list "marked" 0 "localrev" $lrev "lcatv" $lcatv "remoterev" 0 \
+ "rcatv" 0 "category" $catg shortdesc $pdescr]
}
}
} ; # get_packages_info_local
@@ -752,25 +762,26 @@ proc get_packages_info_remote {} {
set ::tlshell_updatable 0
if [catch {run_cmd_waiting \
- "info --data name,localrev,remoterev,category,shortdesc"}] {
+ "info --data name,localrev,remoterev,cat-version,category,shortdesc"}] {
do_debug [get_stacktrace]
tk_messageBox -message \
"Repository $::repo unavailable. Please choose another one."
return 0
}
- set re {^([^,]+),([0-9]+),([0-9]+),([^,]*),(.*)$}
+ set re {^([^,]+),([0-9]+),([0-9]+),([^,]*),([^,]*),(.*)$}
foreach l $::out_log {
- if [regexp $re $l m nm lrev rrev catg pdescr] {
+ if [regexp $re $l m nm lrev rrev rcatv catg pdescr] {
# double-quotes in short description: remove outer, unescape inner
if {[string index $pdescr 0] eq "\""} {
set pdescr [string range $pdescr 1 end-1]
}
set pdescr [string map {\\\" \"} $pdescr]
if [catch {dict get $::pkgs $nm} pk] {
- # package entry does not exist
- dict set ::pkgs $nm [dict create "marked" 0 "localrev" 0]
+ # package entry does not yet exist, create it
+ dict set ::pkgs $nm [list "marked" 0 "localrev" 0 "lcatv" 0]
}
dict set ::pkgs $nm "remoterev" $rrev
+ dict set ::pkgs $nm "rcatv" $rcatv
dict set ::pkgs $nm "category" $catg
dict set ::pkgs $nm "shortdesc" $pdescr
}
@@ -783,16 +794,20 @@ proc get_packages_info_remote {} {
## update ::pkgs after installing packages without going online again.
proc update_local_revnumbers {} {
- run_cmd_waiting "info --only-installed --data name,localrev"
- set re {^([^,]+),([0-9]+)$}
+ do_debug "update_local_revnumbers"
+ run_cmd_waiting "info --only-installed --data name,localrev,cat-version"
+ set re {^([^,]+),([0-9]+),(.*)$}
dict for {pk pk_dict} $::pkgs {
+ do_debug "zeroing local data for $pk"
dict set pk_dict "localrev" 0
+ dict set pk_dict "lcatv" 0
dict set ::pkgs $pk $pk_dict
}
foreach l $::out_log {
- if [regexp $re $l m pk lr] {
+ if [regexp $re $l m pk lr lv] {
set pk_dict [dict get $::pkgs $pk]
dict set pk_dict "localrev" $lr
+ dict set pk_dict "lcatv" $lv
dict set ::pkgs $pk $pk_dict
}
}
@@ -1991,13 +2006,13 @@ proc make_widgets {} {
-xscrollcommand {.pkhsb set} -yscrollcommand {.pkvsb set}
foreach \
col {mk name localrev remoterev shortdesc} \
- nm {"" Name "Local Rev." "Remote Rev." Description} {
+ nm {"" Name "Local Rev. (ver.)" "Remote Rev. (ver.)" Description} {
.pkglist heading $col -text $nm -anchor w
}
.pkglist column mk -width [expr {$::cw * 3}]
.pkglist column name -width [expr {$::cw * 25}]
- .pkglist column localrev -width [expr {$::cw * 12}]
- .pkglist column remoterev -width [expr {$::cw * 12}]
+ .pkglist column localrev -width [expr {$::cw * 18}]
+ .pkglist column remoterev -width [expr {$::cw * 18}]
.pkglist column shortdesc -width [expr {$::cw * 50}]
ttk::scrollbar .pkhsb -orient horizontal -command {.pkglist xview}