Subject: 23.2; programming modes not derived from prog-mode (patch)
From: Tom Tromey <[email-masked]>
To: [email-masked]
Date: Mon, 26 Jul 2010 09:29:13 -0600
List-Id: <debbugs-submit.debbugs.gnu.org>

I noticed a few programming modes not derived from prog-mode.
I have attached a patch.

Maybe gdb-script-mode and ld-script-mode also need this treatment.
I was unsure.

2010-07-26  Tom Tromey  <[email-masked]>

	* progmodes/simula.el (simula-mode): Derive from prog-mode.
	* progmodes/make-mode.el (makefile-mode): Derive from prog-mode.
	* progmodes/js.el (js-mode): Derive from prog-mode.
	* progmodes/tcl.el (tcl-mode): Derive from prog-mode.

=== modified file 'lisp/progmodes/js.el'
--- lisp/progmodes/js.el	2010-06-22 07:04:20 +0000
+++ lisp/progmodes/js.el	2010-07-26 15:12:43 +0000
@@ -3268,7 +3268,7 @@
 ;;; Main Function
 
 ;;;###autoload
-(define-derived-mode js-mode nil "js"
+(define-derived-mode js-mode prog-mode "js"
   "Major mode for editing JavaScript.
 
 Key bindings:

=== modified file 'lisp/progmodes/make-mode.el'
--- lisp/progmodes/make-mode.el	2010-03-24 23:56:43 +0000
+++ lisp/progmodes/make-mode.el	2010-07-26 15:14:15 +0000
@@ -768,7 +768,7 @@
 ;;; ------------------------------------------------------------
 
 ;;;###autoload
-(define-derived-mode makefile-mode nil "Makefile"
+(define-derived-mode makefile-mode prog-mode "Makefile"
   "Major mode for editing standard Makefiles.
 
 If you are editing a file for a different make, try one of the

=== modified file 'lisp/progmodes/simula.el'
--- lisp/progmodes/simula.el	2010-01-13 08:35:10 +0000
+++ lisp/progmodes/simula.el	2010-07-26 15:14:15 +0000
@@ -330,7 +330,7 @@
   (popup-menu (cons (concat mode-name " Mode Commands") simula-mode-menu)))
 
 ;;;###autoload
-(define-derived-mode simula-mode nil "Simula"
+(define-derived-mode simula-mode prog-mode "Simula"
   "Major mode for editing SIMULA code.
 \\{simula-mode-map}
 Variables controlling indentation style:

=== modified file 'lisp/progmodes/tcl.el'
--- lisp/progmodes/tcl.el	2010-01-13 08:35:10 +0000
+++ lisp/progmodes/tcl.el	2010-07-26 15:10:05 +0000
@@ -545,7 +545,7 @@
 ;;
 
 ;;;###autoload
-(define-derived-mode tcl-mode nil "Tcl"
+(define-derived-mode tcl-mode prog-mode "Tcl"
   "Major mode for editing Tcl code.
 Expression and list commands understand all Tcl brackets.
 Tab indents for Tcl code.

In GNU Emacs 23.2.1 (i386-redhat-linux-gnu, GTK+ Version 2.20.1)
 of 2010-05-13 on x86-01.phx2.fedoraproject.org
Windowing system distributor `Fedora Project', version 11.0.10802000
configured using `configure  '--build=i386-redhat-linux-gnu' '--host=i386-redhat-linux-gnu' '--program-prefix=' '--disable-dependency-tracking' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib' '--libexecdir=/usr/libexec' '--localstatedir=/var' '--sharedstatedir=/var/lib' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--with-dbus' '--with-gif' '--with-jpeg' '--with-png' '--with-rsvg' '--with-tiff' '--with-xft' '--with-xpm' '--with-x-toolkit=gtk' 'build_alias=i386-redhat-linux-gnu' 'host_alias=i386-redhat-linux-gnu' 'CFLAGS=-DMAIL_USE_LOCKF -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables''

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: en_US.UTF-8
  value of $XMODIFIERS: nil
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

Major mode: Change Log

Minor modes in effect:
  bug-reference-mode: t
  auto-fill-function: do-auto-fill
  shell-dirtrack-mode: t
  erc-list-mode: t
  erc-menu-mode: t
  erc-autojoin-mode: t
  erc-ring-mode: t
  erc-pcomplete-mode: t
  erc-track-mode: t
  erc-track-minor-mode: t
  erc-match-mode: t
  erc-button-mode: t
  erc-fill-mode: t
  erc-stamp-mode: t
  erc-netsplit-mode: t
  erc-spelling-mode: t
  erc-truncate-mode: t
  diff-auto-refine-mode: t
  global-semanticdb-minor-mode: t
  global-semantic-idle-summary-mode: t
  semantic-mode: t
  flyspell-mode: t
  erc-status-mode: t
  erc-services-mode: t
  erc-networks-mode: t
  erc-irccontrols-mode: t
  erc-noncommands-mode: t
  erc-move-to-prompt-mode: t
  erc-readonly-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
k <return> C-x C-g C-c C-c C-z n C-x b f i l <tab> 
C-g C-x C-b C-x o C-x 1 C-s e m a c s - C-a C-u C-n 
C-n C-n C-n C-n C-n 1 M-x l g r e p <return> s a f 
e - l o c a l - v a r <return> <return> <return> C-x 
o C-v C-v M-v C-x o C-l C-o ; ; ; # # # a u t o l o 
a d SPC ( p u t SPC ' t a g M-/ M-/ SPC ' s a f e - 
l o c a l - v a r i a b l e SPC - s t <backspace> <backspace> 
<backspace> ' t <backspace> s t r i n g p ) C-M-b C-M-f 
C-x C-e C-x C-s C-c a M a k e SPC <M-backspace> <M-backspace> 
e l SPC ( s t <M-backspace> t a g s - f i l e - n a 
m e ) : S-SPC N <backspace> M a k e SPC s a f e SPC 
i f SPC s t r i n g p . C-x C-s C-x 1 C-x s n C-z o 
<f10> <f10> <f10> <f10> <f10> <f10> <f10> <switch-frame> 
C-z o C-x k <return> C-x C-f ~ / g n <tab> <M-backspace> 
<backspace> <backspace> i q <tab> <return> <switch-frame> 
<switch-frame> C-c g 3 0 9 <return> M-v M-v M-v C-r 
s a l C-a C-s s a l . e n d C-a C-x b SPC * E M <tab> 
<return> P q <f10> <f10> <f10> <f10> <f10> <f10> C-k 
C-k C-p C-p C-p C-y C-p TAB C-x C-s C-z o M-x r e p 
o r t - e m <tab> b <tab> <return>

Recent messages:
Parsing dwarf2read.c<archer> (LL)...95%
Mark saved where search started
Parsing dwarf2read.c<archer> (LL)...
Mark set
Parsing dwarf2read.c<archer> (LL)...6%
Parsing dwarf2read.c<archer> (LL)... [4 times]
Mark set
syntax: ((statement 6828)), indent: 2
Saving file /home/tromey/gnu/archer/archer/gdb/iq2000-tdep.c...
Wrote /home/tromey/gnu/archer/archer/gdb/iq2000-tdep.c

Load-path shadows:
/home/tromey/lib/lisp/rpm-spec-mode hides /usr/share/emacs/site-lisp/rpm-spec-mode
/usr/share/emacs/site-lisp/flim/sha1 hides /usr/share/emacs/23.2/lisp/sha1
/usr/share/emacs/site-lisp/flim/md4 hides /usr/share/emacs/23.2/lisp/md4
/usr/share/emacs/site-lisp/flim/hex-util hides /usr/share/emacs/23.2/lisp/hex-util
/home/tromey/.emacs.d/elpa/css-mode-1.0/css-mode hides /usr/share/emacs/23.2/lisp/textmodes/css-mode
/home/tromey/.emacs.d/elpa/ruby-mode-1.0/ruby-mode hides /usr/share/emacs/23.2/lisp/progmodes/ruby-mode
/home/tromey/.emacs.d/elpa/nxml-mode-20041004/nxml-glyph hides /usr/share/emacs/23.2/lisp/nxml/nxml-glyph
/home/tromey/.emacs.d/elpa/nxml-mode-20041004/rng-valid hides /usr/share/emacs/23.2/lisp/nxml/rng-valid
/home/tromey/.emacs.d/elpa/nxml-mode-20041004/nxml-maint hides /usr/share/emacs/23.2/lisp/nxml/nxml-maint
/home/tromey/.emacs.d/elpa/nxml-mode-20041004/rng-cmpct hides /usr/share/emacs/23.2/lisp/nxml/rng-cmpct
/home/tromey/.emacs.d/elpa/nxml-mode-20041004/rng-loc hides /usr/share/emacs/23.2/lisp/nxml/rng-loc
/home/tromey/.emacs.d/elpa/nxml-mode-20041004/rng-dt hides /usr/share/emacs/23.2/lisp/nxml/rng-dt
/home/tromey/.emacs.d/elpa/nxml-mode-20041004/rng-parse hides /usr/share/emacs/23.2/lisp/nxml/rng-parse
/home/tromey/.emacs.d/elpa/nxml-mode-20041004/rng-uri hides /usr/share/emacs/23.2/lisp/nxml/rng-uri
/home/tromey/.emacs.d/elpa/nxml-mode-20041004/rng-util hides /usr/share/emacs/23.2/lisp/nxml/rng-util
/home/tromey/.emacs.d/elpa/nxml-mode-20041004/nxml-uchnm hides /usr/share/emacs/23.2/lisp/nxml/nxml-uchnm
/home/tromey/.emacs.d/elpa/nxml-mode-20041004/nxml-ns hides /usr/share/emacs/23.2/lisp/nxml/nxml-ns
/home/tromey/.emacs.d/elpa/nxml-mode-20041004/nxml-rap hides /usr/share/emacs/23.2/lisp/nxml/nxml-rap
/home/tromey/.emacs.d/elpa/nxml-mode-20041004/xsd-regexp hides /usr/share/emacs/23.2/lisp/nxml/xsd-regexp
/home/tromey/.emacs.d/elpa/nxml-mode-20041004/nxml-mode hides /usr/share/emacs/23.2/lisp/nxml/nxml-mode
/home/tromey/.emacs.d/elpa/nxml-mode-20041004/nxml-enc hides /usr/share/emacs/23.2/lisp/nxml/nxml-enc
/home/tromey/.emacs.d/elpa/nxml-mode-20041004/nxml-outln hides /usr/share/emacs/23.2/lisp/nxml/nxml-outln
/home/tromey/.emacs.d/elpa/nxml-mode-20041004/rng-xsd hides /usr/share/emacs/23.2/lisp/nxml/rng-xsd
/home/tromey/.emacs.d/elpa/nxml-mode-20041004/rng-nxml hides /usr/share/emacs/23.2/lisp/nxml/rng-nxml
/home/tromey/.emacs.d/elpa/nxml-mode-20041004/rng-maint hides /usr/share/emacs/23.2/lisp/nxml/rng-maint
/home/tromey/.emacs.d/elpa/nxml-mode-20041004/xmltok hides /usr/share/emacs/23.2/lisp/nxml/xmltok
/home/tromey/.emacs.d/elpa/nxml-mode-20041004/nxml-util hides /usr/share/emacs/23.2/lisp/nxml/nxml-util
/home/tromey/.emacs.d/elpa/nxml-mode-20041004/nxml-parse hides /usr/share/emacs/23.2/lisp/nxml/nxml-parse
/home/tromey/.emacs.d/elpa/nxml-mode-20041004/rng-pttrn hides /usr/share/emacs/23.2/lisp/nxml/rng-pttrn
/home/tromey/.emacs.d/elpa/nxml-mode-20041004/rng-match hides /usr/share/emacs/23.2/lisp/nxml/rng-match
/usr/share/emacs/site-lisp/flim/sasl-cram hides /usr/share/emacs/23.2/lisp/net/sasl-cram
/usr/share/emacs/site-lisp/flim/hmac-def hides /usr/share/emacs/23.2/lisp/net/hmac-def
/usr/share/emacs/site-lisp/flim/hmac-md5 hides /usr/share/emacs/23.2/lisp/net/hmac-md5
/usr/share/emacs/site-lisp/flim/sasl hides /usr/share/emacs/23.2/lisp/net/sasl
/usr/share/emacs/site-lisp/flim/sasl-digest hides /usr/share/emacs/23.2/lisp/net/sasl-digest
/usr/share/emacs/site-lisp/flim/sasl-ntlm hides /usr/share/emacs/23.2/lisp/net/sasl-ntlm
/usr/share/emacs/site-lisp/flim/ntlm hides /usr/share/emacs/23.2/lisp/net/ntlm
/home/tromey/.emacs.d/elpa/emms-3.0/tq hides /usr/share/emacs/23.2/lisp/emacs-lisp/tq

Features:
(log-edit pcvs-util url-cache url-http tls url-gw url-auth iso-transl
expand diff dired-aux skeleton cal-move sh-script executable vcard
gnus-fun jimb-patch smerge-mode gdb-shell rect noutline outline
mule-util gdb-ui bindat json gud vc-annotate grep webjump ffap
newcomment etags bbdb-sc supercite regi tcl semantic/analyze/complete
shell edmacro kmacro semantic/edit goto-addr add-log shadow mail-hist
emacsbug idutils compile find-file semantic/complete eieio-opt
bbdb-hooks semantic/tag-write erc-menu erc-join erc-ring erc-pcomplete
pcomplete erc-track erc-match erc-button erc-fill erc-stamp erc-netsplit
erc-spelling erc-truncate semantic/tag-file diff-mode
semantic/db-typecache semantic/find semantic/bovine semantic/db-file
cedet-files semantic/bovine/c semantic/decorate/include semantic/db-find
semantic/db-ref semantic/decorate/mode semantic/decorate pulse
semantic/bovine/c-by semantic/lex-spp semantic/bovine/gcc semantic/dep
semantic/analyze semantic/sort semantic/scope semantic/analyze/fcn
cc-mode cc-fonts cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars
cc-defs w3m-form w3m browse-url doc-view image-mode w3m-hist w3m-fb
w3m-ems w3m-ccl ccl w3m-favicon w3m-image w3m-proc w3m-util vc-git
vc-bzr vc-sccs vc-svn vc-rcs vc-dir ewoc vc vc-dispatcher flow-fill
bbdb-gui gnus-cite smiley ansi-color gnus-async gnus-bcklg parse-time
gnus-ml disp-table auth-source nnml nndraft nnmh bbdb-gnus bbdb-snarf
mail-extr bbdb-com warnings gnus-agent gnus-srvr gnus-score score-mode
nnvirtual gnus-msg gnus-art mm-uu mml2015 epg-config mm-view smime dig
nntp gnus-cache gnus-sum nnoo gnus-group gnus-undo nnmail mail-source
gnus-start gnus-spec gnus-int gnus-range message idna sendmail ecomplete
rfc822 mml mml-sec password-cache mm-decode mm-bodies mm-encode
mail-parse rfc2231 rfc2047 rfc2045 qp ietf-drums mailabbrev gmm-utils
mailheader canlock sha1 sha1-el hex-util hashcash gnus-win gnus gnus-ems
nnheader gnus-util netrc mail-utils wid-edit multi-isearch apropos
cus-start cus-load semantic/db-mode semantic/db eieio-base semantic/idle
semantic/format ezimage semantic/tag-ls semantic/ctxt
semantic/util-modes semantic/util semantic semantic/tag semantic/lex
semantic/fw eieio byte-opt bytecomp byte-compile mode-local cedet
copyright dabbrev find-func help-mode view vc-cvs jka-compr flyspell
ispell eldoc emms-status emms-lastfm emms-url url url-proxy url-privacy
url-expand url-methods url-history url-cookie url-util url-parse
url-vars mm-util mail-prsvr mailcap emms-browser sort emms-playlist-sort
emms-score emms-player-xine emms-player-mpd tq emms-playing-time
emms-lyrics time-date emms-streams emms-mode-line emms-cache
emms-info-ogginfo emms-info-mp3info emms-info later-do
emms-playlist-mode emms-player-mplayer emms-player-simple
emms-source-playlist emms-source-file dired emms-setup emms emms-compat
gdb-shell-autoloads nxml-enc info weblogger-autoloads xml-rpc-autoloads
package reporter cal-china lunar solar cal-dst cal-bahai cal-islam
cal-hebrew holidays hol-loaddefs appt diary-lib diary-loaddefs cal-menu
easymenu calendar cal-loaddefs uniquify mouse-sel easy-mmode status cl
cl-19 erc-services erc-networks erc-goodies erc erc-backend erc-compat
format-spec thingatpt pp bbdb timezone ange-ftp regexp-opt comint ring
server advice help-fns advice-preload u-vm-color vm-autoloads vm-vars
vm-version bbdb-autoloads tooltip ediff-hook vc-hooks lisp-float-type
mwheel x-win x-dnd font-setting tool-bar dnd fontset image fringe
lisp-mode register page menu-bar rfn-eshadow timer select scroll-bar
mldrag mouse jit-lock font-lock syntax facemenu font-core frame cham
georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao
korean japanese hebrew greek romanian slovak czech european ethiopic
indian cyrillic chinese case-table epa-hook jka-cmpr-hook help simple
abbrev loaddefs button minibuffer faces cus-face files text-properties
overlay md5 base64 format env code-pages mule custom widget
hashtable-print-readable backquote make-network-process dbusbind
system-font-setting font-render-setting gtk x-toolkit x multi-tty emacs)

Tom