Skip to content

Commit 7295363

Browse files
committed
Migration conflict error report in dedicated proc
Add reportPresentConflictError procedure to report error when a conflict is detected.
1 parent 4b4776e commit 7295363

File tree

2 files changed

+22
-19
lines changed

2 files changed

+22
-19
lines changed

tcl/mfinterp.tcl.in

Lines changed: 1 addition & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1661,25 +1661,7 @@ proc conflict {args} {
16611661
[is-loading $mod]}]
16621662
# if the conflicting module is loaded, we cannot either
16631663
if {[is-loaded $mod] || $isloading} {
1664-
set retisconun [isModuleEvaluated conun $curmodnamevr $mod]
1665-
# report message on currently evaluated module message block
1666-
if {![set retiseval [isModuleEvaluated any $curmodnamevr $mod]] ||\
1667-
[currentState msgrecordid] ne [topState msgrecordid] ||\
1668-
!$retisconun} {
1669-
# more appropriate msg if an eval was attempted or is by-passed
1670-
set msg [expr {$retiseval || [getState force] ?\
1671-
[getConIsLoadedMsg [list $mod] $isloading] :\
1672-
[getErrConflictMsg $mod]}]
1673-
1674-
# still proceed if force mode enabled
1675-
if {[getState force]} {
1676-
reportWarning $msg
1677-
# indicate message has already been reported
1678-
lappend ::report_conflict([currentState evalid]) $mod
1679-
} else {
1680-
knerror $msg MODULES_ERR_GLOBAL
1681-
}
1682-
}
1664+
reportPresentConflictError $curmodnamevr $mod $isloading
16831665
}
16841666
}
16851667

tcl/report.tcl.in

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1763,6 +1763,27 @@ proc reportMissingPrereqError {curmodnamevr args} {
17631763
}
17641764
}
17651765
1766+
# create appropriate message and kind of report when a conflict is detected
1767+
proc reportPresentConflictError {curmodnamevr mod isloading} {
1768+
set retisconun [isModuleEvaluated conun $curmodnamevr $mod]
1769+
# report message on currently evaluated module message block
1770+
if {![set retiseval [isModuleEvaluated any $curmodnamevr $mod]] ||\
1771+
[currentState msgrecordid] ne [topState msgrecordid] || !$retisconun} {
1772+
# more appropriate msg if an eval was attempted or is by-passed
1773+
set msg [expr {$retiseval || [getState force] ? [getConIsLoadedMsg\
1774+
[list $mod] $isloading] : [getErrConflictMsg $mod]}]
1775+
1776+
# still proceed if force mode enabled
1777+
if {[getState force]} {
1778+
reportWarning $msg
1779+
# indicate message has already been reported
1780+
lappend ::report_conflict([currentState evalid]) $mod
1781+
} else {
1782+
knerror $msg MODULES_ERR_GLOBAL
1783+
}
1784+
}
1785+
}
1786+
17661787
# ;;; Local Variables: ***
17671788
# ;;; mode:tcl ***
17681789
# ;;; End: ***

0 commit comments

Comments
 (0)