Jambunathan K <kjambunat...@gmail.com> writes: > Jambunathan K <kjambunat...@gmail.com> writes: > >> For all practical purposes, I find this be sufficient. >> >> (global-set-key (kbd "C-c f") >> (lambda () >> (interactive) >> (require 'finder) >> (let ((thing (intern (thing-at-point 'symbol)))) >> (if (functionp thing) >> (find-function thing) >> (find-variable thing))))) >> >> Put your cursor on a variable or a function, C-c f and you are staring >> right at the definition of the variable or function. For this to work, >> the library defining the function or variable should already be >> loaded. > > Just discovered this from find-func.el > > (require 'find-func) > (find-function-setup-keys) > > will install the below keymap for you. >
Thanks for pointing this out, I have a feeling the find-func functionality will quickly become core to my elisp file navigation. To answer the original question, I also tend towards a minimal setup. I do all of my editing directly in elisp source files, and I don't use tags or etags or anything like that. I use the describe-function and describe-variable help functions with tab completion *very* frequently to find functions and variables relevant to my current task, and to then jump to their source. When drilling into either a bug or unfamiliar functionality I find edebug invaluable. Evaluating functions with a prefix argument "C-u eval-defun" instruments them for interactive step-by-step evaluation with edebug. Also, I highly recommend both paredit and the sexp-edit operations (kill-sexp, paredit-backward-up, paredit-forward, etc...) to anyone working on any lisp source code. -- Eric Schulte http://cs.unm.edu/~eschulte/