:namespace V12Utils ∇ list←ScanForUnicode ns;nl;fn;cr;ok;dodgy;nslist;vn;var;⎕ML ⍝ Report any dodgy functions - chars not in ⎕AV are dangerous as these won't copy into Classic 12 ⍝ Takes a namespace as argument - scans current NS if empty ⍝ Returns 2-column matrix with namespace.function name and distinct uncopyable chars ⍝⍝ ACDS Dec 2007 ⎕ML←1 :If 0∊⍴ns←⍕ns ns←''⎕CS'' :End list←0 2⍴'' nslist←(⊂ns,'.'),¨(ns⍎'⎕NL')¯9 nl←'⎕dm' '⎕trap' '⎕lx',(ns⍎'⎕NL')¯2 :For vn :In nl var←,⍕∊ns⍎vn ok←∧/var∊⎕AV :If ~ok dodgy←∪var~⎕AV list⍪←(ns,'.',vn)dodgy :End :End nl←(ns⍎'⎕NL')¯3 :For fn :In nl cr←,(ns⍎'⎕CR')fn ok←∧/cr∊⎕AV :If ~ok dodgy←∪cr~⎕AV list⍪←(ns,'.',fn)dodgy :End :End :For ns :In nslist ⍝ Go walkies list⍪←ScanForUnicode ns :End ∇ :Endnamespace