-;;;;
-;;;; lilypond-mode.el --- Major mode for editing GNU LilyPond music scores
-;;;;
-;;;; source file of the GNU LilyPond music typesetter
+;;;; lilypond-mode.el -- Major mode for editing GNU LilyPond music scores
+;;;; This file is part of LilyPond, the GNU music typesetter.
;;;;
-;;;; (c) 1999--2009 Jan Nieuwenhuizen <janneke@gnu.org>
-;;;;
+;;;; Copyright (C) 1999--2012 Jan Nieuwenhuizen <janneke@gnu.org>
;;;; Changed 2001--2003 Heikki Junes <heikki.junes@hut.fi>
;;;; * Add PS-compilation, PS-viewing and MIDI-play (29th Aug 2001)
;;;; * Keyboard shortcuts (12th Sep 2001)
;;;; * Inserting tags, inspired on sgml-mode (11th Oct 2001)
;;;; * Autocompletion & Info (23rd Nov 2002)
+;;;;
+;;;; LilyPond is free software: you can redistribute it and/or modify
+;;;; it under the terms of the GNU General Public License as published by
+;;;; the Free Software Foundation, either version 3 of the License, or
+;;;; (at your option) any later version.
+;;;;
+;;;; LilyPond is distributed in the hope that it will be useful,
+;;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;;; GNU General Public License for more details.
+;;;;
+;;;; You should have received a copy of the GNU General Public License
+;;;; along with LilyPond. If not, see <http://www.gnu.org/licenses/>.
+
;;; Inspired on auctex
(defun LilyPond-menu-keywords ()
"Make Insert Tag menu.
-The Insert Tag -menu is splitted into parts if it is long enough."
+The Insert Tag -menu is split into parts if it is long enough."
(let ((li (mapcar 'LilyPond-menu-keywords-item LilyPond-menu-keywords))
(w (round (sqrt (length LilyPond-menu-keywords))))
- (splitted '())
+ (split '())
(imin 0) imax lw rw)
(while (< imin (length LilyPond-menu-keywords))
(setq imax (- (min (+ imin w) (length LilyPond-menu-keywords)) 1))
(setq lw (nth imin LilyPond-menu-keywords))
(setq rw (nth imax LilyPond-menu-keywords))
- (add-to-list 'splitted
+ (add-to-list 'split
(let ((l (list (concat (substring lw 0 (min 7 (length lw)))
" ... "
(substring rw 0 (min 7 (length rw)))))))
(add-to-list 'l (nth imin li))
(setq imin (1+ imin)))
(reverse l))))
- (if (> (length LilyPond-menu-keywords) 12) (reverse splitted) li)))
+ (if (> (length LilyPond-menu-keywords) 12) (reverse split) li)))
;;; LilyPond-mode-menu should not be interactive, via "M-x LilyPond-<Tab>"
(easy-menu-define LilyPond-mode-menu
;; Use Command on Region even for inactive mark (region).
(if (string-match "XEmacs\\|Lucid" emacs-version)
- (setq zmacs-regions nil)
+ (progn
+ (setq zmacs-regions nil)
+ (make-local-hook 'post-command-hook)) ; XEmacs requires
(setq mark-even-if-inactive t))
;; Context dependent syntax tables in LilyPond-mode
- (make-local-hook 'post-command-hook) ; XEmacs requires
(add-hook 'post-command-hook 'LilyPond-mode-context-set-syntax-table nil t)
;; Turn on paren-mode buffer-locally, i.e., in LilyPond-mode