;;; gametree.el --- manage game analysis trees in Emacs
-;; Copyright (C) 1997, 1999, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
-;; 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+;; Copyright (C) 1997, 1999, 2001-2011 Free Software Foundation, Inc.
;; Author: Ian T Zimmerman <itz@rahul.net>
;; Created: Wed Dec 10 07:41:46 PST 1997
(let ((boundary (concat "[ \t]*\\([1-9][0-9]*\\)\\("
gametree-full-ply-regexp "\\|"
gametree-half-ply-regexp "\\)"))
- (limit (save-excursion (beginning-of-line 1) (point))))
+ (limit (line-beginning-position 1)))
(if (looking-at boundary)
(+ (* 2 (string-to-number (match-string 1)))
(if (string-match gametree-half-ply-regexp (match-string 2)) 1 0))
(gametree-hack-file-layout))
nil)
+;;;; Key bindings
+(defvar gametree-mode-map
+ (let ((map (make-sparse-keymap)))
+ (define-key map "\C-c\C-j" 'gametree-break-line-here)
+ (define-key map "\C-c\C-v" 'gametree-insert-new-leaf)
+ (define-key map "\C-c\C-m" 'gametree-merge-line)
+ (define-key map "\C-c\C-r " 'gametree-layout-to-register)
+ (define-key map "\C-c\C-r/" 'gametree-layout-to-register)
+ (define-key map "\C-c\C-rj" 'gametree-apply-register-layout)
+ (define-key map "\C-c\C-y" 'gametree-save-and-hack-layout)
+ (define-key map "\C-c;" 'gametree-insert-score)
+ (define-key map "\C-c^" 'gametree-compute-and-insert-score)
+ map))
+
(define-derived-mode gametree-mode outline-mode "GameTree"
"Major mode for managing game analysis trees.
Useful to postal and email chess (and, it is hoped, also checkers, go,
(make-local-variable 'write-contents-hooks)
(add-hook 'write-contents-hooks 'gametree-save-and-hack-layout))
-;;;; Key bindings
-
-(define-key gametree-mode-map "\C-c\C-j" 'gametree-break-line-here)
-(define-key gametree-mode-map "\C-c\C-v" 'gametree-insert-new-leaf)
-(define-key gametree-mode-map "\C-c\C-m" 'gametree-merge-line)
-(define-key gametree-mode-map "\C-c\C-r " 'gametree-layout-to-register)
-(define-key gametree-mode-map "\C-c\C-r/" 'gametree-layout-to-register)
-(define-key gametree-mode-map "\C-c\C-rj" 'gametree-apply-register-layout)
-(define-key gametree-mode-map "\C-c\C-y" 'gametree-save-and-hack-layout)
-(define-key gametree-mode-map "\C-c;" 'gametree-insert-score)
-(define-key gametree-mode-map "\C-c^" 'gametree-compute-and-insert-score)
-
;;;; Goodies for mousing users
(and (fboundp 'track-mouse)
(defun gametree-mouse-break-line-here (event)
(provide 'gametree)
-;; arch-tag: aaa30943-9ae4-4cc1-813d-a46f96b7e4f1
;;; gametree.el ends here