Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Added the textmate.el submodule

Move more stuff into submodules
  • Loading branch information...
commit 696e91d0ab68000303999d5bef8f35a8ca3ead46 1 parent 0c6c7ef
@kek authored
Showing with 48,217 additions and 0 deletions.
  1. +3 −0  .gitignore
  2. +3 −0  .gitmodules
  3. +447 −0 elpa/archive-contents
  4. +447 −0 elpa/archive-contents~
  5. +16 −0 elpa/builtin-packages
  6. +16 −0 elpa/builtin-packages~
  7. +199 −0 elpa/chess-1.96/chess-ai.el
  8. BIN  elpa/chess-1.96/chess-ai.elc
  9. +192 −0 elpa/chess-1.96/chess-algebraic.el
  10. BIN  elpa/chess-1.96/chess-algebraic.elc
  11. +125 −0 elpa/chess-1.96/chess-announce.el
  12. BIN  elpa/chess-1.96/chess-announce.elc
  13. +125 −0 elpa/chess-1.96/chess-autoloads.el
  14. +13 −0 elpa/chess-1.96/chess-autoloads.el~
  15. +140 −0 elpa/chess-1.96/chess-autosave.el
  16. BIN  elpa/chess-1.96/chess-autosave.elc
  17. +46 −0 elpa/chess-1.96/chess-chat.el
  18. BIN  elpa/chess-1.96/chess-chat.elc
  19. +100 −0 elpa/chess-1.96/chess-clock.el
  20. BIN  elpa/chess-1.96/chess-clock.elc
  21. +108 −0 elpa/chess-1.96/chess-common.el
  22. BIN  elpa/chess-1.96/chess-common.elc
  23. +163 −0 elpa/chess-1.96/chess-crafty.el
  24. BIN  elpa/chess-1.96/chess-crafty.elc
  25. +100 −0 elpa/chess-1.96/chess-database.el
  26. BIN  elpa/chess-1.96/chess-database.elc
  27. +1,238 −0 elpa/chess-1.96/chess-display.el
  28. BIN  elpa/chess-1.96/chess-display.elc
  29. +459 −0 elpa/chess-1.96/chess-engine.el
  30. BIN  elpa/chess-1.96/chess-engine.elc
  31. +144 −0 elpa/chess-1.96/chess-epd.el
  32. BIN  elpa/chess-1.96/chess-epd.elc
  33. +138 −0 elpa/chess-1.96/chess-fen.el
  34. BIN  elpa/chess-1.96/chess-fen.elc
  35. +105 −0 elpa/chess-1.96/chess-file.el
  36. BIN  elpa/chess-1.96/chess-file.elc
  37. +332 −0 elpa/chess-1.96/chess-game.el
  38. BIN  elpa/chess-1.96/chess-game.elc
  39. +121 −0 elpa/chess-1.96/chess-german.el
  40. BIN  elpa/chess-1.96/chess-german.elc
  41. +83 −0 elpa/chess-1.96/chess-gnuchess.el
  42. BIN  elpa/chess-1.96/chess-gnuchess.elc
  43. +1,159 −0 elpa/chess-1.96/chess-ics.el
  44. BIN  elpa/chess-1.96/chess-ics.elc
  45. +139 −0 elpa/chess-1.96/chess-ics1.el
  46. BIN  elpa/chess-1.96/chess-ics1.elc
  47. +569 −0 elpa/chess-1.96/chess-images.el
  48. BIN  elpa/chess-1.96/chess-images.elc
  49. +133 −0 elpa/chess-1.96/chess-input.el
  50. BIN  elpa/chess-1.96/chess-input.elc
  51. +148 −0 elpa/chess-1.96/chess-irc.el
  52. BIN  elpa/chess-1.96/chess-irc.elc
  53. +66 −0 elpa/chess-1.96/chess-kibitz.el
  54. BIN  elpa/chess-1.96/chess-kibitz.elc
  55. +84 −0 elpa/chess-1.96/chess-link.el
  56. BIN  elpa/chess-1.96/chess-link.elc
  57. +33 −0 elpa/chess-1.96/chess-maint.el
  58. BIN  elpa/chess-1.96/chess-maint.elc
  59. +46 −0 elpa/chess-1.96/chess-message.el
  60. BIN  elpa/chess-1.96/chess-message.elc
  61. +103 −0 elpa/chess-1.96/chess-module.el
  62. BIN  elpa/chess-1.96/chess-module.elc
  63. +220 −0 elpa/chess-1.96/chess-network.el
  64. BIN  elpa/chess-1.96/chess-network.elc
  65. +28 −0 elpa/chess-1.96/chess-none.el
  66. BIN  elpa/chess-1.96/chess-none.elc
  67. +10,650 −0 elpa/chess-1.96/chess-opening.el
  68. +405 −0 elpa/chess-1.96/chess-pgn.el
  69. BIN  elpa/chess-1.96/chess-pgn.elc
  70. +68 −0 elpa/chess-1.96/chess-phalanx.el
  71. BIN  elpa/chess-1.96/chess-phalanx.elc
  72. +1 −0  elpa/chess-1.96/chess-pkg.el
  73. BIN  elpa/chess-1.96/chess-pkg.elc
  74. +212 −0 elpa/chess-1.96/chess-plain.el
  75. BIN  elpa/chess-1.96/chess-plain.elc
  76. +476 −0 elpa/chess-1.96/chess-ply.el
  77. BIN  elpa/chess-1.96/chess-ply.elc
  78. +914 −0 elpa/chess-1.96/chess-pos.el
  79. BIN  elpa/chess-1.96/chess-pos.elc
  80. +105 −0 elpa/chess-1.96/chess-puzzle.el
  81. BIN  elpa/chess-1.96/chess-puzzle.elc
  82. +65 −0 elpa/chess-1.96/chess-random.el
  83. BIN  elpa/chess-1.96/chess-random.elc
  84. +171 −0 elpa/chess-1.96/chess-scid.el
  85. BIN  elpa/chess-1.96/chess-scid.elc
  86. +121 −0 elpa/chess-1.96/chess-sjeng.el
  87. BIN  elpa/chess-1.96/chess-sjeng.elc
  88. +109 −0 elpa/chess-1.96/chess-sound.el
  89. BIN  elpa/chess-1.96/chess-sound.elc
  90. +43 −0 elpa/chess-1.96/chess-transport.el
  91. BIN  elpa/chess-1.96/chess-transport.elc
  92. +44 −0 elpa/chess-1.96/chess-tutorial.el
  93. BIN  elpa/chess-1.96/chess-tutorial.elc
  94. +90 −0 elpa/chess-1.96/chess-ucb.el
  95. BIN  elpa/chess-1.96/chess-ucb.elc
  96. +88 −0 elpa/chess-1.96/chess-var.el
  97. BIN  elpa/chess-1.96/chess-var.elc
  98. +229 −0 elpa/chess-1.96/chess.el
  99. BIN  elpa/chess-1.96/chess.elc
  100. +1,547 −0 elpa/chess-1.96/chess.info
  101. +18 −0 elpa/chess-1.96/dir
  102. +46 −0 elpa/clojure-mode-1.7.1/clojure-mode-autoloads.el
  103. +13 −0 elpa/clojure-mode-1.7.1/clojure-mode-autoloads.el~
  104. +1 −0  elpa/clojure-mode-1.7.1/clojure-mode-pkg.el
  105. BIN  elpa/clojure-mode-1.7.1/clojure-mode-pkg.elc
  106. +733 −0 elpa/clojure-mode-1.7.1/clojure-mode.el
  107. BIN  elpa/clojure-mode-1.7.1/clojure-mode.elc
  108. +32 −0 elpa/css-mode-1.0/css-mode-autoloads.el
  109. +13 −0 elpa/css-mode-1.0/css-mode-autoloads.el~
  110. +1 −0  elpa/css-mode-1.0/css-mode-pkg.el
  111. BIN  elpa/css-mode-1.0/css-mode-pkg.elc
  112. +268 −0 elpa/css-mode-1.0/css-mode.el
  113. BIN  elpa/css-mode-1.0/css-mode.elc
  114. +57 −0 elpa/diff-git-0.1.1/diff-git-autoloads.el
  115. +13 −0 elpa/diff-git-0.1.1/diff-git-autoloads.el~
  116. +1 −0  elpa/diff-git-0.1.1/diff-git-pkg.el
  117. BIN  elpa/diff-git-0.1.1/diff-git-pkg.elc
  118. +190 −0 elpa/diff-git-0.1.1/diff-git.el
  119. BIN  elpa/diff-git-0.1.1/diff-git.elc
  120. +38 −0 elpa/find-file-in-project-2.0/find-file-in-project-autoloads.el
  121. +13 −0 elpa/find-file-in-project-2.0/find-file-in-project-autoloads.el~
  122. +1 −0  elpa/find-file-in-project-2.0/find-file-in-project-pkg.el
  123. BIN  elpa/find-file-in-project-2.0/find-file-in-project-pkg.elc
  124. +132 −0 elpa/find-file-in-project-2.0/find-file-in-project.el
  125. +18 −0 elpa/findr-0.7/findr-autoloads.el
  126. +13 −0 elpa/findr-0.7/findr-autoloads.el~
  127. +1 −0  elpa/findr-0.7/findr-pkg.el
  128. BIN  elpa/findr-0.7/findr-pkg.elc
  129. +258 −0 elpa/findr-0.7/findr.el
  130. BIN  elpa/findr-0.7/findr.elc
  131. +58 −0 elpa/full-ack-0.2.1/full-ack-autoloads.el
  132. +13 −0 elpa/full-ack-0.2.1/full-ack-autoloads.el~
  133. +1 −0  elpa/full-ack-0.2.1/full-ack-pkg.el
  134. BIN  elpa/full-ack-0.2.1/full-ack-pkg.elc
  135. +676 −0 elpa/full-ack-0.2.1/full-ack.el
  136. BIN  elpa/full-ack-0.2.1/full-ack.elc
  137. +77 −0 elpa/gist-0.5/gist-autoloads.el
  138. +13 −0 elpa/gist-0.5/gist-autoloads.el~
  139. +1 −0  elpa/gist-0.5/gist-pkg.el
  140. BIN  elpa/gist-0.5/gist-pkg.elc
  141. +346 −0 elpa/gist-0.5/gist.el
  142. BIN  elpa/gist-0.5/gist.elc
  143. +31 −0 elpa/haml-mode-3.0.14/haml-mode-autoloads.el
  144. +13 −0 elpa/haml-mode-3.0.14/haml-mode-autoloads.el~
  145. +1 −0  elpa/haml-mode-3.0.14/haml-mode-pkg.el
  146. BIN  elpa/haml-mode-3.0.14/haml-mode-pkg.elc
  147. +753 −0 elpa/haml-mode-3.0.14/haml-mode.el
  148. BIN  elpa/haml-mode-3.0.14/haml-mode.elc
  149. +120 −0 elpa/highline-4.2/highline-autoloads.el
  150. +13 −0 elpa/highline-4.2/highline-autoloads.el~
  151. +1 −0  elpa/highline-4.2/highline-pkg.el
  152. BIN  elpa/highline-4.2/highline-pkg.elc
  153. +883 −0 elpa/highline-4.2/highline.el
  154. BIN  elpa/highline-4.2/highline.elc
  155. +49 −0 elpa/inf-ruby-2.1/inf-ruby-autoloads.el
  156. +13 −0 elpa/inf-ruby-2.1/inf-ruby-autoloads.el~
  157. +1 −0  elpa/inf-ruby-2.1/inf-ruby-pkg.el
  158. BIN  elpa/inf-ruby-2.1/inf-ruby-pkg.elc
  159. +350 −0 elpa/inf-ruby-2.1/inf-ruby.el
  160. BIN  elpa/inf-ruby-2.1/inf-ruby.elc
  161. +33 −0 elpa/inflections-1.0/inflections-autoloads.el
  162. +13 −0 elpa/inflections-1.0/inflections-autoloads.el~
  163. +1 −0  elpa/inflections-1.0/inflections-pkg.el
  164. BIN  elpa/inflections-1.0/inflections-pkg.elc
  165. +151 −0 elpa/inflections-1.0/inflections.el
  166. +51 −0 elpa/jump-2.0/jump-autoloads.el
  167. +13 −0 elpa/jump-2.0/jump-autoloads.el~
  168. +1 −0  elpa/jump-2.0/jump-pkg.el
  169. BIN  elpa/jump-2.0/jump-pkg.elc
  170. +299 −0 elpa/jump-2.0/jump.el
  171. +27 −0 elpa/magit-0.8.1/magit-autoloads.el
  172. +13 −0 elpa/magit-0.8.1/magit-autoloads.el~
  173. +1 −0  elpa/magit-0.8.1/magit-pkg.el
  174. BIN  elpa/magit-0.8.1/magit-pkg.elc
  175. +4,207 −0 elpa/magit-0.8.1/magit.el
  176. BIN  elpa/magit-0.8.1/magit.elc
  177. +1,507 −0 elpa/package.el
  178. +51 −0 elpa/pastie-20091230/pastie-autoloads.el
  179. +13 −0 elpa/pastie-20091230/pastie-autoloads.el~
  180. +1 −0  elpa/pastie-20091230/pastie-pkg.el
  181. BIN  elpa/pastie-20091230/pastie-pkg.elc
  182. +188 −0 elpa/pastie-20091230/pastie.el
  183. BIN  elpa/pastie-20091230/pastie.elc
  184. +32 −0 elpa/project-local-variables-0.2/project-local-variables-autoloads.el
  185. +13 −0 elpa/project-local-variables-0.2/project-local-variables-autoloads.el~
  186. +1 −0  elpa/project-local-variables-0.2/project-local-variables-pkg.el
  187. BIN  elpa/project-local-variables-0.2/project-local-variables-pkg.elc
  188. +76 −0 elpa/project-local-variables-0.2/project-local-variables.el
  189. BIN  elpa/project-local-variables-0.2/project-local-variables.elc
  190. +40 −0 elpa/rinari-2.1/rinari-autoloads.el
  191. +13 −0 elpa/rinari-2.1/rinari-autoloads.el~
  192. +1 −0  elpa/rinari-2.1/rinari-pkg.el
  193. BIN  elpa/rinari-2.1/rinari-pkg.elc
  194. +615 −0 elpa/rinari-2.1/rinari.el
  195. +56 −0 elpa/ruby-compilation-0.7/ruby-compilation-autoloads.el
  196. +13 −0 elpa/ruby-compilation-0.7/ruby-compilation-autoloads.el~
  197. +1 −0  elpa/ruby-compilation-0.7/ruby-compilation-pkg.el
  198. BIN  elpa/ruby-compilation-0.7/ruby-compilation-pkg.elc
  199. +290 −0 elpa/ruby-compilation-0.7/ruby-compilation.el
  200. +45 −0 elpa/ruby-mode-1.1/ruby-mode-autoloads.el
  201. +13 −0 elpa/ruby-mode-1.1/ruby-mode-autoloads.el~
  202. +1 −0  elpa/ruby-mode-1.1/ruby-mode-pkg.el
  203. BIN  elpa/ruby-mode-1.1/ruby-mode-pkg.elc
  204. +1,422 −0 elpa/ruby-mode-1.1/ruby-mode.el
  205. BIN  elpa/ruby-mode-1.1/ruby-mode.elc
  206. +32 −0 elpa/ruby-test-mode-1.0/ruby-test-mode-autoloads.el
  207. +13 −0 elpa/ruby-test-mode-1.0/ruby-test-mode-autoloads.el~
  208. +1 −0  elpa/ruby-test-mode-1.0/ruby-test-mode-pkg.el
  209. BIN  elpa/ruby-test-mode-1.0/ruby-test-mode-pkg.elc
  210. +393 −0 elpa/ruby-test-mode-1.0/ruby-test-mode.el
  211. BIN  elpa/ruby-test-mode-1.0/ruby-test-mode.elc
  212. +29 −0 elpa/sass-mode-3.0.14/sass-mode-autoloads.el
  213. +13 −0 elpa/sass-mode-3.0.14/sass-mode-autoloads.el~
  214. +1 −0  elpa/sass-mode-3.0.14/sass-mode-pkg.el
  215. BIN  elpa/sass-mode-3.0.14/sass-mode-pkg.elc
  216. +207 −0 elpa/sass-mode-3.0.14/sass-mode.el
  217. +27 −0 elpa/wajig-0.53/wajig-autoloads.el
  218. +13 −0 elpa/wajig-0.53/wajig-autoloads.el~
  219. +1 −0  elpa/wajig-0.53/wajig-pkg.el
  220. BIN  elpa/wajig-0.53/wajig-pkg.elc
  221. +705 −0 elpa/wajig-0.53/wajig.el
  222. +88 −0 elpa/worklog-2.4.2/worklog-autoloads.el
  223. +13 −0 elpa/worklog-2.4.2/worklog-autoloads.el~
  224. +1 −0  elpa/worklog-2.4.2/worklog-pkg.el
  225. BIN  elpa/worklog-2.4.2/worklog-pkg.elc
  226. +888 −0 elpa/worklog-2.4.2/worklog.el
  227. BIN  elpa/worklog-2.4.2/worklog.elc
  228. +18 −0 elpa/yaml-mode-0.0.5/yaml-mode-autoloads.el
  229. +13 −0 elpa/yaml-mode-0.0.5/yaml-mode-autoloads.el~
  230. +1 −0  elpa/yaml-mode-0.0.5/yaml-mode-pkg.el
  231. BIN  elpa/yaml-mode-0.0.5/yaml-mode-pkg.elc
  232. +408 −0 elpa/yaml-mode-0.0.5/yaml-mode.el
  233. BIN  elpa/yaml-mode-0.0.5/yaml-mode.elc
  234. +32 −0 elpa/yari-0.3/yari-autoloads.el
  235. +13 −0 elpa/yari-0.3/yari-autoloads.el~
  236. +1 −0  elpa/yari-0.3/yari-pkg.el
  237. BIN  elpa/yari-0.3/yari-pkg.elc
  238. +287 −0 elpa/yari-0.3/yari.el
  239. BIN  elpa/yari-0.3/yari.elc
  240. +53 −0 elpa/yasnippet-bundle-0.6.1/yasnippet-bundle-autoloads.el
  241. +13 −0 elpa/yasnippet-bundle-0.6.1/yasnippet-bundle-autoloads.el~
  242. +1 −0  elpa/yasnippet-bundle-0.6.1/yasnippet-bundle-pkg.el
  243. BIN  elpa/yasnippet-bundle-0.6.1/yasnippet-bundle-pkg.elc
  244. +4,459 −0 elpa/yasnippet-bundle-0.6.1/yasnippet-bundle.el
  245. BIN  elpa/yasnippet-bundle-0.6.1/yasnippet-bundle.elc
  246. +218 −0 init
  247. +202 −0 vendor/cedet-1.0/INSTALL
  248. +189 −0 vendor/cedet-1.0/Makefile
  249. +276 −0 vendor/cedet-1.0/PRERELEASE_CHECKLIST
  250. +77 −0 vendor/cedet-1.0/USING_CEDET_FROM_CVS
  251. +231 −0 vendor/cedet-1.0/cedet-build.el
  252. +96 −0 vendor/cedet-1.0/cedet-update-version.el
  253. +12 −0 vendor/cedet-1.0/cogre/COGRE-compile-script
  254. +1,281 −0 vendor/cedet-1.0/cogre/ChangeLog
  255. +12 −0 vendor/cedet-1.0/cogre/INSTALL
  256. +166 −0 vendor/cedet-1.0/cogre/Makefile
  257. +12 −0 vendor/cedet-1.0/cogre/Mode-compile-script
  258. +77 −0 vendor/cedet-1.0/cogre/Project.ede
  259. +11 −0 vendor/cedet-1.0/cogre/autoloads-compile-script
  260. +29 −0 vendor/cedet-1.0/cogre/cogre-arrow.xpm
  261. +171 −0 vendor/cedet-1.0/cogre/cogre-ascii.el
  262. BIN  vendor/cedet-1.0/cogre/cogre-ascii.elc
  263. +29 −0 vendor/cedet-1.0/cogre/cogre-class.xpm
