Hi,
I have a file with (at least) the following import statement:
import java.util.*;
If I then ask JDE to import java.util.List, a new statement will be
added:
import java.util.*;
import java.util.List;
The second statement is of course redundant. I think I have traced the
problem to:
(defun jde-import-strip-existing-imports (new-imports existing-imports)
"Exclude classes that have already been imported."
(let (i n return-imports)
(setq i 0)
(setq n (length new-imports))
(while (< i n)
;;iterate through the new imports
(let((new-import
(nth i new-imports)))
;;Strip out those alreay there
(when (not (find new-import existing-imports :test 'string=))
(setq return-imports (nconc (list new-import)
return-imports))))
(setq i(+ i 1)))
;;Return any that still exist
return-imports))
The comparison test 'string= should probably be changed to a test that
matches if:
- there is an exact string match, or
- if "packagename.*" is imported (but not if "packagename.subpackage.*"
is imported)
That should not be too hard to do with a regexp, I guess, but I am not
sure how to actually do it. Any elisp-literate people out there who can
solve it?
/ Petter