[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] 04/06: * chess-database.el (chess-database-do-open): Require modu
From: |
Mario Lang |
Subject: |
[elpa] 04/06: * chess-database.el (chess-database-do-open): Require modules here. (chess-database-open): Instead of only requiring modules from `chess-database-modules'. |
Date: |
Mon, 28 Jul 2014 10:09:50 +0000 |
mlang pushed a commit to branch externals/chess
in repository elpa.
commit 25e9d04f38da45c2fb1b76b8b2cc6ff9fd8c51e4
Author: Mario Lang <address@hidden>
Date: Mon Jul 28 12:03:44 2014 +0200
* chess-database.el (chess-database-do-open): Require modules here.
(chess-database-open): Instead of only requiring modules from
`chess-database-modules'.
* chess-pgn.el (chess-pgn-read-plies): Avoid copying comments
(annotations in PGN-jargon) to all following positions in a game.
(chess-create-display): Declare.
* chess-ics1.el (chess-debug-position): Use `chess-display-position'
instead of `chess-engine-position'.
* chess-engine.el (chess-pgn): Require it.
* chess-eco.el (chess-algebraic): Same here.
* chess-input.el (chess-display-highlight-legal)
(chess-display-redraw, chess-display-highlight): Declare.
---
ChangeLog | 17 +++++++++++++++++
Makefile | 2 ++
NEWS | 12 ++++++++++++
chess-database.el | 26 +++++++++++++-------------
chess-eco.el | 3 ++-
chess-engine.el | 1 +
chess-ics1.el | 2 +-
chess-input.el | 4 ++++
chess-pgn.el | 3 +++
9 files changed, 55 insertions(+), 15 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index c0fdb9b..245d8b7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,22 @@
2014-07-28 Mario Lang <address@hidden>
+ * chess-database.el (chess-database-do-open): Require modules here.
+ (chess-database-open): Instead of only requiring modules from
+ `chess-database-modules'.
+
+ * chess-pgn.el (chess-pgn-read-plies): Avoid copying comments
+ (annotations in PGN-jargon) to all following positions in a game.
+ (chess-create-display): Declare.
+
+ * chess-ics1.el (chess-debug-position): Use `chess-display-position'
+ instead of `chess-engine-position'.
+
+ * chess-engine.el (chess-pgn): Require it.
+ * chess-eco.el (chess-algebraic): Same here.
+
+ * chess-input.el (chess-display-highlight-legal)
+ (chess-display-redraw, chess-display-highlight): Declare.
+
* chess-ply.el (chess-ply-keyword): Add docstring.
* chess-input.el (chess-input): New custom group.
diff --git a/Makefile b/Makefile
index 4c9f462..59c366e 100644
--- a/Makefile
+++ b/Makefile
@@ -18,9 +18,11 @@ chess-eco.fen: chess-eco.pos
dir: chess.info
$(INSTALL_INFO) $< $@
+chess-algebraic.elc: chess-ply.elc chess-pos.elc
chess-database.elc: chess-message.elc chess-file.elc chess-scid.elc
chess-file.elc: chess-fen.elc chess-pgn.elc
chess-perft.elc: chess-fen.elc chess-ply.elc chess-pos.elc
+chess-pgn.elc: chess-algebraic.elc chess-game.elc
chess-test.elc: chess-database.elc chess-game.elc chess-perft.elc
.el.elc:
diff --git a/NEWS b/NEWS
index bc12c23..ac0f31d 100644
--- a/NEWS
+++ b/NEWS
@@ -2,6 +2,18 @@ This is the NEWS file for Emacs Chess, a chess client and
analysis library
written in Emacs Lisp.
+* Release 2.0.4:
+
+This is yet another bugfix release, no new features.
+
+** Fix a bug in PGN annotation parsing.
+
+** Fix missing dependencies in the ECO module.
+
+** Make the third argument of `chess-display-redraw' optional, as expected
+ by the rest of the code.
+
+
* Release 2.0.3:
This is a bugfix release which fixes a recursive dependency between
diff --git a/chess-database.el b/chess-database.el
index c801947..0e29593 100644
--- a/chess-database.el
+++ b/chess-database.el
@@ -41,17 +41,18 @@
(defun chess-database-do-open (module file)
"Returns the opened database object, or nil."
- (let* ((name (symbol-name module))
- (handler (intern-soft (concat name "-handler"))))
- (unless handler
- (chess-error 'no-such-database name))
- (let ((buffer (funcall handler 'open file)))
- (when buffer
- (with-current-buffer buffer
- (setq chess-database-handler handler)
- (add-hook 'kill-buffer-hook 'chess-database-close nil t)
- (add-hook 'after-revert-hook 'chess-database-rescan nil t)
- (current-buffer))))))
+ (when (require module nil t)
+ (let* ((name (symbol-name module))
+ (handler (intern-soft (concat name "-handler"))))
+ (unless handler
+ (chess-error 'no-such-database name))
+ (let ((buffer (funcall handler 'open file)))
+ (when buffer
+ (with-current-buffer buffer
+ (setq chess-database-handler handler)
+ (add-hook 'kill-buffer-hook 'chess-database-close nil t)
+ (add-hook 'after-revert-hook 'chess-database-rescan nil t)
+ (current-buffer)))))))
(defun chess-database-open (file &optional module)
"Returns the opened database object, or nil."
@@ -60,8 +61,7 @@
(let (result)
(setq module chess-database-modules)
(while module
- (if (and (require (car module) nil t)
- (setq result (chess-database-do-open (car module) file)))
+ (if (setq result (chess-database-do-open (car module) file))
(setq module nil)
(setq module (cdr module))))
result)))
diff --git a/chess-eco.el b/chess-eco.el
index d3ffff0..7485650 100644
--- a/chess-eco.el
+++ b/chess-eco.el
@@ -20,10 +20,11 @@
;;; Code:
+(require 'chess-algebraic)
+(require 'chess-fen)
(require 'chess-game)
(require 'chess-ply)
(require 'chess-pos)
-(require 'chess-fen)
(defgroup chess-eco nil
"Chess opening classification module."
diff --git a/chess-engine.el b/chess-engine.el
index 3672a43..a825a61 100644
--- a/chess-engine.el
+++ b/chess-engine.el
@@ -21,6 +21,7 @@
(require 'chess-algebraic)
(require 'chess-fen)
+(require 'chess-pgn)
(require 'chess-module)
(defgroup chess-engine nil
diff --git a/chess-ics1.el b/chess-ics1.el
index ec0c3ed..4be5e60 100644
--- a/chess-ics1.el
+++ b/chess-ics1.el
@@ -146,7 +146,7 @@ PERSPECTIVE is t for white or nil for black."
(defun chess-debug-position (&optional position)
"This is a debugging function, and not meant from general use."
(interactive)
- (let ((pos (or position (chess-engine-position nil))))
+ (let ((pos (or position (chess-display-position nil))))
(with-current-buffer (get-buffer-create "*scratch*")
(chess-ics1-draw pos t)
(funcall chess-ics1-popup-function))))
diff --git a/chess-input.el b/chess-input.el
index dc7c8d1..4a43c7d 100644
--- a/chess-input.el
+++ b/chess-input.el
@@ -80,6 +80,10 @@
(t (setq i (1+ i) x (1+ x)))))))
ply))
+(defvar chess-display-highlight-legal nil)
+(declare-function chess-display-redraw "chess-display" (&optional display))
+(declare-function chess-display-highlight "chess-display" (display &rest args))
+
(defun chess-input-display-moves (&optional move-list)
(unless move-list
(setq move-list
diff --git a/chess-pgn.el b/chess-pgn.el
index 347f28b..b398abd 100644
--- a/chess-pgn.el
+++ b/chess-pgn.el
@@ -92,6 +92,7 @@
(unless ply
(chess-error 'pgn-read-error move))
(setq position (chess-ply-next-pos ply))
+ (chess-pos-set-annotations position nil)
(nconc plies (list ply))))
((and top-level
@@ -280,6 +281,8 @@ PGN text."
(chess-message-catalog 'english
'((could-not-read-pgn . "Could not read or find a PGN game")))
+(declare-function chess-create-display "chess.el" (perspective &optional
modules-too))
+
;;;###autoload
(defun chess-pgn-read (&optional file)
"Read and display a PGN game after point."
- [elpa] branch externals/chess updated (4ab6c33 -> 00792b5), Mario Lang, 2014/07/28
- [elpa] 01/06: * chess-algebraic.el (chess-algebraic-to-ply): Remove dead code., Mario Lang, 2014/07/28
- [elpa] 06/06: Update NEWS., Mario Lang, 2014/07/28
- [elpa] 03/06: * chess-ply.el (chess-ply-keyword): Add docstring., Mario Lang, 2014/07/28
- [elpa] 05/06: * chess-display.el (chess-display-draw-square): Add docstring., Mario Lang, 2014/07/28
- [elpa] 04/06: * chess-database.el (chess-database-do-open): Require modules here. (chess-database-open): Instead of only requiring modules from `chess-database-modules'.,
Mario Lang <=
- [elpa] 02/06: Misc. fixes., Mario Lang, 2014/07/28