Sorry, we could not display the entire diff because too many files (1,440) changed.
View
3  .gitignore
@@ -0,0 +1,3 @@
+session.*
+auto-save-list
+tramp
View
3  .gitmodules
@@ -0,0 +1,3 @@
+[submodule "vendor/textmate.el"]
+ path = vendor/textmate.el
+ url = git@github.com:kek/textmate.el.git
View
447 elpa/archive-contents
@@ -0,0 +1,447 @@
+(1
+ (load-relative .
+ [(0 1)
+ nil "relative file load (within a multi-file Emacs package)" single])
+ (test-unit .
+ [(0 1)
+ nil "Unit Test Framework for Emacs Lisp " single])
+ (zenburn .
+ [(1 8)
+ nil "just some alien fruit salad to keep you in the zone" single])
+ (multi-project .
+ [(0 0 1)
+ nil "Work with multiple projects" single])
+ (hungry-delete .
+ [(1 0)
+ nil "hungry delete minor mode" single])
+ (Save-visited-files .
+ [(1 2)
+ nil "save opened files across sessions" single])
+ (c-eldoc .
+ [(0 6)
+ nil "helpful description of the arguments to C functions" single])
+ (mv-shell .
+ [(1 0)
+ nil "keep buffers in sync with filename throughout 'mv'commands in shell-mode." single])
+ (diff-git .
+ [(0 1 1)
+ nil "Git integration with diff-mode" single])
+ (html-script-src .
+ [(0 0 2)
+ nil "Insert <script src=\"..\"> for popular JavaScript libraries" single])
+ (rvm .
+ [(1 1)
+ nil "Emacs integration for rvm" single])
+ (elisp-depend .
+ [(0 4 1)
+ nil "Parse depend libraries of elisp file." single])
+ (perspective .
+ [(1 3)
+ nil "switch between named \"perspectives\" of the editor" single])
+ (ruby-electric .
+ [(1 1)
+ nil "electric editing commands for ruby files" single])
+ (yari .
+ [(0 3)
+ nil "Yet Another RI interface for Emacs" single])
+ (smex .
+ [(1 1 1)
+ nil "M-x interface with Ido-style fuzzy matching." single])
+ (drag-stuff .
+ [(0 0 3)
+ nil "Drag stuff (lines, words, region, etc...) around" single])
+ (ruby-test-mode .
+ [(1 0)
+ nil "Minor mode for Behaviour and Test Driven" single])
+ (applescript-mode .
+ [(20090321)
+ nil "major mode for editing AppleScript source" single])
+ (mediawiki .
+ [(1 1)
+ nil "mediawiki frontend" single])
+ (wrap-region .
+ [(0 1 3)
+ nil "Wrap text with punctation or tag" single])
+ (twitter .
+ [(20090422)
+ nil "Simple Emacs-based client for Twitter" single])
+ (pastie .
+ [(20091230)
+ nil "Emacs integration for pastie.org" single])
+ (textmate .
+ [(1)
+ nil "TextMate minor mode for Emacs" single])
+ (yaml-mode .
+ [(0 0 5)
+ nil "Major mode for editing YAML files" single])
+ (rspec-mode .
+ [(0 2)
+ ((ruby-mode
+ (1 1)))
+ "Enhance ruby-mode for RSpec" single])
+ (htmlize .
+ [(1 37)
+ nil "Convert buffer text and decorations to HTML." single])
+ (swank-clojure .
+ [(1 1 0)
+ ((slime-repl
+ (20091016))
+ (clojure-mode
+ (1 6)))
+ "slime adapter for clojure" single])
+ (slime-repl .
+ [(20100404)
+ ((slime
+ (20100404)))
+ "Read-Eval-Print Loop written in Emacs Lisp" single])
+ (slime .
+ [(20100404)
+ nil "Superior Lisp Interaction Mode for Emacs" single])
+ (nterm .
+ [(0 1)
+ nil "New TERMinal emulator" single])
+ (sass-mode .
+ [(3 0 14)
+ ((haml-mode
+ (3 0 14)))
+ "Major mode for editing Sass files" single])
+ (haml-mode .
+ [(3 0 14)
+ nil "Major mode for editing Haml files" single])
+ (smart-tab .
+ [(0 3)
+ nil "Intelligent tab completion and indentation." single])
+ (cssh .
+ [(0 7)
+ nil "clusterssh implementation for emacs" single])
+ (relax .
+ [(0 2)
+ ((json
+ (1 2))
+ (javascript
+ (1 99 8)))
+ "For browsing and interacting with CouchDB" single])
+ (shellfm .
+ [(0 1)
+ nil "Emacs Shell.FM interface" single])
+ (texdrive .
+ [(0 3 1)
+ nil "minor mode for creating png images from TeX formulae " single])
+ (paredit .
+ [(20)
+ nil "Parenthesis-Editing Minor Mode" single])
+ (rotate-text .
+ [(0 1)
+ nil "cycle through words, symbols and patterns" single])
+ (full-ack .
+ [(0 2 1)
+ nil "a front-end for ack" single])
+ (recent-addresses .
+ [(0 1)
+ nil "store and recall recently used email addresses" single])
+ (test-case-mode .
+ [(0 1)
+ ((fringe-helper
+ (0 1 1)))
+ "unit test front-end" single])
+ (nav .
+ [(35)
+ nil "Emacs mode for IDE-like navigation of directories" single])
+ (company .
+ [(0 5)
+ nil "extensible inline text completion mechanism" tar])
+ (guess-style .
+ [(0 1)
+ nil "automatic setting of code style variables" single])
+ (clojure-test-mode .
+ [(1 4)
+ ((slime
+ (20091016))
+ (clojure-mode
+ (1 7)))
+ "Minor mode for Clojure tests" single])
+ (clojure-mode .
+ [(1 7 1)
+ nil "Major mode for Clojure code" single])
+ (magit .
+ [(0 8 1)
+ nil "control Git from Emacs." single])
+ (w3 .
+ [(4 0 46)
+ nil "A web browser written entirely in Emacs Lisp" tar])
+ (yasnippet-bundle .
+ [(0 6 1)
+ nil "Yet another snippet extension (Auto compiled bundle)" single])
+ (rinari .
+ [(2 1)
+ ((ruby-mode
+ (1 1))
+ (inf-ruby
+ (2 1))
+ (ruby-compilation
+ (0 7))
+ (jump
+ (2 0)))
+ "Rinari Is Not A Rails IDE" single])
+ (jump .
+ [(2 0)
+ ((findr
+ (0 7))
+ (inflections
+ (1 0)))
+ "build functions which contextually jump between files" single])
+ (inflections .
+ [(1 0)
+ nil "convert english words between singular and plural" single])
+ (tumble .
+ [(1 1)
+ ((http-post-simple
+ (1 0)))
+ "an Emacs mode for Tumblr" single])
+ (http-post-simple .
+ [(1 0)
+ nil "HTTP POST requests using the url library" single])
+ (findr .
+ [(0 7)
+ nil "Breadth-first file-finding facility for (X)Emacs" single])
+ (ruby-compilation .
+ [(0 7)
+ ((ruby-mode
+ (1 1))
+ (inf-ruby
+ (2 1)))
+ "run a ruby process in a compilation buffer" single])
+ (gist .
+ [(0 5)
+ nil "Emacs integration for gist.github.com" single])
+ (confluence .
+ [(1 4)
+ ((xml-rpc
+ (1 6 4)))
+ "Emacs mode for interacting with confluence wikis" single])
+ (epresent .
+ [(0 1)
+ nil "Simple presentation mode for Emacs" single])
+ (inf-ruby .
+ [(2 1)
+ ((ruby-mode
+ (1 1)))
+ "Run a ruby process in a buffer" single])
+ (ruby-mode .
+ [(1 1)
+ nil "Major mode for editing Ruby files" single])
+ (idle-highlight .
+ [(1 0)
+ nil "highlight the word the point is on" single])
+ (find-file-in-project .
+ [(2 0)
+ ((project-local-variables
+ (0 2)))
+ "Find files in a project quickly." single])
+ (project-local-variables .
+ [(0 2)
+ nil "set project-local variables from a file" single])
+ (lusty-explorer .
+ [(2 4)
+ nil "Dynamic filesystem explorer and buffer switcher" single])
+ (tempo-snippets .
+ [(0 1 5)
+ nil "visual insertion of tempo templates" single])
+ (highlight-80+ .
+ [(1 0)
+ nil "highlight characters beyond column 80" single])
+ (echo-pick .
+ [(0 1)
+ nil "filter for echo area status messages" single])
+ (fringe-helper .
+ [(0 1 1)
+ nil "helper functions for fringe bitmaps" single])
+ (elk-test .
+ [(0 3 2)
+ ((fringe-helper
+ (0 1 1)))
+ "Emacs Lisp testing framework" single])
+ (compile-bookmarks .
+ [(0 2)
+ nil "bookmarks for compilation commands" single])
+ (pov-mode .
+ [(3 2)
+ nil "Major mode for editing POV-Ray scene files." tar])
+ (js2-mode .
+ [(20090723)
+ nil "an improved JavaScript editing mode" single])
+ (ert .
+ [(0 1)
+ nil "Emacs Lisp Regression Testing" single])
+ (jtags .
+ [(0 96)
+ nil "enhanced tags functionality for Java development" single])
+ (eproject .
+ [(0 4)
+ nil "project workspaces for emacs" tar])
+ (log4j-mode .
+ [(1 3)
+ nil "major mode for viewing log files" single])
+ (nxml-mode .
+ [(20041004)
+ nil "Major mode for editing XML documents." tar])
+ (columnify .
+ [(1 0)
+ nil "arrange lines into columns" single])
+ (gdb-mi .
+ [(0 6 1 0)
+ nil "User Interface for running GDB" single])
+ (asciidoc .
+ [(0 1)
+ nil "asciidoc text file development support" single])
+ (shell-current-directory .
+ [(0 1)
+ nil "create new shell based on buffer directory" single])
+ (facebook .
+ [(0 0 1)
+ ((json
+ (0)))
+ "Access the Facebook API from emacs" single])
+ (json .
+ [(1 2)
+ nil "JavaScript Object Notation parser / generator" single])
+ (pick-backup .
+ [(0 8)
+ nil "easy access to versioned backup files" single])
+ (idle-require .
+ [(1 0)
+ nil "load elisp libraries while Emacs is idle" single])
+ (highlight-symbol .
+ [(1 1)
+ nil "automatic and manual symbol highlighting" single])
+ (auto-dictionary .
+ [(1 0 1)
+ nil "automatic dictionary switcher for flyspell" single])
+ (dictionary .
+ [(1 8 7)
+ nil "an interface to an RFC 2229 dictionary server" tar])
+ (muse .
+ [(3 20)
+ nil "Authoring and publishing tool" tar])
+ (jimb-patch .
+ [(1 5)
+ nil "clean a patch for submission via email" single])
+ (lisppaste .
+ [(1 8)
+ ((xml-rpc
+ (1 6 7)))
+ "Interact with the lisppaste pastebot via XML-RPC." single])
+ (weblogger .
+ [(1 4 3)
+ ((xml-rpc
+ (1 6 5)))
+ "Weblog maintenance via XML-RPC APIs" single])
+ (xml-rpc .
+ [(1 6 7)
+ nil "An elisp implementation of clientside XML-RPC" single])
+ (iresize .
+ [(0 2)
+ nil "Interactively resize a window" single])
+ (sgftree .
+ [(0 1)
+ nil "Read an sgf file and represent it as a tree" single])
+ (chess .
+ [(1 96)
+ nil "Play chess in Emacs" tar])
+ (etags-select .
+ [(1 11)
+ nil "Select from multiple tags" single])
+ (less .
+ [(0 2)
+ nil "less style view mode" single])
+ (smart-operator .
+ [(0 9)
+ nil "Insert operators packed with whitespaces smartly" single])
+ (dired-isearch .
+ [(0 3)
+ nil "isearch in Dired" single])
+ (cal-china-x .
+ [(0 6)
+ nil "Chinese calendar extras" single])
+ (wajig .
+ [(0 53)
+ nil "an interface for wajig" single])
+ (erc .
+ [(5 3)
+ nil "An Emacs Internet Relay Chat client" tar])
+ (emms .
+ [(3 0)
+ nil "The Emacs Multimedia System" tar])
+ (archive-downloader .
+ [(1 1)
+ nil "Download files from archive.org" single])
+ (package .
+ [(0 9)
+ nil "Simple package system for Emacs" single])
+ (highlight-parentheses .
+ [(1 0 1)
+ nil "highlight surrounding parentheses" single])
+ (kill-ring-search .
+ [(1 1)
+ nil "incremental search for the kill ring" single])
+ (tex-math-preview .
+ [(8)
+ nil "preview TeX math expressions." single])
+ (gtk-look .
+ [(19)
+ nil "lookup Gtk and Gnome documentation." single])
+ (xtide .
+ [(16)
+ nil "XTide display in Emacs" single])
+ (compilation-recenter-end .
+ [(4)
+ nil "compilation-mode window recentre" single])
+ (gdb-shell .
+ [(0 4)
+ nil "minor mode to add gdb features to shell" single])
+ (highline .
+ [(4 2)
+ nil "minor mode to highlight current line in buffer" single])
+ (lua-mode .
+ [(20100617)
+ nil "a major-mode for editing Lua scripts" single])
+ (css-mode .
+ [(1 0)
+ nil "Major mode for editing Cascading Style Sheets" single])
+ (javascript .
+ [(2 2 1)
+ nil "Major mode for editing JavaScript source text" single])
+ (light-symbol .
+ [(0 1)
+ nil "Minor mode to highlight symbol under point" single])
+ (worklog .
+ [(2 4 2)
+ nil "time tracking mode" single])
+ (abacus .
+ [(1 0 2)
+ nil "Abacus Calculator" single])
+ (sudoku .
+ [(0 3)
+ nil "Simple sudoku game, can download puzzles from the web." single])
+ (caps-mode .
+ [(1 0)
+ nil "(minor mode) letters are inserted capitalized" single])
+ (lambdacalc .
+ [(1 0)
+ nil "Interpret lambda calculus expressions" single])
+ (wtf .
+ [(2 0)
+ nil "Look up conversational and computing acronyms" single])
+ (blank-mode .
+ [(6 6)
+ nil "Minor mode to visualize blanks" single])
+ (bubbles .
+ [(0 5)
+ nil "Puzzle game for Emacs." single])
+ (newsticker .
+ [(1 10)
+ nil "Headline news ticker" tar])
+ (changelog-url .
+ [(0 1)
+ nil "ChangeLog bugzilla buttonizer" tar]))
+
View
447 elpa/archive-contents~
@@ -0,0 +1,447 @@
+(1
+ (load-relative .
+ [(0 1)
+ nil "relative file load (within a multi-file Emacs package)" single])
+ (test-unit .
+ [(0 1)
+ nil "Unit Test Framework for Emacs Lisp " single])
+ (zenburn .
+ [(1 8)
+ nil "just some alien fruit salad to keep you in the zone" single])
+ (multi-project .
+ [(0 0 1)
+ nil "Work with multiple projects" single])
+ (hungry-delete .
+ [(1 0)
+ nil "hungry delete minor mode" single])
+ (Save-visited-files .
+ [(1 2)
+ nil "save opened files across sessions" single])
+ (c-eldoc .
+ [(0 6)
+ nil "helpful description of the arguments to C functions" single])
+ (mv-shell .
+ [(1 0)
+ nil "keep buffers in sync with filename throughout 'mv'commands in shell-mode." single])
+ (diff-git .
+ [(0 1 1)
+ nil "Git integration with diff-mode" single])
+ (html-script-src .
+ [(0 0 2)
+ nil "Insert <script src=\"..\"> for popular JavaScript libraries" single])
+ (rvm .
+ [(1 1)
+ nil "Emacs integration for rvm" single])
+ (elisp-depend .
+ [(0 4 1)
+ nil "Parse depend libraries of elisp file." single])
+ (perspective .
+ [(1 3)
+ nil "switch between named \"perspectives\" of the editor" single])
+ (ruby-electric .
+ [(1 1)
+ nil "electric editing commands for ruby files" single])
+ (yari .
+ [(0 3)
+ nil "Yet Another RI interface for Emacs" single])
+ (smex .
+ [(1 1 1)
+ nil "M-x interface with Ido-style fuzzy matching." single])
+ (drag-stuff .
+ [(0 0 3)
+ nil "Drag stuff (lines, words, region, etc...) around" single])
+ (ruby-test-mode .
+ [(1 0)
+ nil "Minor mode for Behaviour and Test Driven" single])
+ (applescript-mode .
+ [(20090321)
+ nil "major mode for editing AppleScript source" single])
+ (mediawiki .
+ [(1 1)
+ nil "mediawiki frontend" single])
+ (wrap-region .
+ [(0 1 3)
+ nil "Wrap text with punctation or tag" single])
+ (twitter .
+ [(20090422)
+ nil "Simple Emacs-based client for Twitter" single])
+ (pastie .
+ [(20091230)
+ nil "Emacs integration for pastie.org" single])
+ (textmate .
+ [(1)
+ nil "TextMate minor mode for Emacs" single])
+ (yaml-mode .
+ [(0 0 5)
+ nil "Major mode for editing YAML files" single])
+ (rspec-mode .
+ [(0 2)
+ ((ruby-mode
+ (1 1)))
+ "Enhance ruby-mode for RSpec" single])
+ (htmlize .
+ [(1 37)
+ nil "Convert buffer text and decorations to HTML." single])
+ (swank-clojure .
+ [(1 1 0)
+ ((slime-repl
+ (20091016))
+ (clojure-mode
+ (1 6)))
+ "slime adapter for clojure" single])
+ (slime-repl .
+ [(20100404)
+ ((slime
+ (20100404)))
+ "Read-Eval-Print Loop written in Emacs Lisp" single])
+ (slime .
+ [(20100404)
+ nil "Superior Lisp Interaction Mode for Emacs" single])
+ (nterm .
+ [(0 1)
+ nil "New TERMinal emulator" single])
+ (sass-mode .
+ [(3 0 14)
+ ((haml-mode
+ (3 0 14)))
+ "Major mode for editing Sass files" single])
+ (haml-mode .
+ [(3 0 14)
+ nil "Major mode for editing Haml files" single])
+ (smart-tab .
+ [(0 3)
+ nil "Intelligent tab completion and indentation." single])
+ (cssh .
+ [(0 7)
+ nil "clusterssh implementation for emacs" single])
+ (relax .
+ [(0 2)
+ ((json
+ (1 2))
+ (javascript
+ (1 99 8)))
+ "For browsing and interacting with CouchDB" single])
+ (shellfm .
+ [(0 1)
+ nil "Emacs Shell.FM interface" single])
+ (texdrive .
+ [(0 3 1)
+ nil "minor mode for creating png images from TeX formulae " single])
+ (paredit .
+ [(20)
+ nil "Parenthesis-Editing Minor Mode" single])
+ (rotate-text .
+ [(0 1)
+ nil "cycle through words, symbols and patterns" single])
+ (full-ack .
+ [(0 2 1)
+ nil "a front-end for ack" single])
+ (recent-addresses .
+ [(0 1)
+ nil "store and recall recently used email addresses" single])
+ (test-case-mode .
+ [(0 1)
+ ((fringe-helper
+ (0 1 1)))
+ "unit test front-end" single])
+ (nav .
+ [(35)
+ nil "Emacs mode for IDE-like navigation of directories" single])
+ (company .
+ [(0 5)
+ nil "extensible inline text completion mechanism" tar])
+ (guess-style .
+ [(0 1)
+ nil "automatic setting of code style variables" single])
+ (clojure-test-mode .
+ [(1 4)
+ ((slime
+ (20091016))
+ (clojure-mode
+ (1 7)))
+ "Minor mode for Clojure tests" single])
+ (clojure-mode .
+ [(1 7 1)
+ nil "Major mode for Clojure code" single])
+ (magit .
+ [(0 8 1)
+ nil "control Git from Emacs." single])
+ (w3 .
+ [(4 0 46)
+ nil "A web browser written entirely in Emacs Lisp" tar])
+ (yasnippet-bundle .
+ [(0 6 1)
+ nil "Yet another snippet extension (Auto compiled bundle)" single])
+ (rinari .
+ [(2 1)
+ ((ruby-mode
+ (1 1))
+ (inf-ruby
+ (2 1))
+ (ruby-compilation
+ (0 7))
+ (jump
+ (2 0)))
+ "Rinari Is Not A Rails IDE" single])
+ (jump .
+ [(2 0)
+ ((findr
+ (0 7))
+ (inflections
+ (1 0)))
+ "build functions which contextually jump between files" single])
+ (inflections .
+ [(1 0)
+ nil "convert english words between singular and plural" single])
+ (tumble .
+ [(1 1)
+ ((http-post-simple
+ (1 0)))
+ "an Emacs mode for Tumblr" single])
+ (http-post-simple .
+ [(1 0)
+ nil "HTTP POST requests using the url library" single])
+ (findr .
+ [(0 7)
+ nil "Breadth-first file-finding facility for (X)Emacs" single])
+ (ruby-compilation .
+ [(0 7)
+ ((ruby-mode
+ (1 1))
+ (inf-ruby
+ (2 1)))
+ "run a ruby process in a compilation buffer" single])
+ (gist .
+ [(0 5)
+ nil "Emacs integration for gist.github.com" single])
+ (confluence .
+ [(1 4)
+ ((xml-rpc
+ (1 6 4)))
+ "Emacs mode for interacting with confluence wikis" single])
+ (epresent .
+ [(0 1)
+ nil "Simple presentation mode for Emacs" single])
+ (inf-ruby .
+ [(2 1)
+ ((ruby-mode
+ (1 1)))
+ "Run a ruby process in a buffer" single])
+ (ruby-mode .
+ [(1 1)
+ nil "Major mode for editing Ruby files" single])
+ (idle-highlight .
+ [(1 0)
+ nil "highlight the word the point is on" single])
+ (find-file-in-project .
+ [(2 0)
+ ((project-local-variables
+ (0 2)))
+ "Find files in a project quickly." single])
+ (project-local-variables .
+ [(0 2)
+ nil "set project-local variables from a file" single])
+ (lusty-explorer .
+ [(2 4)
+ nil "Dynamic filesystem explorer and buffer switcher" single])
+ (tempo-snippets .
+ [(0 1 5)
+ nil "visual insertion of tempo templates" single])
+ (highlight-80+ .
+ [(1 0)
+ nil "highlight characters beyond column 80" single])
+ (echo-pick .
+ [(0 1)
+ nil "filter for echo area status messages" single])
+ (fringe-helper .
+ [(0 1 1)
+ nil "helper functions for fringe bitmaps" single])
+ (elk-test .
+ [(0 3 2)
+ ((fringe-helper
+ (0 1 1)))
+ "Emacs Lisp testing framework" single])
+ (compile-bookmarks .
+ [(0 2)
+ nil "bookmarks for compilation commands" single])
+ (pov-mode .
+ [(3 2)
+ nil "Major mode for editing POV-Ray scene files." tar])
+ (js2-mode .
+ [(20090723)
+ nil "an improved JavaScript editing mode" single])
+ (ert .
+ [(0 1)
+ nil "Emacs Lisp Regression Testing" single])
+ (jtags .
+ [(0 96)
+ nil "enhanced tags functionality for Java development" single])
+ (eproject .
+ [(0 4)
+ nil "project workspaces for emacs" tar])
+ (log4j-mode .
+ [(1 3)
+ nil "major mode for viewing log files" single])
+ (nxml-mode .
+ [(20041004)
+ nil "Major mode for editing XML documents." tar])
+ (columnify .
+ [(1 0)
+ nil "arrange lines into columns" single])
+ (gdb-mi .
+ [(0 6 1 0)
+ nil "User Interface for running GDB" single])
+ (asciidoc .
+ [(0 1)
+ nil "asciidoc text file development support" single])
+ (shell-current-directory .
+ [(0 1)
+ nil "create new shell based on buffer directory" single])
+ (facebook .
+ [(0 0 1)
+ ((json
+ (0)))
+ "Access the Facebook API from emacs" single])
+ (json .
+ [(1 2)
+ nil "JavaScript Object Notation parser / generator" single])
+ (pick-backup .
+ [(0 8)
+ nil "easy access to versioned backup files" single])
+ (idle-require .
+ [(1 0)
+ nil "load elisp libraries while Emacs is idle" single])
+ (highlight-symbol .
+ [(1 1)
+ nil "automatic and manual symbol highlighting" single])
+ (auto-dictionary .
+ [(1 0 1)
+ nil "automatic dictionary switcher for flyspell" single])
+ (dictionary .
+ [(1 8 7)
+ nil "an interface to an RFC 2229 dictionary server" tar])
+ (muse .
+ [(3 20)
+ nil "Authoring and publishing tool" tar])
+ (jimb-patch .
+ [(1 5)
+ nil "clean a patch for submission via email" single])
+ (lisppaste .
+ [(1 8)
+ ((xml-rpc
+ (1 6 7)))
+ "Interact with the lisppaste pastebot via XML-RPC." single])
+ (weblogger .
+ [(1 4 3)
+ ((xml-rpc
+ (1 6 5)))
+ "Weblog maintenance via XML-RPC APIs" single])
+ (xml-rpc .
+ [(1 6 7)
+ nil "An elisp implementation of clientside XML-RPC" single])
+ (iresize .
+ [(0 2)
+ nil "Interactively resize a window" single])
+ (sgftree .
+ [(0 1)
+ nil "Read an sgf file and represent it as a tree" single])
+ (chess .
+ [(1 96)
+ nil "Play chess in Emacs" tar])
+ (etags-select .
+ [(1 11)
+ nil "Select from multiple tags" single])
+ (less .
+ [(0 2)
+ nil "less style view mode" single])
+ (smart-operator .
+ [(0 9)
+ nil "Insert operators packed with whitespaces smartly" single])
+ (dired-isearch .
+ [(0 3)
+ nil "isearch in Dired" single])
+ (cal-china-x .
+ [(0 6)
+ nil "Chinese calendar extras" single])
+ (wajig .
+ [(0 53)
+ nil "an interface for wajig" single])
+ (erc .
+ [(5 3)
+ nil "An Emacs Internet Relay Chat client" tar])
+ (emms .
+ [(3 0)
+ nil "The Emacs Multimedia System" tar])
+ (archive-downloader .
+ [(1 1)
+ nil "Download files from archive.org" single])
+ (package .
+ [(0 9)
+ nil "Simple package system for Emacs" single])
+ (highlight-parentheses .
+ [(1 0 1)
+ nil "highlight surrounding parentheses" single])
+ (kill-ring-search .
+ [(1 1)
+ nil "incremental search for the kill ring" single])
+ (tex-math-preview .
+ [(8)
+ nil "preview TeX math expressions." single])
+ (gtk-look .
+ [(19)
+ nil "lookup Gtk and Gnome documentation." single])
+ (xtide .
+ [(16)
+ nil "XTide display in Emacs" single])
+ (compilation-recenter-end .
+ [(4)
+ nil "compilation-mode window recentre" single])
+ (gdb-shell .
+ [(0 4)
+ nil "minor mode to add gdb features to shell" single])
+ (highline .
+ [(4 2)
+ nil "minor mode to highlight current line in buffer" single])
+ (lua-mode .
+ [(20100617)
+ nil "a major-mode for editing Lua scripts" single])
+ (css-mode .
+ [(1 0)
+ nil "Major mode for editing Cascading Style Sheets" single])
+ (javascript .
+ [(2 2 1)
+ nil "Major mode for editing JavaScript source text" single])
+ (light-symbol .
+ [(0 1)
+ nil "Minor mode to highlight symbol under point" single])
+ (worklog .
+ [(2 4 2)
+ nil "time tracking mode" single])
+ (abacus .
+ [(1 0 2)
+ nil "Abacus Calculator" single])
+ (sudoku .
+ [(0 3)
+ nil "Simple sudoku game, can download puzzles from the web." single])
+ (caps-mode .
+ [(1 0)
+ nil "(minor mode) letters are inserted capitalized" single])
+ (lambdacalc .
+ [(1 0)
+ nil "Interpret lambda calculus expressions" single])
+ (wtf .
+ [(2 0)
+ nil "Look up conversational and computing acronyms" single])
+ (blank-mode .
+ [(6 6)
+ nil "Minor mode to visualize blanks" single])
+ (bubbles .
+ [(0 5)
+ nil "Puzzle game for Emacs." single])
+ (newsticker .
+ [(1 10)
+ nil "Headline news ticker" tar])
+ (changelog-url .
+ [(0 1)
+ nil "ChangeLog bugzilla buttonizer" tar]))
+
View
16 elpa/builtin-packages
@@ -0,0 +1,16 @@
+(1 . ; version number
+
+ (((22 0) .
+ ((erc . [(5 2) nil "An Emacs Internet Relay Chat client"])
+ ;; The external URL is version 1.15, so make sure the built-in one
+ ;; looks newer.
+ (url . [(1 16) nil "URL handling libary"])))
+ ((23 0) .
+ (;; Strangely, nxml-version is missing in Emacs 23.
+ ;; We pick the merge date as the version.
+ (nxml . [(20071123) nil "Major mode for editing XML documents."])
+ (bubbles . [(0 5) nil "Puzzle game for Emacs."])
+ (ruby-mode . [(1 0)
+ nil "Major mode for editing Ruby files" single])
+ ))))
+
View
16 elpa/builtin-packages~
@@ -0,0 +1,16 @@
+(1 . ; version number
+
+ (((22 0) .
+ ((erc . [(5 2) nil "An Emacs Internet Relay Chat client"])
+ ;; The external URL is version 1.15, so make sure the built-in one
+ ;; looks newer.
+ (url . [(1 16) nil "URL handling libary"])))
+ ((23 0) .
+ (;; Strangely, nxml-version is missing in Emacs 23.
+ ;; We pick the merge date as the version.
+ (nxml . [(20071123) nil "Major mode for editing XML documents."])
+ (bubbles . [(0 5) nil "Puzzle game for Emacs."])
+ (ruby-mode . [(1 0)
+ nil "Major mode for editing Ruby files" single])
+ ))))
+
View
199 elpa/chess-1.96/chess-ai.el
@@ -0,0 +1,199 @@
+;;; chess-ai.el --- A Chess playing module
+
+;; Copyright (C) 2004 Free Software Foundation, Inc.
+
+;; Author: Mario Lang <mlang@delysid.org>
+
+;; This file 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 2, or (at your option)
+;; any later version.
+
+;; This file 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 GNU Emacs; see the file COPYING. If not, write to
+;; the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+;; Boston, MA 02111-1307, USA.
+
+;;; Code:
+
+(require 'chess-common)
+(require 'chess-pos)
+(require 'chess-ply)
+(require 'cl)
+
+(defgroup chess-ai ()
+ "A simple chess engine written in elisp.
+
+This module does not allow for configuring search time used to calculate
+reply moves. You can only specify the search depth (see `chess-ai-depth')."
+ :group 'chess)
+
+(defcustom chess-ai-depth 2
+ "*The default depth used to prune the search tree."
+ :group 'chess-ai
+ :type 'integer)
+
+(defcustom chess-ai-pawn-value 100
+ "*Value of a Pawn."
+ :group 'chess-ai
+ :type 'integer)
+
+(defcustom chess-ai-knight-value 300
+ "*Value of a Knight."
+ :group 'chess-ai
+ :type 'integer)
+
+(defcustom chess-ai-bishop-value 300
+ "*Value of a Bishop."
+ :group 'chess-ai
+ :type 'integer)
+
+(defcustom chess-ai-rook-value 500
+ "*Value of a Rook."
+ :group 'chess-ai
+ :type 'intger)
+
+(defcustom chess-ai-queen-value 900
+ "*Value of a Queen."
+ :group 'chess-ai
+ :type 'integer)
+
+(defcustom chess-ai-passed-pawn 50
+ "*Extra Score for a passed Pawn."
+ :group 'chess-ai
+ :type 'integer)
+
+(defun chess-eval-static (position)
+ "Calculate the static score for POSITION."
+ (assert (vectorp position))
+ (let ((v 0)
+ (status (chess-pos-status position)))
+ (if (eq status :checkmate)
+ -32767
+ (if (eq status :stalemate)
+ 0
+ (let (white-queens black-queens white-rooks black-rooks
+ white-bishops black-bishops white-knights black-knights
+ white-pawns black-pawns)
+ (dotimes (i 64)
+ (let ((piece (aref position i)))
+ (unless (= piece ? )
+ (cond
+ ((= piece ?P) (push i white-pawns) (incf v chess-ai-pawn-value))
+ ((= piece ?p) (push i black-pawns) (decf v chess-ai-pawn-value))
+ ((= piece ?Q) (push i white-queens) (incf v chess-ai-queen-value))
+ ((= piece ?q) (push i black-queens) (decf v chess-ai-queen-value))
+ ((= piece ?R) (push i white-rooks) (incf v chess-ai-rook-value))
+ ((= piece ?r) (push i black-rooks) (decf v chess-ai-rook-value))
+ ((= piece ?B) (push i white-bishops) (incf v chess-ai-bishop-value))
+ ((= piece ?b) (push i black-bishops) (decf v chess-ai-bishop-value))
+ ((= piece ?N) (push i white-knights) (incf v chess-ai-knight-value))
+ ((= piece ?n) (push i black-knights) (decf v chess-ai-knight-value))))))
+ ;; Reward passed Pawns
+ (when white-pawns
+ (setq v (+ (* (length
+ (chess-pos-passed-pawns position t white-pawns))
+ chess-ai-passed-pawn))))
+ (when black-pawns
+ (setq v (- v
+ (* (length
+ (chess-pos-passed-pawns position nil black-pawns))
+ chess-ai-passed-pawn))))
+ ;; Mobility
+ (setq
+ v
+ (+
+ v
+ (-
+ (length
+ (append (when white-queens
+ (chess-legal-plies position :piece ?Q :candidates white-queens))
+ (when white-rooks
+ (chess-legal-plies position :piece ?R :candidates white-rooks))
+ (when white-bishops
+ (chess-legal-plies position :piece ?B :candidates white-bishops))
+ (when white-knights
+ (chess-legal-plies position :piece ?N :candidates white-knights))))
+ (length
+ (append (when black-queens
+ (chess-legal-plies position :piece ?q :candidates black-queens))
+ (when black-rooks
+ (chess-legal-plies position :piece ?r :candidates black-rooks))
+ (when black-bishops
+ (chess-legal-plies position :piece ?b :candidates black-bishops))
+ (when black-knights
+ (chess-legal-plies position :piece ?n :candidates black-knights)))))))
+ (if (chess-pos-side-to-move position)
+ v
+ (- v)))))))
+
+(defun chess-ai-eval (position depth alpha beta &optional line)
+ "Evaluate POSITION using a simple AlphaBeta search algorithm using at most
+DEPTH plies."
+ ;; TBD: We do far too much consing
+ (if (= depth 0)
+ (cons (chess-eval-static position) line)
+ (let ((plies (chess-legal-plies
+ position :color (chess-pos-side-to-move position)))
+ (ret (cons alpha line)))
+ (if (= (length plies) 0)
+ (cons (chess-eval-static position) line)
+ (while plies
+ (let* ((tmp1 (chess-ai-eval (chess-ply-next-pos (car plies))
+ (1- depth) (- beta) (- alpha)
+ (cons (car plies) line)))
+ (tmp (- (car tmp1))))
+ (if (> tmp alpha) (setq alpha tmp
+ ret (cons tmp (cdr tmp1))))
+ (if (>= alpha beta)
+ (setq plies nil)
+ (setq plies (cdr plies)))))
+ ret))))
+
+(defun chess-ai-best-move (position depth &optional func)
+ "Find the best move for POSITION using `chess-ai-eval' with DEPTH.
+Returns (VALUE . LIST-OF-PLIES) where
+ VALUE is the evaluated score of the move and
+ LIST-OF-PLIES is the list of plies which were actually found."
+ (let ((res (chess-ai-eval position depth -100000 100000)))
+ (cons (car res)
+ (if (functionp func)
+ (mapcar func (nreverse (cdr res)))
+ (nreverse (cdr res))))))
+
+(defun chess-ai-handler (game event &rest args)
+ (unless chess-engine-handling-event
+ (cond
+ ((eq event 'initialize)
+ (setq chess-engine-opponent-name "Emacs AI")
+ t)
+
+ ((eq event 'new)
+ (chess-engine-set-position nil))
+
+ ((eq event 'move)
+ (when (= 1 (chess-game-index game))
+ (chess-game-set-tag game "White" chess-full-name)
+ (chess-game-set-tag game "Black" chess-engine-opponent-name))
+ (when (chess-game-over-p game)
+ (chess-game-set-data game 'active nil)))
+
+ ((eq event 'post-move)
+ (unless (chess-game-over-p game)
+ (let (chess-display-handling-event)
+ (message "Thinking...")
+ (funcall chess-engine-response-handler
+ 'move (cadr (chess-ai-best-move (chess-engine-position nil)
+ chess-ai-depth)))
+ (message "Thinking... done"))))
+
+ (t
+ (apply 'chess-common-handler game event args)))))
+
+(provide 'chess-ai)
+;;; chess-ai.el ends here
View
BIN  elpa/chess-1.96/chess-ai.elc
Binary file not shown
View
192 elpa/chess-1.96/chess-algebraic.el
@@ -0,0 +1,192 @@
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;
+;; Convert a ply to/from standard chess algebraic notation
+;;
+;; A thing to deal with in chess is algebraic move notation, such as
+;; Nxf3+. (I leave description of this notation to better manuals
+;; than this). This notation is a shorthand way of representing where
+;; a piece is moving from and to, by specifying the piece is involved,
+;; where it's going, and whether or not a capture or check is
+;; involved.
+;;
+;; You can convert from algebraic notation to a ply (one pair in most
+;; cases, but two for a castle) using the following function (NOTE:
+;; POSITION determines which side is on move (by calling
+;; `chess-pos-side-to-move')):
+;;
+;; (chess-algebraic-to-ply POSITION STRING)
+;;
+;; The function also checks if a move is legal, and will raise an
+;; error if not.
+;;
+;; To convert from a ply to algebraic notation, use:
+;;
+;; (chess-ply-to-algebraic PLY)
+;;
+;; Castling is determined by the movement of both a king and a rook.
+;;
+;; Lastly, there is a regexp for quickly checking if a string is in
+;; algebraic notation or not, or searching out algebraic strings in a
+;; buffer:
+;;
+;; chess-algebraic-regexp
+;;
+
+(require 'chess-message)
+
+(defconst chess-algebraic-pieces-regexp "[RNBKQ]")
+
+(defconst chess-algebraic-regexp
+ (format (concat "\\("
+ "O-O\\(-O\\)?\\|"
+ "\\(%s?\\)/?"
+ "\\([a-h]?[1-8]?\\)"
+ "\\([x-]?\\)"
+ "\\([a-h][1-8]\\)"
+ "\\(=\\(%s\\)\\)?"
+ "\\)"
+ "\\([#+]\\)?")
+ chess-algebraic-pieces-regexp
+ chess-algebraic-pieces-regexp)
+ "A regular expression that matches all possible algebraic moves.
+This regexp handles both long and short form.")
+
+(defconst chess-algebraic-regexp-entire
+ (concat chess-algebraic-regexp "$"))
+
+(chess-message-catalog 'english
+ '((clarify-piece . "Clarify piece to move by rank or file")
+ (could-not-clarify . "Could not determine which piece to use")
+ (could-not-diff . "Could not differentiate piece")
+ (no-candidates . "There are no candidate moves for '%s'")))
+
+(defun chess-algebraic-to-ply (position move &optional trust)
+ "Convert the algebraic notation MOVE for POSITION to a ply."
+ (assert (vectorp position))
+ (assert (stringp move))
+ (let ((case-fold-search nil))
+ (when (string-match chess-algebraic-regexp-entire move)
+ (let ((color (chess-pos-side-to-move position))
+ (mate (match-string 9 move))
+ (piece (aref move 0))
+ changes long-style)
+ (if (eq piece ?O)
+ (setq changes (chess-ply-castling-changes
+ position (= (length (match-string 1 move)) 5)))
+ (let ((promotion (match-string 8 move)))
+ (setq
+ changes
+ (let ((source (match-string 4 move))
+ (target (chess-coord-to-index (match-string 6 move))))
+ (if (and source (= (length source) 2))
+ (prog1
+ (list (chess-coord-to-index source) target)
+ (setq long-style t))
+ (if (= (length source) 0)
+ (setq source nil)
+ (setq source (aref source 0)))
+ (let (candidates which)
+ (unless (< piece ?a)
+ (setq source piece piece ?P))
+ ;; we must use our knowledge of how pieces can
+ ;; move, to determine which piece is meant by the
+ ;; piece indicator
+ (if (setq candidates
+ (chess-search-position position target
+ (if color piece
+ (downcase piece))
+ nil t))
+ (if (= (length candidates) 1)
+ (list (car candidates) target)
+ (if (null source)
+ (chess-error 'clarify-piece)
+ (nconc changes (list :which source))
+ (while candidates
+ (if (if (>= source ?a)
+ (eq (chess-index-file (car candidates))
+ (- source ?a))
+ (eq (chess-index-rank (car candidates))
+ (- 7 (- source ?1))))
+ (setq which (car candidates)
+ candidates nil)
+ (setq candidates (cdr candidates))))
+ (if (null which)
+ (chess-error 'could-not-clarify)
+ (list which target))))
+ (chess-error 'no-candidates move))))))
+ (if promotion
+ (nconc changes (list :promote (aref promotion 0))))))
+
+ (when changes
+ (when trust
+ (if mate
+ (nconc changes (list (if (equal mate "#") :checkmate :check)))))
+ (unless long-style
+ (nconc changes (list :san move)))
+
+ (apply 'chess-ply-create position trust changes))))))
+
+(defun chess-ply--move-text (ply long)
+ (or
+ (and (chess-ply-keyword ply :castle) "O-O")
+ (and (chess-ply-keyword ply :long-castle) "O-O-O")
+ (let* ((pos (chess-ply-pos ply))
+ (from (chess-ply-source ply))
+ (to (chess-ply-target ply))
+ (from-piece (chess-pos-piece pos from))
+ (color (chess-pos-side-to-move pos))
+ (rank 0) (file 0)
+ (from-rank (chess-index-rank from))
+ (from-file (chess-index-file from))
+ (differentiator (chess-ply-keyword ply :which)))
+ (unless differentiator
+ (let ((candidates (chess-search-position pos to from-piece nil t)))
+ (when (> (length candidates) 1)
+ (dolist (candidate candidates)
+ (if (= (/ candidate 8) from-rank)
+ (setq rank (1+ rank)))
+ (if (= (mod candidate 8) from-file)
+ (setq file (1+ file))))
+ (cond
+ ((= file 1)
+ (setq differentiator (+ from-file ?a)))
+ ((= rank 1)
+ (setq differentiator (+ (- 7 from-rank) ?1)))
+ (t (chess-error 'could-not-diff)))
+ (chess-ply-set-keyword ply :which differentiator))))
+ (concat
+ (unless (= (upcase from-piece) ?P)
+ (char-to-string (upcase from-piece)))
+ (if long
+ (chess-index-to-coord from)
+ (if differentiator
+ (prog1
+ (char-to-string differentiator)
+ (chess-ply-changes ply))
+ (if (and (not long) (= (upcase from-piece) ?P)
+ (/= (chess-index-file from)
+ (chess-index-file to)))
+ (char-to-string (+ (chess-index-file from) ?a)))))
+ (if (or (/= ? (chess-pos-piece pos to))
+ (chess-ply-keyword ply :en-passant))
+ "x" (if long "-"))
+ (chess-index-to-coord to)
+ (let ((promote (chess-ply-keyword ply :promote)))
+ (if promote
+ (concat "=" (char-to-string promote))))
+ (if (chess-ply-keyword ply :check) "+"
+ (if (chess-ply-keyword ply :checkmate) "#"))))))
+
+(defun chess-ply-to-algebraic (ply &optional long)
+ "Convert the given PLY to algebraic notation.
+If LONG is non-nil, render the move into long notation."
+ (assert (listp ply))
+ (or (and (not long) (chess-ply-keyword ply :san))
+ (and (null (chess-ply-source ply)) "")
+ (let ((move (chess-ply--move-text ply long)))
+ (unless long (chess-ply-set-keyword ply :san move))
+ move)))
+
+(provide 'chess-algebraic)
+
+;;; chess-algebraic.el ends here
View
BIN  elpa/chess-1.96/chess-algebraic.elc
Binary file not shown
View
125 elpa/chess-1.96/chess-announce.el
@@ -0,0 +1,125 @@
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;
+;; Scheme to verbally announce moves
+;;
+
+(require 'chess-game)
+(require 'chess-message)
+
+(chess-message-catalog 'english
+ '((queen . "queen")
+ (king . "king")
+ (bishop . "bishop")
+ (knight . "knight")
+ (rook . "rook")
+ (pawn . "pawn")
+ (short-castle . "short castle")
+ (long-castle . "long castle")
+ (check . "check")
+ (checkmate . "checkmate")
+ (stalemate . "stalemate")
+ (en-passant . "on possont")
+ (promote . "promote to %s")
+ (piece-moves . "%s to %s")
+ (piece-takes . "%s takes %s at %s")))
+
+(defvar chess-announce-names
+ '((?q . queen)
+ (?k . king)
+ (?b . bishop)
+ (?n . knight)
+ (?r . rook)
+ (?p . pawn)))
+
+(autoload 'festival-start-process "festival")
+(autoload 'festival-kill-process "festival")
+
+(defvar chess-announce-functions
+ (if (and (executable-find "festival")
+ (not (featurep 'emacspeak)))
+ (if (fboundp 'festival-say-string)
+ '(festival-start-process festival-say-string festival-kill-process)
+ '(ignore chess-announce-festival ignore))
+ '(ignore message ignore))
+ "These three functions are used to for announcing moves.
+The first is called one start of the announcer. The second is called
+with the string to announce each time. The third is called to
+shutdown the announcer process, if necessary.")
+
+(defsubst chess-piece-name (char)
+ (chess-string (cdr (assq (downcase char)
+ chess-announce-names))))
+
+(defun chess-announce-handler (game event &rest args)
+ (cond
+ ((eq event 'initialize)
+ (funcall (nth 0 chess-announce-functions))
+ t)
+
+ ((eq event 'destroy)
+ (funcall (nth 2 chess-announce-functions)))
+
+ ((eq event 'move)
+ (let* ((ply (chess-game-ply game (1- (chess-game-index game))))
+ (pos (chess-ply-pos ply)))
+ (unless (eq (chess-game-data game 'my-color)
+ (chess-pos-side-to-move pos))
+ (let* ((source (chess-ply-source ply))
+ (target (chess-ply-target ply))
+ (s-piece (and source (chess-pos-piece pos source)))
+ (t-piece (and target (chess-pos-piece pos target)))
+ (which (chess-ply-keyword ply :which))
+ text)
+ (if which
+ (setq which (char-to-string which)))
+ (cond
+ ((chess-ply-keyword ply :castle)
+ (setq text (chess-string 'short-castle)))
+ ((chess-ply-keyword ply :long-castle)
+ (setq text (chess-string 'long-castle)))
+ ((and s-piece t-piece (= t-piece ? ) target)
+ (setq text
+ (concat which
+ (chess-string 'piece-moves
+ (chess-piece-name s-piece)
+ (chess-index-to-coord target)))))
+ ((and s-piece t-piece target)
+ (setq text
+ (concat which
+ (chess-string 'piece-takes
+ (chess-piece-name s-piece)
+ (chess-piece-name t-piece)
+ (chess-index-to-coord target))))))
+
+ (let ((promotion (chess-ply-keyword ply :promote)))
+ (if promotion
+ (setq text
+ (concat text ", "
+ (chess-string 'promote
+ (chess-piece-name promotion))))))
+ (if (chess-ply-keyword ply :en-passant)
+ (setq text (concat text ", " (chess-string 'en-passant))))
+ (if (chess-ply-keyword ply :check)
+ (setq text (concat text ", " (chess-string 'check))))
+ (if (chess-ply-keyword ply :checkmate)
+ (setq text (concat text ", " (chess-string 'checkmate))))
+ (if (chess-ply-keyword ply :stalemate)
+ (setq text (concat text ", " (chess-string 'stalemate))))
+
+ (funcall (nth 1 chess-announce-functions) text)))))
+ ((eq event 'kibitz)
+ (funcall (nth 1 chess-announce-functions) (car args)))))
+
+(defun chess-announce-festival (text)
+ "Announce the given text using festival.
+This is less efficient than festival.el, which should be installed if
+possible. Debian installs it automatically when you apt-get install
+festival."
+ (let ((proc (start-process "announce" nil "/usr/bin/festival" "--tts")))
+ (when (and proc (eq (process-status proc) 'run))
+ (process-send-string proc (concat text "\n"))
+ (process-send-eof proc))))
+
+(provide 'chess-announce)
+
+;;; chess-announce.el ends here
View
BIN  elpa/chess-1.96/chess-announce.elc
Binary file not shown
View
125 elpa/chess-1.96/chess-autoloads.el
@@ -0,0 +1,125 @@
+;;; chess-autoloads.el --- automatically extracted autoloads
+;;
+;;; Code:
+
+
+;;;### (autoloads (chess-create-display chess) "chess" "chess.el"
+;;;;;; (19636 50071))
+;;; Generated autoloads from chess.el
+
+(autoload 'chess "chess" "\
+Start a game of chess, playing against ENGINE (a module name).
+
+\(fn &optional ENGINE DISABLE-POPUP ENGINE-RESPONSE-HANDLER &rest ENGINE-CTOR-ARGS)" t nil)
+
+(defalias 'chess-session 'chess)
+
+(autoload 'chess-create-display "chess" "\
+Create a display, letting the user's customization decide the style.
+If MODULES-TOO is non-nil, also create and associate the modules
+listed in `chess-default-modules'.
+
+\(fn PERSPECTIVE &optional MODULES-TOO)" nil nil)
+
+;;;***
+
+;;;### (autoloads (chess-ics) "chess-ics" "chess-ics.el" (19636 50072))
+;;; Generated autoloads from chess-ics.el
+
+(autoload 'chess-ics "chess-ics" "\
+Connect to an Internet Chess Server.
+
+\(fn SERVER PORT &optional HANDLE PASSWORD-OR-FILENAME HELPER &rest HELPER-ARGS)" t nil)
+
+;;;***
+
+;;;### (autoloads (chess-link) "chess-link" "chess-link.el" (19636
+;;;;;; 50071))
+;;; Generated autoloads from chess-link.el
+
+(autoload 'chess-link "chess-link" "\
+Play out a game between two engines, and watch the progress.
+If you want to run an engine as a bot, make the transport the first
+engine, and the computer the second engine.
+
+\(fn FIRST-ENGINE-TYPE SECOND-ENGINE-TYPE)" t nil)
+
+;;;***
+
+;;;### (autoloads (chess-pgn-mode chess-pgn-read) "chess-pgn" "chess-pgn.el"
+;;;;;; (19636 50070))
+;;; Generated autoloads from chess-pgn.el
+
+(autoload 'chess-pgn-read "chess-pgn" "\
+Read and display a PGN game after point.
+
+\(fn &optional FILE)" t nil)
+
+(autoload 'chess-pgn-mode "chess-pgn" "\
+A mode for editing chess PGN files.
+
+\(fn)" t nil)
+
+(defalias 'pgn-mode 'chess-pgn-mode)
+
+(add-to-list 'auto-mode-alist '("\\.pgn\\'" . chess-pgn-mode))
+
+;;;***
+
+;;;### (autoloads (chess-puzzle) "chess-puzzle" "chess-puzzle.el"
+;;;;;; (19636 50069))
+;;; Generated autoloads from chess-puzzle.el
+
+(autoload 'chess-puzzle "chess-puzzle" "\
+Pick a random puzzle from FILE, and solve it against the default engine.
+The spacebar in the display buffer is bound to `chess-puzzle-next',
+making it easy to go on to the next puzzle once you've solved one.
+
+\(fn FILE &optional INDEX)" t nil)
+
+;;;***
+
+;;;### (autoloads (chess-fischer-random-position) "chess-random"
+;;;;;; "chess-random.el" (19636 50069))
+;;; Generated autoloads from chess-random.el
+
+(autoload 'chess-fischer-random-position "chess-random" "\
+Generate a Fischer Random style position.
+
+\(fn)" nil nil)
+
+;;;***
+
+;;;### (autoloads (chess-tutorial) "chess-tutorial" "chess-tutorial.el"
+;;;;;; (19636 50069))
+;;; Generated autoloads from chess-tutorial.el
+
+(autoload 'chess-tutorial "chess-tutorial" "\
+A simple chess training display.
+
+\(fn)" t nil)
+
+;;;***
+
+;;;### (autoloads nil nil ("chess-ai.el" "chess-algebraic.el" "chess-announce.el"
+;;;;;; "chess-autosave.el" "chess-chat.el" "chess-clock.el" "chess-common.el"
+;;;;;; "chess-crafty.el" "chess-database.el" "chess-display.el"
+;;;;;; "chess-engine.el" "chess-epd.el" "chess-fen.el" "chess-file.el"
+;;;;;; "chess-game.el" "chess-german.el" "chess-gnuchess.el" "chess-ics1.el"
+;;;;;; "chess-images.el" "chess-input.el" "chess-irc.el" "chess-kibitz.el"
+;;;;;; "chess-maint.el" "chess-message.el" "chess-module.el" "chess-network.el"
+;;;;;; "chess-none.el" "chess-opening.el" "chess-phalanx.el" "chess-pkg.el"
+;;;;;; "chess-plain.el" "chess-ply.el" "chess-pos.el" "chess-scid.el"
+;;;;;; "chess-sjeng.el" "chess-sound.el" "chess-transport.el" "chess-ucb.el"
+;;;;;; "chess-var.el") (19636 50072 664062))
+
+;;;***
+
+(provide 'chess-autoloads)
+;; Local Variables:
+;; version-control: never
+;; no-byte-compile: t
+;; no-update-autoloads: t
+;; coding: utf-8
+;; End:
+;;; chess-autoloads.el ends here
View
13 elpa/chess-1.96/chess-autoloads.el~
@@ -0,0 +1,13 @@
+;;; chess-autoloads.el --- automatically extracted autoloads
+;;
+;;; Code:
+
+
+(provide 'chess-autoloads)
+;; Local Variables:
+;; version-control: never
+;; no-byte-compile: t
+;; no-update-autoloads: t
+;; coding: utf-8
+;; End:
+;;; chess-autoloads.el ends here
View
140 elpa/chess-1.96/chess-autosave.el
@@ -0,0 +1,140 @@
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;
+;; A special kind of display that merely autosaves the game
+;;
+
+(require 'chess-game)
+(require 'chess-database)
+(require 'chess-message)
+
+(defgroup chess-autosave nil
+ "A special display that autosaves after each move."
+ :group 'chess-display)
+
+(defcustom chess-autosave-file "~/.chess-save"
+ "Filename in which to autosave chess games."
+ :type '(choice file (const :tag "Do not auto-save" nil))
+ :group 'chess-autosave)
+
+(defcustom chess-autosave-database nil
+ "If non-nil, a chess database file in which completed games are appended.
+If a function, it will receive a game object and is expected to do the
+work of saving the game object to whichever database(s) it chooses.
+Whether it closes those databases or caches them for later use is up
+to the user."
+ :type '(choice (const :tag "Do not save completed games" nil)
+ file function)
+ :group 'chess-autosave)
+
+(chess-message-catalog 'english
+ '((chess-read-autosave . "There is a chess autosave file, read it? ")
+ (chess-delete-autosave . "Delete the autosave file? ")
+ (chess-disable-autosave . "Disable autosaving for this game? ")
+ (autosave-available . "There is an autosave file; type ~ after connecting to read it")))
+
+(defun chess-autosave-handler (game event &rest args)
+ (cond
+ ((eq event 'initialize)
+ (kill-buffer (current-buffer))
+ (set-buffer (find-file-noselect chess-autosave-file t))
+ (buffer-disable-undo)
+ (setq buffer-auto-save-file-name nil)
+ t)
+
+ ((eq event 'check-autosave)
+ (if (file-readable-p chess-autosave-file)
+ (if (y-or-n-p (chess-string 'chess-read-autosave))
+ (progn
+ (chess-autosave-read game chess-autosave-file)
+ (erase-buffer))
+ (if (y-or-n-p (chess-string 'chess-delete-autosave))
+ (erase-buffer)
+ (if (y-or-n-p (chess-string 'chess-disable-autosave))
+ (chess-autosave-handler game 'disable-autosave))))))
+
+ ((eq event 'announce-autosave)
+ (if (file-readable-p chess-autosave-file)
+ (chess-message 'autosave-available)))
+
+ ((eq event 'disable-autosave)
+ (chess-autosave-handler game 'destroy)
+ (chess-module-destroy (current-buffer)))
+
+ ((eq event 'post-move)
+ (if (not (chess-game-over-p game))
+ (chess-autosave-write game chess-autosave-file)
+ (erase-buffer)
+ (if chess-autosave-database
+ (if (functionp chess-autosave-database)
+ (funcall chess-autosave-database game)
+ (let ((database (chess-database-open chess-autosave-database)))
+ (when database
+ (chess-database-write database game)
+ (chess-database-close database)))))))
+
+ ((eq event 'destroy)
+ (set-buffer-modified-p nil)
+ (if (file-exists-p chess-autosave-file)
+ (delete-file chess-autosave-file)))))
+
+(defun chess-prin1-ply (ply)
+ (insert "([")
+ (let ((pos (chess-ply-pos ply)))
+ (dotimes (i 74)
+ (prin1 (aref pos i) (current-buffer))
+ (insert ? )))
+ (insert "nil]")
+ (let ((changes (chess-ply-changes ply)))
+ (if changes
+ (insert ? ))
+ (while changes
+ (if (eq (car changes) :next-pos)
+ (setq changes (cddr changes))
+ (prin1 (car changes) (current-buffer))
+ (if (cdr changes)
+ (insert ? ))
+ (setq changes (cdr changes)))))
+ (insert ")"))
+
+(defun chess-autosave-write (game file)
+ "Write a chess GAME to FILE as raw Lisp."
+ (let ((index (chess-game-index game)))
+ (if (or (= 1 index) (and (bobp) (eobp)))
+ (progn
+ (erase-buffer)
+ (prin1 (chess-game-tags game)
+ (current-buffer))
+ (insert "\n(\n;;## ply 0\n"))
+ (goto-char (point-max))
+ (re-search-backward "^;;## ply")
+ (forward-line)
+ (delete-region (point) (point-max)))
+ (chess-prin1-ply (chess-game-ply game (1- index)))
+ (insert (format "\n;;## ply %d\n" index))
+ (chess-prin1-ply (chess-game-ply game))
+ (insert ")\n")
+ (basic-save-buffer)
+ (message nil)))
+
+(defun chess-autosave-read (game file)
+ "Read a chess game as raw Lisp from FILE."
+ (goto-char (point-min))
+ (chess-game-set-tags game (read (current-buffer)))
+ (let* ((plies (read (current-buffer)))
+ (game-plies plies)
+ prev-ply)
+ (while plies
+ (if prev-ply
+ (chess-pos-set-preceding-ply (chess-ply-pos (car plies))
+ prev-ply))
+ (if (cdr plies)
+ (chess-ply-set-keyword (car plies) :next-pos
+ (chess-ply-pos (cadr plies))))
+ (setq prev-ply (car plies)
+ plies (cdr plies)))
+
+ (chess-game-set-plies game game-plies)))
+
+(provide 'chess-autosave)
+
+;;; chess-autosave.el ends here
View
BIN  elpa/chess-1.96/chess-autosave.elc
Binary file not shown
View
46 elpa/chess-1.96/chess-chat.el
@@ -0,0 +1,46 @@
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;
+;; Implements chess chat, which is very much like kibitzing, but not
+;; saved. RET is used to send each chat line.
+;;
+
+(defvar chess-chat-input-last nil)
+
+(make-variable-buffer-local 'chess-chat-input-last)
+
+(define-derived-mode chess-chat-mode text-mode "Chat"
+ "A mode for editing chess annotations."
+ (set-buffer-modified-p nil)
+ (setq chess-chat-input-last (copy-marker (point-max) t))
+ (let ((map (current-local-map)))
+ (define-key map [return] 'chess-chat-send)
+ (define-key map [(control ?m)] 'chess-chat-send)))
+
+(defun chess-chat-send ()
+ (interactive)
+ (chess-game-run-hooks chess-module-game 'chat
+ (buffer-substring-no-properties
+ chess-chat-input-last (point-max)))
+ (set-marker chess-chat-input-last (point-max))
+ (set-buffer-modified-p nil))
+
+(defun chess-chat-handler (game event &rest args)
+ (cond
+ ((eq event 'initialize)
+ (kill-buffer (current-buffer))
+ (set-buffer (generate-new-buffer "*Chat*"))
+ (chess-chat-mode)
+ t)
+
+ ((eq event 'switch-to-chat)
+ (switch-to-buffer-other-window (current-buffer)))
+
+ ((eq event 'chat)
+ (chess-chat-handler 'switch-to-chat)
+ (save-excursion
+ (goto-char chess-chat-input-last)
+ (insert (car args))))))
+
+(provide 'chess-chat)
+
+;;; chess-chat.el ends here
View
BIN  elpa/chess-1.96/chess-chat.elc
Binary file not shown
View
100 elpa/chess-1.96/chess-clock.el
@@ -0,0 +1,100 @@
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;
+;; Implements a chess clock
+;;
+
+(defvar chess-clock-last-time nil)
+(defvar chess-clock-timer nil)
+
+(make-variable-buffer-local 'chess-clock-last-time)
+(make-variable-buffer-local 'chess-clock-timer)
+
+(defsubst chess-clock-add-seconds (time seconds)
+ "To TIME, add SECONDS. Return result as a time value."
+ (let* ((secint (truncate seconds))
+ (hi (/ secint 65536))
+ (lo (% secint 65536))
+ (calc (+ (cadr time) lo)))
+ (if (< calc 65536)
+ (list (+ (car time) hi) calc)
+ (list (+ (car time) (1+ hi)) (% calc 65536)))))
+
+(defsubst chess-clock-time-to-seconds (time)
+ "Convert TIME to a floating point number."
+ (+ (* (car time) 65536.0)
+ (cadr time)
+ (/ (or (car (cdr (cdr time))) 0) 1000000.0)))
+
+(defsubst chess-clock-time-diff (t1 t2)
+ "Return the difference in seconds between T1 and T2."
+ (- (chess-clock-time-to-seconds t1)
+ (chess-clock-time-to-seconds t2)))
+
+(defun chess-clock-handler (game event &rest args)
+ (cond
+ ((eq event 'initialize)
+ (unless (or (null (car args))
+ (chess-game-data game 'white-remaining))
+ (chess-game-set-data game 'white-remaining (float (car args)))
+ (chess-game-set-data game 'black-remaining (float (car args))))
+ t)
+
+ ((eq event 'post-undo)
+ (let* ((last-ply (car (last (chess-game-plies game) 2)))
+ (white (chess-ply-keyword last-ply :white))
+ (black (chess-ply-keyword last-ply :black)))
+ (when (and white black)
+ (chess-game-set-data game 'white-remaining white)
+ (chess-game-set-data game 'black-remaining black))))
+
+ ((eq event 'move)
+ (let ((white (chess-game-data game 'white-remaining))
+ (black (chess-game-data game 'black-remaining)))
+ (when (and white black
+ (chess-game-data game 'active)
+ (> (chess-game-index game) 0))
+ (unless chess-clock-timer
+ (setq chess-clock-timer
+ (run-with-timer 0 1 'chess-clock-tick-tock
+ (current-buffer))))
+ (let ((last-ply (car (last (chess-game-plies game) 2))))
+ (chess-ply-set-keyword last-ply :white white)
+ (chess-ply-set-keyword last-ply :black black))))
+
+ (if (chess-game-over-p game)
+ (chess-clock-handler game 'destroy)))
+
+ ((eq event 'set-data)
+ (if (and (eq (car args) 'active)
+ (not (chess-game-data game 'active)))
+ (chess-clock-handler game 'destroy)))
+
+ ((eq event 'destroy)
+ (if chess-clock-timer
+ (cancel-timer chess-clock-timer)
+ (setq chess-clock-timer nil)))))
+
+(defvar chess-clock-tick-tocking nil)
+
+(defun chess-clock-tick-tock (module)
+ (unless chess-clock-tick-tocking
+ (let ((chess-clock-tick-tocking t))
+ (with-current-buffer module
+ (let ((last-time chess-clock-last-time)
+ (chess-game-inhibit-events t)
+ counter)
+ (setq chess-clock-last-time (current-time))
+ (when (and (> (chess-game-index chess-module-game) 0)
+ (not (chess-game-status chess-module-game)))
+ (if (chess-pos-side-to-move (chess-game-pos chess-module-game))
+ (setq counter 'white-remaining)
+ (setq counter 'black-remaining))
+ (chess-game-set-data
+ chess-module-game counter
+ (- (chess-game-data chess-module-game counter)
+ (chess-clock-time-diff chess-clock-last-time last-time))))))
+ (force-mode-line-update))))
+
+(provide 'chess-clock)
+
+;;; chess-clock.el ends here
View
BIN  elpa/chess-1.96/chess-clock.elc
Binary file not shown
View
108 elpa/chess-1.96/chess-common.el
@@ -0,0 +1,108 @@
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;
+;; Define handler functions that are common to the (relatively)
+;; standard chess engine communication protocol:
+;;
+;; http://www.tim-mann.org/xboard/engine-intf.html
+;;
+
+(require 'chess-engine)
+(require 'chess-message)
+
+(defvar chess-common-engine-name nil)
+(defvar chess-common-temp-files nil)
+(make-variable-buffer-local 'chess-common-engine-name)
+(make-variable-buffer-local 'chess-common-temp-files)
+
+(defmacro chess-with-temp-file (&rest body)
+ `(let ((file (make-temp-file "chess")))
+ (with-temp-file file
+ ,@body)
+ (push file chess-common-temp-files)
+ file))
+
+(put 'chess-with-temp-file 'lisp-indent-function 1)
+
+(chess-message-catalog 'english
+ '((starting-engine . "Starting chess program '%s'...")
+ (starting-engine-done . "Starting chess program '%s'...done")
+ (could-not-find-engine . "Cannot find %s executable; check `%s'")
+ (draw-offer-declined . "Your draw offer was declined")
+ (illegal-move . "Illegal move")
+ (not-yet-implemented . "This feature is not yet implemented")))
+
+(defun chess-common-handler (game event &rest args)
+ "Initialize the network chess engine."
+ (cond
+ ((eq event 'initialize)
+ (let* ((name (car args))
+ (path (intern (concat "chess-" name "-path")))
+ proc)
+ (chess-message 'starting-engine name)
+ (unless (boundp path)
+ (chess-error 'could-not-find-engine name path))
+ (setq proc (start-process (concat "chess-" name)
+ (current-buffer) (symbol-value path)))
+ (chess-message 'starting-engine-done name)
+ proc))
+
+ ((eq event 'ready)
+ (chess-game-set-data game 'active t)
+ (chess-game-run-hooks game 'check-autosave))
+
+ ((eq event 'destroy)
+ (let ((proc (get-buffer-process (current-buffer))))
+ (if (and (processp proc)
+ (memq (process-status proc) '(run open)))
+ (chess-engine-send nil "quit\n")))
+
+ (dolist (file chess-common-temp-files)
+ (if (file-exists-p file)
+ (delete-file file)))
+ (setq chess-common-temp-files nil))
+
+ ((eq event 'pass)
+ (chess-engine-send nil "go\n"))
+
+ ((eq event 'draw)
+ (chess-message 'draw-offer-declined))
+
+ ((eq event 'resign)
+ (chess-engine-send nil "resign\n")
+ (chess-game-set-data game 'active nil))
+
+ ((eq event 'new)
+ (chess-engine-send nil "new\n")
+ (chess-engine-set-position nil))
+
+ ((eq event 'force)
+ (chess-error 'not-yet-implemented))
+
+ ((eq event 'undo)
+ (dotimes (i (car args))
+ (chess-engine-send nil "undo\n"))
+ (if (= 1 (mod (car args) 2))
+ (chess-engine-send nil "go\n"))
+
+ ;; prevent us from handling the `undo' event which this triggers
+ (let ((chess-engine-handling-event t))
+ (chess-game-undo game (car args))))
+
+ ((eq event 'flag-fell)
+ (chess-game-set-data game 'active nil)
+ (let ((chess-game-inhibit-events t))
+ (chess-game-end game :flag-fell)))
+
+ ((eq event 'move)
+ (when (= 1 (chess-game-index game))
+ (chess-game-set-tag game "White" chess-full-name)
+ (chess-game-set-tag game "Black" chess-engine-opponent-name))
+
+ (chess-engine-send nil (concat (chess-ply-to-algebraic (car args))
+ "\n"))
+ (if (chess-game-over-p game)
+ (chess-game-set-data game 'active nil)))))
+
+(provide 'chess-common)
+
+;;; chess-common.el ends here
View
BIN  elpa/chess-1.96/chess-common.elc
Binary file not shown
View
163 elpa/chess-1.96/chess-crafty.el
@@ -0,0 +1,163 @@
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;
+;; Play against crafty!
+;;
+
+(require 'chess-common)
+(require 'chess-var)
+
+(defgroup chess-crafty nil
+ "The publically available chess engine 'crafty'."
+ :group 'chess-engine)
+
+(defcustom chess-crafty-path (or (executable-find "crafty")
+ (executable-find "wcrafty"))
+ "*The path to the crafty executable."
+ :type 'file
+ :group 'chess-crafty)
+
+(defvar chess-crafty-evaluation nil)
+
+(make-variable-buffer-local 'chess-crafty-evaluation)
+
+(defvar chess-crafty-analyzing-p nil
+ "Non-nil if Crafty is currently in analysis mode.")
+
+(make-variable-buffer-local 'chess-crafty-analyzing-p)
+
+(defvar chess-crafty-regexp-alist
+ (list
+ (cons (concat "move\\s-+\\(" chess-algebraic-regexp "\\)\\s-*$")
+ (function
+ (lambda ()
+ (funcall chess-engine-response-handler 'move
+ (chess-engine-convert-algebraic (match-string 1) t)))))
+ (cons "total evaluation\\.+\\s-+\\([-+0-9.]+\\)"
+ (function
+ (lambda ()
+ (setq chess-crafty-evaluation
+ (string-to-number (match-string 1))))))
+ (cons "tellicsnoalias kibitz Hello from\\s-+\\(.+\\)$"
+ (function
+ (lambda ()
+ (setq chess-engine-opponent-name (match-string 1)))))
+ (cons "Analyze Mode: type \"exit\" to terminate.$"
+ (function
+ (lambda ()
+ (setq chess-crafty-analyzing-p t))))
+ (cons (concat "\t ?\\([0-9]+\\)\\s-+"
+ "\\(-?[0-9]+\\)\\s-+\\([0-9]+\\)\\s-+\\([0-9]+\\)\\s-+"
+ "\\(" ;; The list of moves
+ "\\( *[1-9][0-9]*\\. "
+ "\\(\\.\\.\\.\\|" chess-algebraic-regexp "\\)"
+ "\\( " chess-algebraic-regexp "\\)?\\)+\\)$")
+ (function
+ (lambda ()
+ (when chess-crafty-analyzing-p
+ ;; We can translate this information to EPD opcodes
+ (let ((depth (read (match-string 1)))
+ (centipawn (read (match-string 2)))
+ (nodes (match-string 4))
+ (pos (chess-engine-position nil)))
+ (chess-pos-set-epd pos 'acd depth)
+ (chess-pos-set-epd pos 'ce centipawn)
+ (chess-pos-set-epd
+ pos
+ 'pv ; predicted variation
+ (save-restriction
+ (narrow-to-region (match-beginning 5) (match-end 5))
+ (let ((var (chess-var-create pos)))
+ (goto-char (point-min))
+ (while (not (eobp))
+ (cond
+ ((looking-at "[1-9][0-9]*\\.[ .]*")
+ (goto-char (match-end 0)))
+ ((looking-at chess-algebraic-regexp)
+ (goto-char (match-end 0))
+ (let ((ply (chess-algebraic-to-ply
+ (chess-var-pos var)
+ (match-string-no-properties 0))))
+ (unless ply
+ (error "unable to read move '%s'"
+ (match-string-no-properties 0)))
+ (chess-var-move var ply))))
+ (skip-chars-forward " "))
+ var))))))))
+ (cons "analyze complete.$"
+ (function
+ (lambda ()
+ (setq chess-crafty-analyzing-p nil))))
+ (cons "{\\(Black\\|White\\) resigns}"
+ (function
+ (lambda ()
+ (funcall chess-engine-response-handler 'resign))))
+ (cons "\\(Illegal move\\|unrecognized/illegal command\\):\\s-*\\(.*\\)"
+ (function
+ (lambda ()
+ (error (match-string 1)))))
+ (cons "command not legal now"
+ (function
+ (lambda ()
+ (error (match-string 0)))))))
+
+(defun chess-crafty-handler (game event &rest args)
+ (unless chess-engine-handling-event
+ (cond
+ ((eq event 'initialize)
+ (let ((proc (chess-common-handler game 'initialize "crafty")))
+ (when (and proc (processp proc)
+ (eq (process-status proc) 'run))
+ (process-send-string proc "xboard\n")
+ (setq chess-engine-process proc)
+ t)))
+
+ ((eq event 'setup-pos)
+ (chess-engine-send nil (format "setboard %s\n"
+ (chess-pos-to-string (car args)))))
+
+ ((eq event 'evaluate)
+ (setq chess-crafty-evaluation nil)
+ (chess-engine-send nil "display general\nscore\ndisplay nogeneral\n")
+ (let ((limit 50))
+ (while (and (null chess-crafty-evaluation)
+ (> (setq limit (1- limit)) 0))
+ (sit-for 0 100 t))
+ chess-crafty-evaluation))
+
+ ((eq event 'analyze)
+ (if (car args)
+ (chess-engine-send nil "analyze\npost\n")
+ (chess-engine-send nil "exit\nnopost\n")))
+
+ ((eq event 'setup-game)
+ (let ((file (chess-with-temp-file
+ (insert (chess-game-to-string (car args)) ?\n))))
+ (chess-engine-send nil (format "read %s\n" file))))
+
+ ((eq event 'set-option)
+ (cond
+ ((eq (car args) 'resign)
+ (if (cadr args)
+ (chess-engine-send nil "resign 9\n")
+ (chess-engine-send nil "resign -1\n")))
+ ((eq (car args) 'ponder)
+ (if (cadr args)
+ (chess-engine-send nil "hard\n")
+ (chess-engine-send nil "easy\n")))
+ ((eq (car args) 'search-depth)
+ (assert (and (integerp (cadr args)) (>= (cadr args) 0)))
+ (chess-engine-send nil (format "sd %d\n" (cadr args))))
+ ((eq (car args) 'search-time)
+ (assert (and (integerp (cadr args)) (> (cadr args) 0)))
+ (chess-engine-send nil (format "st %d\n" (cadr args))))))
+
+ (t
+ (if (and (eq event 'undo)
+ (= 1 (mod (car args) 2)))
+ (error "Cannot undo until after crafty moves"))
+
+ (apply 'chess-common-handler game event args)))))
+
+(provide 'chess-crafty)
+
+;;; chess-crafty.el ends here