Next: , Previous: User Manual, Up: Top


Appendix A XEmacs Development

XEmacs development occurs on a Mercurial repository. Patches are advertised on xemacs-patches@xemacs.org. We assume that you are a committer and have a clone of the main repository located at /usr/local/src/xemacs/21.5. Your hgrc file should look like this (replace my identity with yours):

[ui]
username = Didier Verna <didier@xemacs.org>

[paths]
default      = ssh://hg@bitbucket.org/xemacs/xemacs

The following project settings will do nicely for hacking XEmacs:

'("XEmacs 21.5" "/usr/local/src/xemacs/21.5"
   :to-address "xemacs-patches@xemacs.org"
   :change-logs-user-mail "didier@xemacs.org"
   :commit-privilege t
   :log-message-items (subject change-logs)
   :themes (mercurial))

If you want to also work on the packages, you may clone the big umbrella repository. Let's assume you do so in /usr/local/share/emacs-lisp/source/xemacs-packages. Your hgrc file should look like this:

[ui]
username = Didier Verna <didier@xemacs.org>

[paths]
default      = ssh://hg@bitbucket.org/xemacs/xemacs-packages

The following project settings will do nicely for hacking the packages (all settings are in fact inherited from the main XEmacs 21.5 project):

'("XEmacs Packages" "/usr/local/share/emacs-lisp/source/xemacs-packages"
  :inheritance ("XEmacs 21.5"))

However, note that you shouldn't work on this project directly. Every package is in fact stored under this project as a Mercurial submodule. Patcher detects every such submodule automatically and creates a corresponding project for you (submodule projects are named ‘XEmacs Packages (<submodule>)’. Because those really are independent projects, you should probably also update every hgrc file with your identity.