Patch title: Release 84 bulk changes
Abstract:
File: /pliant/fullpliant/debian.pli
Key:
    Removed line
    Added line
   
abstract
  [This modules implements direct handling of Debian package
doc
  [You can think about it as a replacement of 'dpkg' and 'ap


function compare_version v1 v2 -> c
  arg Str v1 v2 ; arg Int c
abstract
  [This modules implements direct handling of Debian package
doc
  [You can think about it as a replacement of 'dpkg' and 'ap


function compare_version v1 v2 -> c
  arg Str v1 v2 ; arg Int c
  var Str s1 := v1 ; var Str s2 := v2
  var Str s1 := replace v1 "-" "[0]" ; var Str s2 := replace v2 "-" "[0]"
  if (s1 search ":" -1)=(-1)
    s1 := "0:"+s1
  if (s2 search ":" -1)=(-1)
    s2 := "0:"+s2
  while s1<>"" or s2<>""
    if not (s1 parse any:(var Str t1) (var uInt i1) any:(var
      t1 := s1 ; i1 := 0 ; r1 := ""
    if not (s2 parse any:(var Str t2) (var uInt i2) any:(var
      t2 := s2 ; i2 := 0 ; r2 := ""
    c := compare reorder:t1 reorder:t2  
    if c<>compare_equal
      return    
    c := compare i1 i2
    if c<>compare_equal
      return
    s1 := r1 ; s2 := r2
  c := compare_equal


export DebianDistribution '. bind' '. unpack1' '. unpack'
  if (s1 search ":" -1)=(-1)
    s1 := "0:"+s1
  if (s2 search ":" -1)=(-1)
    s2 := "0:"+s2
  while s1<>"" or s2<>""
    if not (s1 parse any:(var Str t1) (var uInt i1) any:(var
      t1 := s1 ; i1 := 0 ; r1 := ""
    if not (s2 parse any:(var Str t2) (var uInt i2) any:(var
      t2 := s2 ; i2 := 0 ; r2 := ""
    c := compare reorder:t1 reorder:t2  
    if c<>compare_equal
      return    
    c := compare i1 i2
    if c<>compare_equal
      return
    s1 := r1 ; s2 := r2
  c := compare_equal


export DebianDistribution '. bind' '. unpack1' '. unpack'