emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[nongnu] elpa/d-mode a587c35 014/346: Merge pull request #3 from roysc/p


From: ELPA Syncer
Subject: [nongnu] elpa/d-mode a587c35 014/346: Merge pull request #3 from roysc/patch-derive
Date: Sun, 29 Aug 2021 10:59:56 -0400 (EDT)

branch: elpa/d-mode
commit a587c359e888eb3aa9934dc391a9d13523f850d6
Merge: f6d79da 685f825
Author: Russel Winder <russel@winder.org.uk>
Commit: Russel Winder <russel@winder.org.uk>

    Merge pull request #3 from roysc/patch-derive
    
    Made d-mode derive from conditional parent
---
 d-mode.el | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/d-mode.el b/d-mode.el
index 7546a9c..0ddde42 100644
--- a/d-mode.el
+++ b/d-mode.el
@@ -367,8 +367,12 @@ operators."
 ;;----------------------------------------------------------------------------
 ;;;###autoload (add-to-list 'auto-mode-alist '("\\.d[i]?\\'" . d-mode))
 
+;; For compatibility with Emacs < 24
+(defalias 'd-parent-mode
+  (if (functionp 'prog-mode) 'prog-mode 'fundamental-mode))
+
 ;;;###autoload
-(defun d-mode ()
+(define-derived-mode d-mode d-parent-mode "D"
   "Major mode for editing code written in the D Programming Language.
 See http://www.digitalmars.com/d for more information about the D language.
 The hook `c-mode-common-hook' is run with no args at mode
@@ -376,14 +380,10 @@ initialization, then `d-mode-hook'.
 
 Key bindings:
 \\{d-mode-map}"
-  (interactive)
-  (kill-all-local-variables)
   (c-initialize-cc-mode t)
   (set-syntax-table d-mode-syntax-table)
-  (setq major-mode 'd-mode
-       mode-name "D"
-       local-abbrev-table d-mode-abbrev-table
-       abbrev-mode t)
+  (setq local-abbrev-table d-mode-abbrev-table
+        abbrev-mode t)
   (use-local-map d-mode-map)
   (c-init-language-vars d-mode)
   (c-common-init 'd-mode)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]