From 4ad1a87f8573b355b814589c63b75a7657df4069 Mon Sep 17 00:00:00 2001 From: Dominik Honnef Date: Mon, 25 Mar 2013 08:58:13 -0700 Subject: [PATCH] misc/emacs: Derive mode from prog-mode if possible R=golang-dev, bradfitz CC=adonovan, cw, golang-dev, patrick.allen.higgins https://golang.org/cl/7956044 --- misc/emacs/go-mode.el | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/misc/emacs/go-mode.el b/misc/emacs/go-mode.el index 9b6ea74f3a..76dad67613 100644 --- a/misc/emacs/go-mode.el +++ b/misc/emacs/go-mode.el @@ -52,6 +52,14 @@ (defun go--old-completion-list-style (list) (mapcar (lambda (x) (cons x nil)) list)) +;; GNU Emacs 24 has prog-mode, older GNU Emacs and XEmacs do not. +;; Ideally we'd use defalias instead, but that breaks in XEmacs. +;; +;; TODO: If XEmacs decides to add prog-mode, change this to use +;; defalias to alias prog-mode or fundamental-mode to go--prog-mode +;; and use that in define-derived-mode. +(if (not (fboundp 'prog-mode)) + (define-derived-mode prog-mode fundamental-mode "" "")) (defun go--regexp-enclose-in-symbol (s) ;; XEmacs does not support \_<, GNU Emacs does. In GNU Emacs we make @@ -370,7 +378,7 @@ current line will be returned." (forward-char)))) ;;;###autoload -(define-derived-mode go-mode fundamental-mode "Go" +(define-derived-mode go-mode prog-mode "Go" "Major mode for editing Go source text. This mode provides (not just) basic editing capabilities for -- 2.50.0