function suppress_message,mess,remove=remove,add=add,clear=clear common suppress_message,supp_mess if keyword_set(clear) then delvarx,supp_mess if datatype(mess) ne 'STR' then return,0 smess=strlowcase(trim(str2lines(mess,/reverse))) ;-- add new message if keyword_set(add) then begin if (datatype(supp_mess) ne 'STR') then $ supp_mess=smess else supp_mess=[supp_mess,smess] return,0 endif ;-- check and/or remove message if datatype(supp_mess) eq 'STR' then begin slook=where(smess eq supp_mess,scnt) if scnt gt 0 then begin if keyword_set(remove) then begin dlook=where(smess ne supp_mess,dcnt) if dcnt gt 0 then supp_mess=supp_mess(dlook) else delvarx,supp_mess endif else return,1 endif endif return,0 & end