From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Sebastien Vauban" Subject: Re: A new module for Org-mode: Org-X Date: Mon, 15 Aug 2011 23:29:37 +0200 Message-ID: <804o1ijrcu.fsf@somewhere.org> References: <2011-08-14T19-14-58@devnull.Karl-Voit.at> <80bovqop4w.fsf@somewhere.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 8bit Return-path: List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org-mXXj517/zsQ@public.gmane.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org-mXXj517/zsQ@public.gmane.org To: emacs-orgmode-mXXj517/zsQ@public.gmane.org Hi John, John Wiegley wrote: > "Sebastien Vauban" > writes: > >> Would you have a .emacs part about this (debugging, profiling, etc.) that >> you're willing to share. I am confident that I could jump easier into full >> Emacs Lisp if I would have a better environment. > > I'm attaching my lang-emacs-lisp.el file. The really big modules to know are: > > - edebug <-- sheer brilliance > - eldoc > - elint > - elp (the Emacs Profiler) > > If you do a LOT of code hacking in Lisp, then paredit and redshank are > invaluable. If you only dabble/debug, they are unnecessary. > > John > > ;;;_ * eldoc > > (add-hook 'emacs-lisp-mode-hook (lambda () (require 'edebug))) > > ;;;_ * eldoc > > (eval-after-load "eldoc" > '(diminish 'eldoc-mode)) > > ;;;_ * elint > > (defun elint-current-buffer () > (interactive) > (elint-initialize) > (elint-current-buffer)) > > (eval-after-load "elint" > '(progn > (add-to-list 'elint-standard-variables 'current-prefix-arg) > (add-to-list 'elint-standard-variables 'command-line-args-left) > (add-to-list 'elint-standard-variables 'buffer-file-coding-system) > (add-to-list 'elint-standard-variables 'emacs-major-version) > (add-to-list 'elint-standard-variables 'window-system))) > > ;;;_ * emacs-lisp > > (add-hook 'emacs-lisp-mode-hook 'turn-on-auto-fill) > > (font-lock-add-keywords 'emacs-lisp-mode > '(("(\\(lambda\\)\\>" > (0 (ignore > (compose-region (match-beginning 1) > (match-end 1) ?λ)))))) > > (defun elisp-indent-or-complete (&optional arg) > (interactive "p") > (call-interactively 'lisp-indent-line) > (unless (or (looking-back "^\\s-*") > (bolp) > (not (looking-back "[-A-Za-z0-9_*+/=<>!?]+"))) > (call-interactively 'lisp-complete-symbol))) > > (eval-after-load "lisp-mode" > '(define-key emacs-lisp-mode-map [tab] 'elisp-indent-or-complete)) > > ;;;_ + column-marker > > (add-hook 'emacs-lisp-mode-hook (lambda () (column-marker-1 79))) > > ;;;_ + highlight-parentheses > > (autoload 'highlight-parentheses-mode "highlight-parentheses") > > (add-hook 'emacs-lisp-mode-hook 'highlight-parentheses-mode) > > (eval-after-load "highlight-parentheses" > '(diminish 'highlight-parentheses-mode)) > > ;;;_ + paredit > > (autoload 'paredit-mode "paredit" > "Minor mode for pseudo-structurally editing Lisp code." t) > (autoload 'turn-on-paredit-mode "paredit" > "Minor mode for pseudo-structurally editing Lisp code." t) > > (add-hook 'emacs-lisp-mode-hook 'turn-on-paredit-mode) > > (eval-after-load "paredit" > '(diminish 'paredit-mode)) > > ;;;_ + redshank > > (autoload 'redshank-mode "redshank" > "Minor mode for restructuring Lisp code (i.e., refactoring)." t) > > (add-hook 'emacs-lisp-mode-hook #'(lambda () (redshank-mode +1))) > > (eval-after-load "redshank" > '(diminish 'redshank-mode)) > > ;;; lang-emacs-lisp.el ends here Thank you so much for this info. I will have a deep look at every line! Best regards, Seb -- Sebastien Vauban