New patcher comin'in hot
didier at xemacs.org
Mon May 31 04:23:18 EDT 2010
I've been working on a major revamp of Patcher recently, and I think
I've reached a pre-release state. Patcher has been extensively rewritten
(it has roughly doubled in size) and as a result it is no longer
contained in a single file. I guess this means that it will have to move
away from xemacs-devel and become a standalone package (in fact it has
always supported this mode of distribution/installation).
I've made version 4.0-pre1 available for download here (look for the red
and I would like some testers. It's already pretty stable as I use it
for all my projects, but of course I'm not using all the possible code
Here's a summary of the changes in this version (this is a major
release). Note that there are a couple of backward-incompatible changes
that may affect you if you've set some project options and not only used
the built-in themes. The documentation is up-to-date.
** BACKWARD INCOMPATIBLE CHANGES
*** ChangeLogs insertion in mail buffers rebound to C-c C-p l
*** Compressed ChangeLogs insertion in logmsg buffers rebound to C-c C-p L
*** Removed directory-sep-char hacks
until the need for it raises again. Probably better implemented via project
*** Diff commands can no longer be changed from patcher-mail-[adapt]
but instead, the prefix argument allows for temporary subproject
*** patcher-*-subproject entry points removed
since they are no longer needed (see above).
*** Removed :kill-source-file-after-diffing option
***:kill-source-files-after-sending renamed to :kill-sources-after-sending
*** patcher-mail-check-change-logs-insertion is now a project option
*** patcher-mail-check-commit-action is now a project option
***:change-logs-diff-command option now understands nil instead of 'diff
*** The 'packed ChangeLogs appearance has been renamed to 'pack
** NEW FEATURES
*** Support ephemeral ChangeLogs
thanks to a new :change-logs-status project option. Ephemeral ChangeLogs are
not stored in ChangeLog files, but exist only temporarily for mail or log
message insertion (See ChangeLogs Status in the documentation).
*** ChangeLog minor mode
providing easy navigation through the mail/ChangeLog buffers cycle via C-c C-p
n, C-c C-p p, C-c C-p N, C-c C-p P and C-c C-p m (See ChangeLogs Navigation in
*** Support switching to mail buffer and inserting ChangeLogs at once
via C-c C-p l from ChangeLog buffers.
*** patcher-mail-insert-change-logs gets a prefix argument
allowing to temporarily change the ChangeLogs appearance. It also supports
inserting ChangeLogs even when the project is set not to.
*** Additional binding for patcher-logmsg-commit: C-c C-p c
*** Commit command buffer is now editable
Commit is done via C-c C-p c or C-c C-c (patcher-cmtcmd-commit).
*** Fontification of commit command and log message buffers
with comment syntax and initial informative help. See new Patcher faces.
*** Support for commit or log message canceling
via C-c C-z.
*** Support for project abortion
via C-c C-p k in all relevant buffers, including ChangeLogs.
*** Support Subject: header modification in mail adaptation routines
via a new project option :subject-rewrite-format.
*** Support project-wide dynamic subject modification
via C-c C-p S in both mail and log message buffers.
*** Implement :kill-source-files-after-sending project option
*** Support for source file saving
** FIXES AND IMPROVEMENTS
*** Much better error handling
*** Improved support for overlapping Patcher instances
through buffer and file referencing for both ChangeLog and source files.
*** Documentation rewrite and sections organization cleanup
*** More checks for project consistency
including missing or spurious ChangeLog entries, source diffs, undiffable and
uncommittable projects etc.
*** Improved project rediffing
including support for partially generated ChangeLog skeletons, and interactive
prompting for skeleton un/re-generation.
Thank you in advance.
Resistance is futile. You will be jazzimilated.
Scientific site: http://www.lrde.epita.fr/~didier
Music (Jazz) site: http://www.didierverna.com
More information about the XEmacs-Beta