Little cleanups, and C-u variant for the lambda thing
authorJose Antonio Ortega Ruiz <jao@gnu.org>
Sun, 3 Feb 2013 01:44:19 +0000 (3 02:44 +0100)
committerJose Antonio Ortega Ruiz <jao@gnu.org>
Sun, 3 Feb 2013 01:44:19 +0000 (3 02:44 +0100)
elisp/geiser-edit.el
elisp/geiser-mode.el

index 9735bd2..5d5cd1b 100644 (file)
@@ -235,13 +235,5 @@ With prefix, asks for the symbol to edit."
     (when marker (ring-insert find-tag-marker-ring marker))))
 
 \f
-;; Editing key bindings
-
-(defun geiser-edit-insert-lambda ()
-  "Insert λ at point."
-  (interactive)
-  (insert-char (make-char 'greek-iso8859-7 107) 1))
-
-\f
 
 (provide 'geiser-edit)
index db07df8..77feeec 100644 (file)
@@ -215,6 +215,14 @@ positive values and backward for negative."
                 (error (setq steps 0))))))
       (when (and pared (fboundp 'paredit-mode)) (paredit-mode 1)))))
 
+(defun geiser-insert-lambda (&optional full)
+  "Insert λ at point.  With prefix, inserts (λ ())."
+  (interactive "P")
+  (if (not full)
+      (insert (make-char 'greek-iso8859-7 107))
+    (insert "(" (make-char 'greek-iso8859-7 107) " ())")
+    (backward-char 2)))
+
 \f
 ;;; Geiser mode:
 
@@ -308,7 +316,7 @@ interacting with the Geiser REPL is at your disposal.
   ("Edit module" ("\C-c\C-e\C-m" "\C-c\C-em") geiser-edit-module)
   ("Add to load path..." ("\C-c\C-e\C-l" "\C-c\C-el") geiser-add-to-load-path)
   ("Toggle ()/[]" ("\C-c\C-e\C-[" "\C-c\C-e[") geiser-squarify)
-  ("Insert λ" ("\C-c\\" "\C-c\C-\\") geiser-edit-insert-lambda)
+  ("Insert λ" ("\C-c\\" "\C-c\C-\\") geiser-insert-lambda)
   --
   ("Callers" ((kbd "C-c <")) geiser-xref-callers
    :enable (and (geiser-eval--supported-p 'callers)