Name completion (for R and S-plus): ---------------- Want to keep an up-to-date list of S object names, on which we can complete. Additionally, list-component completion "x$a" also work, as does slot completion on S4 objects "ob@". Historically, for S and S-plus, we had made an effort to only reread the objects of database entries in search() ``when needed''. In particular, for "non-compressed" directories, one had looked at their "modification time" and kept as timestamp. And they were only re-read (by listing the *files* inside !) when the time changed. For R, this is not available and for newer versions of S-plus, with "compiled" (or "compressed") directories this isn't relevant either. ........... I (MM) think R does never re-read things as long as search() is not changed by library(), attach(), detach(), source(),.. These calls are, BTW, given by ess-change-sp-regexp in ../lisp/ess-cust.el (initialized by dialect specific ess--sp-regexp "defcustom"s). How are things working in ../lisp/ess-inf.el currently : o) ess-search-path-tracker is added to `comint-input-filter-functions' hook; it just sets `ess-sp-change' to true when the above regexp triggers. o) Main user functions ess-complete-object-name and + ess-resynch {also sets ess-object-list to nil ..} | call the "main work horse" | |-> ess-get-object-list either uses | |--> [V] ess-object-list or all the following | |-> ess-get-modtime-list {when one of the following var.s "says so"}: | |--> [V] ess-sp-change |--> [V] ess-sl-modtime-alist | \-> ess-extract-onames-from-alist | |-> ess-dir-modtime | \-> ess-object-names | |-> |-> [V] ess-object-name-db | |-> [V] inferior-ess-object-command \-> ess-get-words-from-vector | \-> ess-command | |-> [V] ess-cmd-delay | \-> ess-prompt-wait