}
# Deduplicate all references
-typeset -A ws
for p (${(k)links}) {
- ws=()
- for w (${=${links[$p]}}) {
- ws[$w]=1
- backs[$w]="$p ${backs[$w]}"
- }
- links[$p]=${(k)ws}
+ local ws=(${(u)=links[$p]})
+ links[$p]=${(j: :)ws}
+ for w ($ws) backs[$w]="$p ${backs[$w]}"
}
for p (${(k)backs}) {
- ws=()
- for w (${=${backs[$p]}}) ws[$w]=1
- backs[$p]=${(k)ws}
+ local ws=(${(u)=backs[$p]})
+ backs[$p]=${(j: :)ws}
}
autoload -U relative