New patcher comin'in hot

Didier Verna didier at xemacs.org
Mon May 31 04:23:18 EDT 2010


       Hi all,

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
link): http://www.lrde.epita.fr/~didier/software/xemacs.php
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
paths.

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
options anyway.

*** Diff commands can no longer be changed from patcher-mail-[adapt]
but instead, the prefix argument allows for temporary subproject
specification. 

*** 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
named:check-change-logs-insertion.

*** patcher-mail-check-commit-action is now a project option
named:check-commit.

***: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
the documentation).

*** 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 mailing list