changeset 108574:27a878644c60

* simple.el (prog-mode): New (abstract) major mode. * emacs-lisp/lisp-mode.el (emacs-lisp-mode, lisp-mode): Use it. * progmodes/sh-script.el (sh-mode): Remove redundant var assignment.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Fri, 14 May 2010 12:41:01 -0400
parents 77c3f2ebea52
children f6cfadfc0fb6
files etc/NEWS lisp/ChangeLog lisp/emacs-lisp/lisp-mode.el lisp/progmodes/sh-script.el lisp/simple.el
diffstat 5 files changed, 18 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/etc/NEWS	Fri May 14 18:19:07 2010 +0300
+++ b/etc/NEWS	Fri May 14 12:41:01 2010 -0400
@@ -221,6 +221,7 @@
 
 * Lisp changes in Emacs 24.1
 
+** prog-mode is a new major-mode meant to be the parent of programming mode.
 ** define-minor-mode accepts a new keyword :variable.
 
 ** delete-file now accepts an optional second arg, FORCE, which says
--- a/lisp/ChangeLog	Fri May 14 18:19:07 2010 +0300
+++ b/lisp/ChangeLog	Fri May 14 12:41:01 2010 -0400
@@ -1,3 +1,9 @@
+2010-05-14  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* simple.el (prog-mode): New (abstract) major mode.
+	* emacs-lisp/lisp-mode.el (emacs-lisp-mode, lisp-mode): Use it.
+	* progmodes/sh-script.el (sh-mode): Remove redundant var assignment.
+
 2010-05-14  Juanma Barranquero  <lekktu@gmail.com>
 
 	* progmodes/sql.el (sql-oracle-program): Reflow docstring.
@@ -24,8 +30,8 @@
 	only when the message would be displayed.  Handled nested calls.
 	(tramp-handle-load, tramp-handle-file-local-copy)
 	(tramp-handle-insert-file-contents, tramp-handle-write-region)
-	(tramp-maybe-send-script, tramp-find-shell): Use
-	`with-progress-reporter'.
+	(tramp-maybe-send-script, tramp-find-shell):
+	Use `with-progress-reporter'.
 	(tramp-handle-dired-compress-file, tramp-maybe-open-connection):
 	Fix message text.
 
--- a/lisp/emacs-lisp/lisp-mode.el	Fri May 14 18:19:07 2010 +0300
+++ b/lisp/emacs-lisp/lisp-mode.el	Fri May 14 12:41:01 2010 -0400
@@ -221,8 +221,6 @@
   ;;(set (make-local-variable 'adaptive-fill-mode) nil)
   (make-local-variable 'indent-line-function)
   (setq indent-line-function 'lisp-indent-line)
-  (make-local-variable 'parse-sexp-ignore-comments)
-  (setq parse-sexp-ignore-comments t)
   (make-local-variable 'outline-regexp)
   (setq outline-regexp ";;;\\(;* [^ \t\n]\\|###autoload\\)\\|(")
   (make-local-variable 'outline-level)
@@ -431,7 +429,7 @@
   :type 'hook
   :group 'lisp)
 
-(define-derived-mode emacs-lisp-mode nil "Emacs-Lisp"
+(define-derived-mode emacs-lisp-mode prog-mode "Emacs-Lisp"
   "Major mode for editing Lisp code to run in Emacs.
 Commands:
 Delete converts tabs to spaces as it moves back.
@@ -466,7 +464,7 @@
   "Keymap for ordinary Lisp mode.
 All commands in `lisp-mode-shared-map' are inherited by this map.")
 
-(define-derived-mode lisp-mode nil "Lisp"
+(define-derived-mode lisp-mode prog-mode "Lisp"
   "Major mode for editing Lisp code for Lisps other than GNU Emacs Lisp.
 Commands:
 Delete converts tabs to spaces as it moves back.
--- a/lisp/progmodes/sh-script.el	Fri May 14 18:19:07 2010 +0300
+++ b/lisp/progmodes/sh-script.el	Fri May 14 12:41:01 2010 -0400
@@ -1583,7 +1583,6 @@
 	sh-indent-supported-here nil)
   (set (make-local-variable 'defun-prompt-regexp)
        (concat "^\\(function[ \t]\\|[[:alnum:]]+[ \t]+()[ \t]+\\)"))
-  (set (make-local-variable 'parse-sexp-ignore-comments) t)
   ;; Parse or insert magic number for exec, and set all variables depending
   ;; on the shell thus determined.
   (sh-set-shell
--- a/lisp/simple.el	Fri May 14 18:19:07 2010 +0300
+++ b/lisp/simple.el	Fri May 14 12:41:01 2010 -0400
@@ -422,6 +422,13 @@
   "Parent major mode from which special major modes should inherit."
   (setq buffer-read-only t))
 
+;; Major mode meant to be the parent of programming modes.
+
+(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)
+  (set (make-local-variable 'parse-sexp-ignore-comments) t))
+
 ;; Making and deleting lines.
 
 (defvar hard-newline (propertize "\n" 'hard t 'rear-nonsticky '(hard))