;; author: Stefan Monnier (defun meta-paste (event) "Paste the sexp at mouse click position to the current cursor position, inserting the sexp if on whitespace or else replacing the current sexp." (interactive "e") (save-selected-window (save-excursion (mouse-set-point event) (mark-sexp) (kill-ring-save (region-beginning) (region-end)))) (cond ((not (memq (char-after) '(?\ ?\n ?\) nil))) (delete-region (point) (progn (forward-sexp 1) (point)))) ((not (memq (char-before) '(?\ ?\n ?\( nil))) (insert " "))) (yank 1))