From aed0c99e6f88cfbcab2b3348368c41f261bc456a Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Sat, 20 Feb 2016 16:08:19 -0500 Subject: sisu-mode.el 7.1.8 as committed to Gnu elpa * submissions with much feedback from Stefan Monnier * 2016-02-22 --- data/doc/sisu/CHANGELOG_v7 | 3 + .../sisu/conf/editor-syntax-etc/emacs/sisu-mode.el | 377 ++++++++++----------- 2 files changed, 176 insertions(+), 204 deletions(-) diff --git a/data/doc/sisu/CHANGELOG_v7 b/data/doc/sisu/CHANGELOG_v7 index b8129525..9fe65928 100644 --- a/data/doc/sisu/CHANGELOG_v7 +++ b/data/doc/sisu/CHANGELOG_v7 @@ -25,6 +25,9 @@ Reverse Chronological: * rollover year, 2016 * hyperlink delimiters changed to square brackets + * sisu-mode.el as committed to Gnu elpa + * re-submitted after feedback (on 7.1.7) from Stefan Monnier + * sisu_7.1.7.orig.tar.xz (Open commit window: 2015-12-29; Pre-Release) http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=log;h=refs/tags/sisu_7.1.7 diff --git a/data/sisu/conf/editor-syntax-etc/emacs/sisu-mode.el b/data/sisu/conf/editor-syntax-etc/emacs/sisu-mode.el index 998a4231..6bfbb4ba 100644 --- a/data/sisu/conf/editor-syntax-etc/emacs/sisu-mode.el +++ b/data/sisu/conf/editor-syntax-etc/emacs/sisu-mode.el @@ -1,25 +1,17 @@ -;;; sisu-mode.el --- a major-mode for highlighting a hierarchy structured text. +;;; sisu-mode.el --- Major mode for SiSU markup text -;; Copyright (C): Free Software Foundation, Inc. (FSF) (GNU EMACS) -;; Assigned to FSF 2011-04-08 -;; -;; [this file has been edited and updated by Ralph Amissah] +;; Copyright (C) 2011, 2016 Free Software Foundation, Inc. ;; Author: Ralph Amissah & Ambrose Kofi Laing +;; Maintainer: Ralph Amissah ;; Keywords: text, syntax, processes, tools -;; Version: 7.1.7 2015-12-26 Ralph Amissah, -;; including patch from Kevin Ryde; -;; 5.7.2 2014-10-28 Ralph Amissah; -;; 4.0.8 2013-02-17 Ralph Amissah; -;; 3.0.7 2011-04-20 Ambrose Kofi Laing & Ralph Amissah; -;; 2008-12-14 -;; URL: [http://git.sisudoc.org/gitweb/?p=code/sisu.git;a=blob;f=data/sisu/conf/editor-syntax-etc/emacs/sisu-mode.el;hb=HEAD] -;; License: GPLv3 -;; Home URL: SiSU: http://www.jus.uio.no/sisu +;; Version: 7.1.8 +;; URL: http://www.sisudoc.org/ ;; originally looked at (based on) doc-mode, with kind permission of the author ;; Author: SUN, Tong , (c)2001-6, all right reserved ;; Version: $Date: 2006/01/19 03:13:41 $ $Revision: 1.14 $ ;; Home URL: http://xpt.sourceforge.net/ +;; with contributions from Kevin Ryde and Stefan Monnier ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by @@ -32,7 +24,7 @@ ;; GNU General Public License for more details. ;; ;; You should have received a copy of the GNU General Public License -;; along with this program. If not, see [http://www.gnu.org/licenses/]. +;; along with this program. If not, see . ;; Viva Software Libre! ;; Support the free software movement! @@ -52,6 +44,10 @@ ;; The documentation for the "Structure Of The Hierarchy Text" can be ;; found in the sisustring for the sisu-mode function. +;;; Code: + +;;{{{ Variables: + (defgroup sisu-faces nil "AsciiSisu highlighting" :group 'sisus) @@ -115,19 +111,19 @@ (defvar sisu-title-3 'sisu-title-3-face) (defvar sisu-title-4 'sisu-title-4-face) -(defvar general-font-lock-red1 font-lock-warning-face) -(defvar general-font-lock-red2 font-lock-comment-face) -(defvar general-font-lock-red3 font-lock-string-face) +(defvar sisu-general-font-lock-red1 font-lock-warning-face) +(defvar sisu-general-font-lock-red2 font-lock-comment-face) +(defvar sisu-general-font-lock-red3 font-lock-string-face) -(defvar general-font-lock-green1 font-lock-type-face) -(defvar general-font-lock-green2 font-lock-constant-face) +(defvar sisu-general-font-lock-green1 font-lock-type-face) +(defvar sisu-general-font-lock-green2 font-lock-constant-face) -(defvar general-font-lock-blue1 font-lock-keyword-face) -(defvar general-font-lock-blue2 font-lock-function-name-face) -(defvar general-font-lock-blue3 font-lock-builtin-face) +(defvar sisu-general-font-lock-blue1 font-lock-keyword-face) +(defvar sisu-general-font-lock-blue2 font-lock-function-name-face) +(defvar sisu-general-font-lock-blue3 font-lock-builtin-face) -(defvar general-font-lock-yellow1 font-lock-variable-name-face) -(defvar general-font-lock-yellow2 font-lock-comment-face) +(defvar sisu-general-font-lock-yellow1 font-lock-variable-name-face) +(defvar sisu-general-font-lock-yellow2 font-lock-comment-face) ;; == sisu-mode settings @@ -142,21 +138,21 @@ (eval-when-compile (list ;;grouped text --------- - ;(cons "^```[ ]code\\(.\\|\n\\)+?\n```\n" 'general-font-lock-red2) - (cons "^```[ ]+code.*?$\\|^```$" 'general-font-lock-red2) - (cons "^```[ ]+table.*?$\\|^```$" 'general-font-lock-red2) - (cons "^```[ ]+group$\\|^```$" 'general-font-lock-red2) - (cons "^```[ ]+block$\\|^```$" 'general-font-lock-red2) - (cons "^```[ ]+poem$\\|^```$" 'general-font-lock-red2) - (cons "^```[ ]+alt$\\|^```$" 'general-font-lock-red2) + ;(cons "^```[ ]code\\(.\\|\n\\)+?\n```\n" 'sisu-general-font-lock-red2) + (cons "^```[ ]+code.*?$\\|^```$" 'sisu-general-font-lock-red2) + (cons "^```[ ]+table.*?$\\|^```$" 'sisu-general-font-lock-red2) + (cons "^```[ ]+group$\\|^```$" 'sisu-general-font-lock-red2) + (cons "^```[ ]+block$\\|^```$" 'sisu-general-font-lock-red2) + (cons "^```[ ]+poem$\\|^```$" 'sisu-general-font-lock-red2) + (cons "^```[ ]+alt$\\|^```$" 'sisu-general-font-lock-red2) ;;grouped text --------- - (cons "^group\{\\|^\}group" 'general-font-lock-red2) - (cons "^block\{\\|^\}block" 'general-font-lock-red2) - (cons "^code\{\\|^\}code" 'general-font-lock-red2) - (cons "^poem\{\\|^\}poem" 'general-font-lock-red2) - (cons "^alt\{\\|^\}alt" 'general-font-lock-red2) - (cons "^table\{.+\\|^\}table" 'general-font-lock-red2) - (cons "^\{table[^}]+\}" 'general-font-lock-red2) + (cons "^group{\\|^}group" 'sisu-general-font-lock-red2) + (cons "^block{\\|^}block" 'sisu-general-font-lock-red2) + (cons "^code{\\|^}code" 'sisu-general-font-lock-red2) + (cons "^poem{\\|^}poem" 'sisu-general-font-lock-red2) + (cons "^alt{\\|^}alt" 'sisu-general-font-lock-red2) + (cons "^table{.+\\|^}table" 'sisu-general-font-lock-red2) + (cons "^{table[^}]+}" 'sisu-general-font-lock-red2) (list (concat @@ -164,9 +160,9 @@ "\\(.\\|\n\\)+?" "\`\\{3\\}$" ) - '(1 general-font-lock-red2 t) + '(1 sisu-general-font-lock-red2 t) '(2 nil t) - '(3 general-font-lock-red2 t) + '(3 sisu-general-font-lock-red2 t) ) (list (concat @@ -174,9 +170,9 @@ "\\(.\\|\n\\)+?" "\`\\{3\\}$" ) - '(1 general-font-lock-red2 t) + '(1 sisu-general-font-lock-red2 t) '(2 nil t) - '(3 general-font-lock-red2 t) + '(3 sisu-general-font-lock-red2 t) ) (list (concat @@ -184,177 +180,177 @@ "\\(.\\|\n\\)+?" "^\`\\{3\\}$" ) - '(1 general-font-lock-red2 t) + '(1 sisu-general-font-lock-red2 t) '(2 nil t) - '(3 general-font-lock-red2 t) + '(3 sisu-general-font-lock-red2 t) ) ;; footnote/endnote ---- - ;(cons "\~\{.+?\}\~" 'general-font-lock-green1) - (cons "\~\{\\*\\*\\|\~\{\\*\\|\~\{\\|\}\~" 'general-font-lock-red2) - (cons "\~\\[\\+\\|\~\\[\\*\\|\~\\[\\|\\]\~" 'general-font-lock-red2) - (cons "\~\\^ \\|^\\^\~ " 'general-font-lock-red2) + ;(cons "\~{.+?}\~" 'sisu-general-font-lock-green1) + (cons "\~{\\*\\*\\|\~{\\*\\|\~{\\|}\~" 'sisu-general-font-lock-red2) + (cons "\~\\[\\+\\|\~\\[\\*\\|\~\\[\\|\\]\~" 'sisu-general-font-lock-red2) + (cons "\~\\^ \\|^\\^\~ " 'sisu-general-font-lock-red2) (list (concat "\\(\*\~\\)" "\\([^ \r\t\n]+\\)" ) - '(1 general-font-lock-red1 t) - '(2 general-font-lock-blue2 t) + '(1 sisu-general-font-lock-red1 t) + '(2 sisu-general-font-lock-blue2 t) ) ;; emphasis (can be program configured to be bold italics or underscore) (list (concat - "\\([*]\{\\)" - "\\([^\}]+\\)" - "\\(\}[*]\\)" + "\\([*]{\\)" + "\\([^}]+\\)" + "\\(}[*]\\)" ) - '(1 general-font-lock-red1 t) - '(2 general-font-lock-red1 t) - '(3 general-font-lock-red1 t) + '(1 sisu-general-font-lock-red1 t) + '(2 sisu-general-font-lock-red1 t) + '(3 sisu-general-font-lock-red1 t) ) ;; bold ---------------- (list (concat - "\\([!]\{\\)" - "\\([^\}]+\\)" - "\\(\}[!]\\)" + "\\([!]{\\)" + "\\([^}]+\\)" + "\\(}[!]\\)" ) - '(1 general-font-lock-red1 t) - '(2 general-font-lock-red1 t) - '(3 general-font-lock-red1 t) + '(1 sisu-general-font-lock-red1 t) + '(2 sisu-general-font-lock-red1 t) + '(3 sisu-general-font-lock-red1 t) ) - (cons "\\*[^ ]+\\*" 'general-font-lock-red1) - (cons "^!_ .+" 'general-font-lock-red1) + (cons "\\*[^ ]+\\*" 'sisu-general-font-lock-red1) + (cons "^!_ .+" 'sisu-general-font-lock-red1) ;; italics ------------- (list (concat - "\\([/]\{\\)" - "\\([^\}]+\\)" - "\\(\}[/]\\)" + "\\([/]{\\)" + "\\([^}]+\\)" + "\\(}[/]\\)" ) - '(1 general-font-lock-red1 t) - '(2 general-font-lock-blue1 t) - '(3 general-font-lock-red1 t) + '(1 sisu-general-font-lock-red1 t) + '(2 sisu-general-font-lock-blue1 t) + '(3 sisu-general-font-lock-red1 t) ) ;; underscore ---------- (list (concat - "\\([_]\{\\)" - "\\([^\}]+\\)" + "\\([_]{\\)" + "\\([^}]+\\)" "\\(\}[_]\\)" ) - '(1 general-font-lock-red1 t) - '(2 general-font-lock-red1 t) - '(3 general-font-lock-red1 t) + '(1 sisu-general-font-lock-red1 t) + '(2 sisu-general-font-lock-red1 t) + '(3 sisu-general-font-lock-red1 t) ) ;; monospace ----------- (list (concat - "\\([#]\{\\)" - "\\([^\}]+\\)" - "\\(\}[#]\\)" + "\\([#]{\\)" + "\\([^}]+\\)" + "\\(}[#]\\)" ) - '(1 general-font-lock-red1 t) - '(2 general-font-lock-red1 t) - '(3 general-font-lock-red1 t) + '(1 sisu-general-font-lock-red1 t) + '(2 sisu-general-font-lock-red1 t) + '(3 sisu-general-font-lock-red1 t) ) ;; citation ------------ (list (concat - "\\([\"]\{\\)" - "\\([^\}]+\\)" - "\\(\}[\"]\\)" + "\\([\"]{\\)" + "\\([^}]+\\)" + "\\(}[\"]\\)" ) - '(1 general-font-lock-red1 t) - '(2 general-font-lock-red1 t) - '(3 general-font-lock-red1 t) + '(1 sisu-general-font-lock-red1 t) + '(2 sisu-general-font-lock-red1 t) + '(3 sisu-general-font-lock-red1 t) ) ;; inserted text ------- (list (concat - "\\([\+]\{\\)" - "\\([^\}]+\\)" - "\\(\}[\+]\\)" + "\\([\+]{\\)" + "\\([^}]+\\)" + "\\(}[\+]\\)" ) - '(1 general-font-lock-red1 t) - '(2 general-font-lock-red1 t) - '(3 general-font-lock-red1 t) + '(1 sisu-general-font-lock-red1 t) + '(2 sisu-general-font-lock-red1 t) + '(3 sisu-general-font-lock-red1 t) ) ;; strike through ------ (list (concat - "\\(\\-\{\\)" - "\\([^\}]+\\)" - "\\(\}\\-\\)" + "\\(\\-{\\)" + "\\([^}]+\\)" + "\\(}\\-\\)" ) - '(1 general-font-lock-red1 t) - '(2 general-font-lock-red1 t) - '(3 general-font-lock-red1 t) + '(1 sisu-general-font-lock-red1 t) + '(2 sisu-general-font-lock-red1 t) + '(3 sisu-general-font-lock-red1 t) ) ;; superscript --------- (list (concat - "\\(\\^\{\\)" - "\\([^\}]+\\)" - "\\(\}\\^\\)" + "\\(\\^{\\)" + "\\([^}]+\\)" + "\\(}\\^\\)" ) - '(1 general-font-lock-red1 t) - '(2 general-font-lock-red1 t) - '(3 general-font-lock-red1 t) + '(1 sisu-general-font-lock-red1 t) + '(2 sisu-general-font-lock-red1 t) + '(3 sisu-general-font-lock-red1 t) ) ;; subscript ----------- (list (concat - "\\([,]\{\\)" - "\\([^\}]+\\)" - "\\(\}[,]\\)" + "\\([,]{\\)" + "\\([^}]+\\)" + "\\(}[,]\\)" ) - '(1 general-font-lock-red1 t) - '(2 general-font-lock-red1 t) - '(3 general-font-lock-red1 t) + '(1 sisu-general-font-lock-red1 t) + '(2 sisu-general-font-lock-red1 t) + '(3 sisu-general-font-lock-red1 t) ) ;; numbered list - (cons "^# \\|^_# " 'general-font-lock-red1) + (cons "^# \\|^_# " 'sisu-general-font-lock-red1) ;; bullet text - (cons "^_\\*[1-9] \\|^_\\* " 'general-font-lock-red1) + (cons "^_\\*[1-9] \\|^_\\* " 'sisu-general-font-lock-red1) ;; indented text - (cons "^_[1-9] " 'general-font-lock-red1) - (cons "^_[1-9]! " 'general-font-lock-red1) + (cons "^_[1-9] " 'sisu-general-font-lock-red1) + (cons "^_[1-9]! " 'sisu-general-font-lock-red1) ;; hanging indented text [proposed enable when implemented] - (cons "^__[1-9] " 'general-font-lock-red1) - (cons "^_[0-9]_[0-9] " 'general-font-lock-red1) - (cons "^__[1-9]! " 'general-font-lock-red1) - (cons "^_[0-9]_[0-9]! " 'general-font-lock-red1) + (cons "^__[1-9] " 'sisu-general-font-lock-red1) + (cons "^_[0-9]_[0-9] " 'sisu-general-font-lock-red1) + (cons "^__[1-9]! " 'sisu-general-font-lock-red1) + (cons "^_[0-9]_[0-9]! " 'sisu-general-font-lock-red1) ;; url - (cons "\\(^\\|[ ]\\)http:[/][/][^ \t\n\r<]+" 'general-font-lock-blue2) + (cons "\\(^\\|[ ]\\)http:[/][/][^ \t\n\r<]+" 'sisu-general-font-lock-blue2) ;; Comment Lines - (cons "^% .*" 'general-font-lock-blue1) + (cons "^% .*" 'sisu-general-font-lock-blue1) ;; page break - (cons "^\\(-\\\\\\\\-\\|=\\\\\\\\=\\|-\\.\\.-\\)" 'general-font-lock-red2) + (cons "^\\(-\\\\\\\\-\\|=\\\\\\\\=\\|-\\.\\.-\\)" 'sisu-general-font-lock-red2) ;; line break - (cons " \\\\\\\\ " 'general-font-lock-red1) + (cons " \\\\\\\\ " 'sisu-general-font-lock-red1) ;; line break (depreciated) - (cons "
" 'general-font-lock-red1) + (cons "
" 'sisu-general-font-lock-red1) ;; Section titles (list "^\\(\\([1-4]\\|:?[A-D]\\)\\~\\)\\(.*\\)" @@ -365,45 +361,45 @@ ;; hyper-links (list (concat - "\\(\{~^\\|\{\\)" - "\\([^\}\{]+\\)" - "\\(\}http:[/][/][^ \r\n\t<]+\\)" + "\\({~^\\|{\\)" + "\\([^}{]+\\)" + "\\(}http:[/][/][^ \r\n\t<]+\\)" ) - '(1 general-font-lock-blue2 t) - '(2 general-font-lock-red1 t) - '(3 general-font-lock-blue2 t) + '(1 sisu-general-font-lock-blue2 t) + '(2 sisu-general-font-lock-red1 t) + '(3 sisu-general-font-lock-blue2 t) ) ;; book index (list (concat - "^\\(\=\{\\)" - "\\([^\}\{]+\\)" + "^\\(\={\\)" + "\\([^}{]+\\)" "\\(}\\)$" ) - '(1 general-font-lock-green1 t) + '(1 sisu-general-font-lock-green1 t) '(2 nil t) - '(3 general-font-lock-green1 t) + '(3 sisu-general-font-lock-green1 t) ) - ;(cons "^\=\{.+\}" 'general-font-lock-green1) + ;(cons "^\={.+}" 'sisu-general-font-lock-green1) ;; numbers - (cons "\\<[.0-9]+\\>" 'general-font-lock-green2) + (cons "\\<[.0-9]+\\>" 'sisu-general-font-lock-green2) ;; bullets sisu_normal (nearly copied regexp) - (cons "^_\\([1-9*]\\|[1-9]\\*\\) " 'general-font-lock-blue2) + (cons "^_\\([1-9*]\\|[1-9]\\*\\) " 'sisu-general-font-lock-blue2) ;; image links (list (concat - "\\(\{\\)" - "\\([^\}\{]+\\)" - "\\(\}image\\)" + "\\({\\)" + "\\([^}{]+\\)" + "\\(}image\\)" ) - '(1 general-font-lock-blue2 t) - '(2 general-font-lock-red1 t) - '(3 general-font-lock-blue2 t) + '(1 sisu-general-font-lock-blue2 t) + '(2 sisu-general-font-lock-red1 t) + '(3 sisu-general-font-lock-blue2 t) ) ;; insert file links @@ -413,9 +409,9 @@ "\\([^ \r\t\n]+\\.ss\\)" "\\(i\\|t\\)" ) - '(1 general-font-lock-blue2 t) - '(2 general-font-lock-blue2 t) - '(3 general-font-lock-blue2 t) + '(1 sisu-general-font-lock-blue2 t) + '(2 sisu-general-font-lock-blue2 t) + '(3 sisu-general-font-lock-blue2 t) ) ;; raw keywords @@ -443,34 +439,23 @@ "Default expressions to highlight in AsciiSisu mode." ) -;; enables outlining for sisu -(add-hook 'sisu-mode-hook - '(lambda () - (outline-minor-mode))) - -;;; outline mode "folding" if available -;;; TODO make sure linum (line numbering) is off, else performance penalty, sucks bigtime -;(define-key evil-normal-state-map (kbd ",0") (lambda() (interactive) (show-all))) -;(define-key evil-normal-state-map (kbd ",-") (lambda() (interactive) (hide-body))) -;(define-key evil-normal-state-map (kbd ",+") (lambda() (interactive) (show-subtree))) -;(define-key evil-normal-state-map (kbd ",=") (lambda() (interactive) (show-subtree))) -; -;;(define-key evil-normal-state-map ",0" 'show-all) -;;(define-key evil-normal-state-map ",-" 'hide-body) -;;(define-key evil-normal-state-map ",+" 'show-subtree) -;;(define-key evil-normal-state-map ",=" 'show-subtree) - -;; C-c @ C-a show all -;; C-c @ C-t show only the headings -;; C-c @ C-s show subtree at cursor location -;; C-c @ C-d hide subtree at cursor location - -;; Sisu & Autoload: +;; outline mode evil "folding" if available +;; (define-key evil-normal-state-map ",0" 'show-all) +;; (define-key evil-normal-state-map ",-" 'hide-body) +;; (define-key evil-normal-state-map ",+" 'show-subtree) +;; (define-key evil-normal-state-map ",=" 'show-subtree) + +;;}}} + +;;{{{ Sisu & Autoload: + +;;;###autoload (define-derived-mode sisu-mode text-mode "SiSU" - "Major mode for editing SiSU files." - (interactive) + "Major mode for editing SiSU files. +SiSU document structuring, publishing in multiple formats and search. +URL `http://www.sisudoc.org/'" (modify-syntax-entry ?\' ".") - ;(flyspell-mode nil) + ;;(flyspell-mode nil) (make-local-variable 'paragraph-start) (setq paragraph-start (concat "$\\|>" page-delimiter)) @@ -480,43 +465,27 @@ (setq paragraph-ignore-fill-prefix t) (set (make-local-variable 'outline-regexp) - "^\\(\\([1-4]\\|:?[A-D]\\)\\~\\|\\@[a-z]+:\\( \\|$\\)\\)") + "^\\(\\([1-4]\\|:?[A-D]\\)\\~\\|\\@[a-z]+:\\( \\|$\\)\\)") (make-local-variable 'require-final-newline) (setq require-final-newline t) (make-local-variable 'font-lock-defaults) (setq font-lock-defaults - '(sisu-font-lock-keywords - nil ; KEYWORDS-ONLY: no - nil ; CASE-FOLD: no - ((?_ . "w")) ; SYNTAX-ALIST - )) - (run-hooks 'sisu-mode-hook)) + '(sisu-font-lock-keywords + nil ; KEYWORDS-ONLY: no + nil ; CASE-FOLD: no + ((?_ . "w")) ; SYNTAX-ALIST + )) + ;; Enable outlining. + ;; TODO with outlining make sure linum (line numbering) is off, + ;; else performance penalty, sucks bigtime + (outline-minor-mode 1)) + +;;;###autoload (add-to-list 'auto-mode-alist '("\\.ss[imt]\\'" . sisu-mode)) -;; ##autoload -(add-to-list 'auto-mode-alist '("\\.sst\\'" . sisu-mode)) -(add-to-list 'auto-mode-alist '("\\.ssm\\'" . sisu-mode)) -(add-to-list 'auto-mode-alist '("\\.ssi\\'" . sisu-mode)) +(provide 'sisu-mode) -;;;; ChangeLog: +;;}}} -;; 2011-07-12 Chong Yidong -;; -;; Fix version numbers of sisu-mode, register-list, and windresize. -;; -;; 2011-07-08 Chong Yidong -;; -;; sisu-mode.el: Add .sisu to auto-mode-alist using autoload cookie. -;; Minor doc fixes. -;; -;; 2011-07-06 Stefan Monnier -;; -;; * sisu-mode.el (sisu-mode): Autoload. -;; -;; 2011-07-04 Stefan Monnier -;; -;; Add sisu-mode.el. Update all.el licence. -;; - -(provide 'sisu-mode) +;;; sisu-mode.el ends here -- cgit v1.2.3