packageeditor::texteditor;useutf8;usestrict;usewarnings;subnew{my$class=shift;my$editor=$ENV{EDITOR};die"NO EDITOR in environment variables set. set it explicitely"ifnot$editor;die"Enter explicite filename of the editor in the environment variable. PATH is unsupported"if$editor!~/\//;if($editor=~ /^(\/[\w\-\/]+)$/){$editor=$1;}else{die"unexpected character in EDITOR env-var";};my$self={editor=>$editor,};bless$self,$class;return$self;};subautomata{my$self=shift;return0;};subedit{my$self=shift;my$title=shift;my$text=shift;my$fname="file_$$";my$fsummary="summary_$$";my$summary='';local$ENV{PATH}='/bin:/usr/bin';while(not$summary){openF,">:utf8",$fname;printF$text;closeF;system($self->{editor},$fname,$fsummary);local$/=undef;openF,"<:utf8",$fname;$text=<F>;closeF;openF,"<:utf8",$fsummary;$summary=<F>;closeF;$summary=~s/[\s\r\n]+/ /sg;if($text=~ /^(.*)$/){$text=$1;};if($summary=~ /^(.*)$/){$summary=$1;};};return{summary=>$summary,text=>$text,notminor=>1,nocreate=>1,};};1;