summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2010-08-19 01:25:36 +0200
committerStefan Monnier <monnier@iro.umontreal.ca>2010-08-19 01:25:36 +0200
commitb2a15250f652d800838f66abc1f877f0cad0d323 (patch)
treebfa1f90fb5fcd7b50a519e1cc4fa5fbe6632c8fb /lisp
parent9b93863787342c5c3053c9c8206490f621c1b404 (diff)
downloademacs-b2a15250f652d800838f66abc1f877f0cad0d323.tar.gz
emacs-b2a15250f652d800838f66abc1f877f0cad0d323.tar.bz2
emacs-b2a15250f652d800838f66abc1f877f0cad0d323.zip
* lisp/simple.el (prog-mode-map): New var.
(prog-indent-sexp): New command.
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ChangeLog3
-rw-r--r--lisp/simple.el13
2 files changed, 16 insertions, 0 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index c56f069eba5..ce5baa1b1a1 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,5 +1,8 @@
2010-08-18 Stefan Monnier <monnier@iro.umontreal.ca>
+ * simple.el (prog-mode-map): New var.
+ (prog-indent-sexp): New command.
+
* progmodes/octave-mod.el (octave-mode-menu): Make toggle buttons.
* progmodes/prolog.el (smie): Require.
diff --git a/lisp/simple.el b/lisp/simple.el
index 5a2c9e70ad6..7c941fd63b9 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -424,6 +424,19 @@ Other major modes are defined by comparison with this one."
;; Major mode meant to be the parent of programming modes.
+(defvar prog-mode-map
+ (let ((map (make-sparse-keymap)))
+ (define-key map [?\C-\M-q] 'prog-indent-sexp)
+ map)
+ "Keymap used for programming modes.")
+
+(defun prog-indent-sexp ()
+ "Indent the expression after point."
+ (interactive)
+ (let ((start (point))
+ (end (save-excursion (forward-sexp 1) (point))))
+ (indent-region start end nil)))
+
(define-derived-mode prog-mode fundamental-mode "Prog"
"Major mode for editing programming language source code."
(set (make-local-variable 'require-final-newline) mode-require-final-newline)