:group 'chess)
(defcustom chess-default-engine
- '(chess-crafty chess-gnuchess chess-phalanx chess-ai)
+ '(chess-crafty
+ chess-stockfish chess-glaurung chess-fruit
+ chess-gnuchess chess-phalanx
+ chess-ai)
"Default engine to be used when starting a chess session.
A list indicates a series of alternatives if the first engine is not
available."
(and (fboundp 'font-lock-add-keywords)
(font-lock-add-keywords
'emacs-lisp-mode
- '(("(chess-error\\>" . font-lock-keyword-face)
- ("(chess-with-current-buffer\\>" . font-lock-keyword-face))))
+ '(("(\\(chess-error\\)\\>" 1 font-lock-warning-face)
+ ("(\\(chess-with-current-buffer\\)\\>" 1 font-lock-keyword-face))))
(defun chess--create-display (module game my-color disable-popup)
(let ((display (chess-display-create game module my-color)))
;; this module is actually a list, which means keep trying
;; until we find one that works
(while module
- (if (setq object (apply create-func (car module) args))
+ (if (setq object (condition-case nil
+ (apply create-func (car module) args)
+ (error nil)))
(progn
(push object objects)
(setq module nil))
;;;###autoload
(defun chess (&optional engine disable-popup engine-response-handler
&rest engine-ctor-args)
- "Start a game of chess, playing against ENGINE (a module name)."
+ "Start a game of chess, playing against ENGINE (a module name).
+With prefix argument, prompt for the engine to play against.
+Otherwise use `chess-default-engine' to determine the engine."
(interactive
(list
(if current-prefix-arg
'chess--create-engine game
engine-response-handler
engine-ctor-args)
- ;(error nil))
- ))
+ ; (error nil))
+ ))
objects)
(unless (car objects)