X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=elisp%2Flilypond-mode.el;h=934d1d6f0b7e7cf25eff3cf4935724d6398480b8;hb=refs%2Fheads%2Fdon%2Fcatch-mf-failures;hp=7c197ce7e07a5bf031eac54cc1cebd361c928f3a;hpb=a6a4b3fc2009f17a1a48cca0c11bfd3f38645937;p=lilypond.git diff --git a/elisp/lilypond-mode.el b/elisp/lilypond-mode.el index 7c197ce7e0..934d1d6f0b 100644 --- a/elisp/lilypond-mode.el +++ b/elisp/lilypond-mode.el @@ -1,15 +1,26 @@ -;;;; -;;;; 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--2008 Jan Nieuwenhuizen -;;;; +;;;; Copyright (C) 1999--2012 Jan Nieuwenhuizen ;;;; Changed 2001--2003 Heikki Junes ;;;; * 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 . + ;;; Inspired on auctex @@ -32,7 +43,7 @@ "File prefix for commands on buffer or region.") (defvar LilyPond-master-file nil - "Master file that Lilypond will be run on.") + "Master file that LilyPond will be run on.") ;; FIXME: find ``\score'' in buffers / make settable? (defun LilyPond-get-master-file () @@ -756,7 +767,7 @@ command." (define-key LilyPond-mode-map "\C-cb" 'LilyPond-what-beat) (define-key LilyPond-mode-map "\C-cf" 'font-lock-fontify-buffer) (define-key LilyPond-mode-map "\C-ci" 'LilyPond-insert-tag-current) - ;; the following will should be overriden by Lilypond Quick Insert Mode + ;; the following will should be overridden by LilyPond Quick Insert Mode (define-key LilyPond-mode-map "\C-cq" 'LilyPond-quick-insert-mode) (define-key LilyPond-mode-map "\C-c;" 'LilyPond-comment-region) (define-key LilyPond-mode-map ")" 'LilyPond-electric-close-paren) @@ -766,7 +777,7 @@ command." (define-key LilyPond-mode-map "|" 'LilyPond-electric-bar) (if (string-match "XEmacs\\|Lucid" emacs-version) (define-key LilyPond-mode-map [iso-left-tab] 'LilyPond-autocompletion) - (define-key LilyPond-mode-map [iso-lefttab] 'LilyPond-autocompletion)) + (define-key LilyPond-mode-map [(shift iso-lefttab)] 'LilyPond-autocompletion)) (define-key LilyPond-mode-map "\C-c\t" 'LilyPond-info-index-search) ) @@ -984,17 +995,17 @@ command." (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))))))) @@ -1002,7 +1013,7 @@ The Insert Tag -menu is splitted into parts if it is long enough." (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-" (easy-menu-define LilyPond-mode-menu @@ -1144,11 +1155,12 @@ LilyPond-command-alist\t\talist from name to command" ;; 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