Patch title: Release 93 bulk changes
Abstract:
File: /graphic/browser/deprecated/core.pli
Key:
    Removed line
    Added line
   
function html_color s -> c
  arg Str s ; arg Int c
  function hexa s -> i
    arg Str s ; arg Int i
    i := 0
    for (var Int index) 0 s:len-1
      var Int c := s:index:number
      if c>="0":number and c<="9":number
        i := i*16+(c-"0":number)
      eif c>="A":number and c<="Z":number
        i := i*16+(c+10-"A":number)
      eif c>="a":number and c<="z":number
        i := i*16+(c+10-"a":number)
  if (s 0 1)="#" and s:len=7
    c := hexa:(s 1 2)+hexa:(s 3 2)*2^8+hexa:(s 5 2)*2^16
  else
    c := undefined

method c full_url target -> url
  arg DocumentContext c ; arg Str target url
  if (target search ":" -1)<>(-1)
    url := target
  eif (target 0 2)="//" and (c:url eparse any:(var Str protocol) ":" any)
    url := protocol+":"+target
  eif (target 0 1)="/" and (c:url eparse any:(var Str protocol) "://" any:(var Str server) "/" any)
    url := protocol+"://"+server+target
  else
    url := (c:url 0 (c:url search_last "/" -1)+1)+target
  while (url eparse any:(var Str head) "/../" any:(var Str tail))
    url := (head 0 (head search_last "/" head:len))+"/"+tail


export html_color '. full_url'


#-----------------------------------------------------------------------------