[COMMIT] Sync carbon2 with the trunk
17 years, 2 months
Aidan Kehoe
APPROVE COMMIT
NOTE: This patch has been committed
9.8 MB patch omitted. This change doesn’t merge Andrew Choi’s latest changes
in, just moves trunk changes out to the branch. I intend to merge his work
since the creation of the Carbon2 branch next.
--
On the quay of the little Black Sea port, where the rescued pair came once
more into contact with civilization, Dobrinton was bitten by a dog which was
assumed to be mad, though it may only have been indiscriminating. (Saki)
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-patches
[COMMIT] Tell the category infrastructure about the Mule-UCS coding systems
17 years, 2 months
Aidan Kehoe
APPROVE COMMIT
NOTE: This patch has been committed.
Tell the category infrastructure about the Mule-UCS coding systems; this
allows the prefer-coding-system calls documented for GNU Emacs for UTF-8
support to work on 21.4 and SXEmacs.
mule-packages/mule-ucs/lisp/ChangeLog addition:
2007-09-30 Aidan Kehoe <kehoea(a)parhasard.net>
* un-define.el (un-define):
Tell the category infrastructure about the Mule-UCS coding
systems.
XEmacs Packages source patch:
Diff command: cvs -q diff -Nu
Files affected: mule-packages/mule-ucs/lisp/un-define.el
===================================================================
RCS
Index: mule-packages/mule-ucs/lisp/un-define.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/mule-packages/mule-ucs/lisp/un-define.el,v
retrieving revision 1.5
diff -u -u -r1.5 un-define.el
--- mule-packages/mule-ucs/lisp/un-define.el 2007/08/08 20:45:11 1.5
+++ mule-packages/mule-ucs/lisp/un-define.el 2007/09/30 15:59:59
@@ -629,7 +629,9 @@
(mucs-define-coding-system
(nth 0 y) (nth 1 y) (nth 2 y)
(nth 3 y) (nth 4 y) (nth 5 y) (nth 6 y))
- (coding-system-put (car y) 'alias-coding-systems (list (car x))))
+ (coding-system-put (car y) 'alias-coding-systems (list (car x)))
+ (when (memq (car x) (coding-category-list))
+ (coding-system-put (car y) 'category (car x))))
(cdr x)))
`((utf-8
(utf-8-unix
--
On the quay of the little Black Sea port, where the rescued pair came once
more into contact with civilization, Dobrinton was bitten by a dog which was
assumed to be mad, though it may only have been indiscriminating. (Saki)
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-patches
[C] xemacs-21.5-clean: Introduce TEXI2HTML_NOSPLIT in man/Makefile rules for beta.html and xemacs-faq.html
17 years, 2 months
Adrian Aichner
COMMIT
xemacs-21.5-clean ChangeLog patch:
Diff command: cvs -q diff -U 0
Files affected: man/ChangeLog
Index: man/ChangeLog
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/man/ChangeLog,v
retrieving revision 1.359
diff -u -U0 -r1.359 ChangeLog
--- man/ChangeLog 30 Sep 2007 15:13:33 -0000 1.359
+++ man/ChangeLog 30 Sep 2007 15:25:20 -0000
@@ -2,0 +3,6 @@
+ * Makefile (TEXI2HTML_NOSPLIT): New.
+ * Makefile ($(HTMLDIR)/beta.html): Use TEXI2HTML_NOSPLIT.
+ * Makefile ($(HTMLDIR)/xemacs-faq.html): Ditto.
+
+2007-09-30 Adrian Aichner <adrian(a)xemacs.org>
+
xemacs-21.5-clean source patch:
Diff command: cvs -f -z3 -q diff -u -w -N
Files affected: man/Makefile
===================================================================
RCS
Index: man/Makefile
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/man/Makefile,v
retrieving revision 1.36
diff -u -w -r1.36 Makefile
--- man/Makefile 30 Sep 2007 15:13:33 -0000 1.36
+++ man/Makefile 30 Sep 2007 15:23:26 -0000
@@ -24,6 +24,7 @@
MAKEINFO = makeinfo
TEXI2DVI = texi2dvi
TEXI2HTML = texi2html
+TEXI2HTML_NOSPLIT = $(TEXI2HTML) -verbose -subdir $(HTMLDIR)
TEXI2HTML_SPLIT = $(TEXI2HTML) -verbose -subdir $(HTMLDIR) -split chapter
RM = rm -f
@@ -354,7 +355,7 @@
############################################################################
$(HTMLDIR)/beta.html : beta.texi
- $(TEXI2HTML) beta.texi
+ $(TEXI2HTML_NOSPLIT) beta.texi
$(HTMLDIR)/cl.html : cl.texi
$(TEXI2HTML_SPLIT) cl.texi
@@ -387,7 +388,7 @@
$(TEXI2HTML_SPLIT) widget.texi
$(HTMLDIR)/xemacs-faq.html : xemacs-faq.texi
- $(TEXI2HTML) xemacs-faq.texi
+ $(TEXI2HTML_NOSPLIT) xemacs-faq.texi
$(TEXI2HTML_SPLIT) -top_file xemacs-faq_1.html xemacs-faq.texi
$(CP) $(PHOTODIR)/ben.png $(HTMLDIR)
$(CP) $(PHOTODIR)/cthomp.png $(HTMLDIR)
--
Adrian Aichner
mailto:adrian@xemacs.org
http://www.xemacs.org/
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-patches
[C] xemacs-21.5-clean: man/Makefile update for xemacsweb/Documentation/Makefile
17 years, 2 months
Adrian Aichner
COMMIT
xemacs-21.5-clean ChangeLog patch:
Diff command: cvs -q diff -U 0
Files affected: man/ChangeLog
Index: man/ChangeLog
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/man/ChangeLog,v
retrieving revision 1.358
diff -u -U0 -r1.358 ChangeLog
--- man/ChangeLog 24 Aug 2007 22:26:42 -0000 1.358
+++ man/ChangeLog 30 Sep 2007 15:13:10 -0000
@@ -0,0 +1,5 @@
+2007-09-30 Adrian Aichner <adrian(a)xemacs.org>
+
+ * Makefile (TEXI2HTML): Refactor TEXI2HTML for use by
+ xemacsweb/Documentation/Makefile.
+
xemacs-21.5-clean source patch:
Diff command: cvs -f -z3 -q diff -u -w -N
Files affected: man/Makefile
===================================================================
RCS
Index: man/Makefile
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/man/Makefile,v
retrieving revision 1.35
diff -u -w -r1.35 Makefile
--- man/Makefile 13 Nov 2005 10:39:30 -0000 1.35
+++ man/Makefile 30 Sep 2007 15:10:52 -0000
@@ -23,8 +23,8 @@
SHELL = /bin/sh
MAKEINFO = makeinfo
TEXI2DVI = texi2dvi
-TEXI2HTML = texi2html -verbose -subdir $(HTMLDIR)
-TEXI2HTML_SPLIT = $(TEXI2HTML) -split chapter
+TEXI2HTML = texi2html
+TEXI2HTML_SPLIT = $(TEXI2HTML) -verbose -subdir $(HTMLDIR) -split chapter
RM = rm -f
CP = cp
--
Adrian Aichner
mailto:adrian@xemacs.org
http://www.xemacs.org/
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-patches
[PATCH] Prevent spurious clash warnings when looking at an ERC log file and logging to it
17 years, 2 months
Aidan Kehoe
When I open an ERC log file read-only in a buffer and am concurrently
writing to it (with erc-enable-logging and activity in the relevant
channel), I get told regularly that [file] has changed on disk; really edit
the buffer? (I put a backtrace call in
#’ask-user-about-supersession-threat-minibuf and there’s some sample output
below.) This is inappropriate--actual clashes will be detected in the actual
buffer, later, and won’t be for read-only buffers--and can be avoided by
binding inhibit-clash-detection to to in #'erc-save-buffer-in-logs.
xemacs-packages/erc/ChangeLog addition:
2007-09-30 Aidan Kehoe <kehoea(a)parhasard.net>
* erc-log.el (erc-save-buffer-in-logs):
Prevent spurious warnings when looking at a log file and
concurrently saving to it.
XEmacs Packages source patch:
Diff command: cvs -q diff -Nu
Files affected: xemacs-packages/erc/erc-log.el
===================================================================
RCS
Index: xemacs-packages/erc/erc-log.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/erc/erc-log.el,v
retrieving revision 1.9
diff -u -u -r1.9 erc-log.el
--- xemacs-packages/erc/erc-log.el 2006/02/19 12:57:29 1.9
+++ xemacs-packages/erc/erc-log.el 2007/09/30 12:39:34
@@ -328,7 +328,8 @@
(or buffer (setq buffer (current-buffer)))
(when (erc-logging-enabled buffer)
(let ((file (erc-current-logfile buffer))
- (coding-system-for-write erc-log-file-coding-system))
+ (coding-system-for-write erc-log-file-coding-system)
+ (inhibit-clash-detection t))
(save-excursion
(with-current-buffer buffer
(save-restriction
--
On the quay of the little Black Sea port, where the rescued pair came once
more into contact with civilization, Dobrinton was bitten by a dog which was
assumed to be mad, though it may only have been indiscriminating. (Saki)
backtrace(t t)
(progn (backtrace standard-output t) (let (answer) (while (null answer) (message "%s changed on disk; really edit the buffer? (y, n, r or C-h) " (file-name-nondirectory filename)) (let ((tem (downcase (let ((cursor-in-echo-area t)) (read-char))))) (setq answer (if (= tem help-char) (quote help) (cdr (assoc tem (quote ((?n . yield) (?\^G . yield) (?y . proceed) (?r . revert) (?\? . help))))))) (cond ((null answer) (beep) (message "Please type y, n or r; or ? for help") (sit-for 3)) ((eq answer (quote help)) (ask-user-about-supersession-help) (setq answer nil)) ((eq answer (quote revert)) (revert-buffer nil (not (buffer-modified-p))) (signal (quote file-supersession) (list "File reverted" filename))) ((eq answer (quote yield)) (signal (quote file-supersession) (list "File changed on disk" filename)))))) (message "File on disk now will become a backup file if you save these changes.") (setq buffer-backed-up nil)))
# (unwind-protect ...)
(unwind-protect (progn (backtrace standard-output t) (let (answer) (while (null answer) (message "%s changed on disk; really edit the buffer? (y, n, r or C-h) " (file-name-nondirectory filename)) (let ((tem (downcase (let ((cursor-in-echo-area t)) (read-char))))) (setq answer (if (= tem help-char) (quote help) (cdr (assoc tem (quote ((?n . yield) (?\^G . yield) (?y . proceed) (?r . revert) (?\? . help))))))) (cond ((null answer) (beep) (message "Please type y, n or r; or ? for help") (sit-for 3)) ((eq answer (quote help)) (ask-user-about-supersession-help) (setq answer nil)) ((eq answer (quote revert)) (revert-buffer nil (not (buffer-modified-p))) (signal (quote file-supersession) (list "File reverted" filename))) ((eq answer (quote yield)) (signal (quote file-supersession) (list "File changed on disk" filename)))))) (message "File on disk now will become a backup file if you save these changes.") (setq buffer-backed-up nil))) (set-window-configuration G62625))
# bind (G62625)
(let ((G62625 (current-window-configuration))) (unwind-protect (progn (backtrace standard-output t) (let (answer) (while (null answer) (message "%s changed on disk; really edit the buffer? (y, n, r or C-h) " (file-name-nondirectory filename)) (let ((tem (downcase (let ((cursor-in-echo-area t)) (read-char))))) (setq answer (if (= tem help-char) (quote help) (cdr (assoc tem (quote ((?n . yield) (?\^G . yield) (?y . proceed) (?r . revert) (?\? . help))))))) (cond ((null answer) (beep) (message "Please type y, n or r; or ? for help") (sit-for 3)) ((eq answer (quote help)) (ask-user-about-supersession-help) (setq answer nil)) ((eq answer (quote revert)) (revert-buffer nil (not (buffer-modified-p))) (signal (quote file-supersession) (list "File reverted" filename))) ((eq answer (quote yield)) (signal (quote file-supersession) (list "File changed on disk" filename)))))) (message "File on disk now will become a backup file if you save these changes.") (setq buffer-backed-up nil)))!
(set-window-configuration G62625)))
(save-window-excursion (backtrace standard-output t) (let (answer) (while (null answer) (message "%s changed on disk; really edit the buffer? (y, n, r or C-h) " (file-name-nondirectory filename)) (let ((tem (downcase (let ((cursor-in-echo-area t)) (read-char))))) (setq answer (if (= tem help-char) (quote help) (cdr (assoc tem (quote ((?n . yield) (?\^G . yield) (?y . proceed) (?r . revert) (?\? . help))))))) (cond ((null answer) (beep) (message "Please type y, n or r; or ? for help") (sit-for 3)) ((eq answer (quote help)) (ask-user-about-supersession-help) (setq answer nil)) ((eq answer (quote revert)) (revert-buffer nil (not (buffer-modified-p))) (signal (quote file-supersession) (list "File reverted" filename))) ((eq answer (quote yield)) (signal (quote file-supersession) (list "File changed on disk" filename)))))) (message "File on disk now will become a backup file if you save these changes.") (setq buffer-backed-up nil)))
# bind (filename)
ask-user-about-supersession-threat-minibuf("/home/aidan/.irc/logs/#linguistics!kehoea@irc.freenode.net:7000.txt")
# bind (filename)
ask-user-about-supersession-threat("/home/aidan/.irc/logs/#linguistics!kehoea@irc.freenode.net:7000.txt")
# (unwind-protect ...)
write-region-internal(15331 15446 "/home/aidan/.irc/logs/#linguistics!kehoea@irc.freenode.net:7000.txt" t nomessage nil escape-quoted)
# bind (func coding-system lockname visit append filename end start)
write-region(15331 15446 "/home/aidan/.irc/logs/#linguistics!kehoea@irc.freenode.net:7000.txt" t nomessage)
# (unwind-protect ...)
# (unwind-protect ...)
# (unwind-protect ...)
# bind (file coding-system-for-write buffer)
erc-save-buffer-in-logs()
run-hooks(erc-save-buffer-in-logs)
# (unwind-protect ...)
# (unwind-protect ...)
# (unwind-protect ...)
# bind (string buffer-undo-list inhibit-read-only insert-position)
# (unwind-protect ...)
# bind (buffer string)
erc-display-line-1("*** }{obbes (n=pinnerup(a)ip247.rev112.brygge.net) has quit: Read error: 110 (Connection timed out)" #<buffer "#linguistics">)
# bind (--dolist-temp--12738 buf inhibit-point-motion-hooks new-bufs buffer string)
erc-display-line("*** }{obbes (n=pinnerup(a)ip247.rev112.brygge.net) has quit: Read error: 110 (Connection timed out)" (#<buffer "#linguistics">))
# bind (string args msg buffer type parsed)
erc-display-message([cl-struct-erc-response ":}{obbes!n=pinnerup@ip247.rev112.brygge.net QUIT :Read error: 110 (Connection timed out)" "}{obbes!n=pinnerup(a)ip247.rev112.brygge.net" "QUIT" ("Read error: 110 (Connection timed out)") "Read error: 110 (Connection timed out)"] notice (#<buffer "#linguistics">) QUIT ?n "}{obbes" ?u "n=pinnerup" ?h "ip247.rev112.brygge.net" ?r "Read error: 110 (Connection timed out)")
# bind (host login nick G13502 reason bufs parsed proc)
erc-server-QUIT(#<network connection "erc-irc.freenode.net-7000" (7000 . "irc.freenode.net") state:run> [cl-struct-erc-response ":}{obbes!n=pinnerup@ip247.rev112.brygge.net QUIT :Read error: 110 (Connection timed out)" "}{obbes!n=pinnerup(a)ip247.rev112.brygge.net" "QUIT" ("Read error: 110 (Connection timed out)") "Read error: 110 (Connection timed out)"])
run-hook-with-args-until-success(erc-server-QUIT #<network connection "erc-irc.freenode.net-7000" (7000 . "irc.freenode.net") state:run> [cl-struct-erc-response ":}{obbes!n=pinnerup@ip247.rev112.brygge.net QUIT :Read error: 110 (Connection timed out)" "}{obbes!n=pinnerup(a)ip247.rev112.brygge.net" "QUIT" ("Read error: 110 (Connection timed out)") "Read error: 110 (Connection timed out)"])
# bind (hook message process)
erc-call-hooks(#<network connection "erc-irc.freenode.net-7000" (7000 . "irc.freenode.net") state:run> [cl-struct-erc-response ":}{obbes!n=pinnerup@ip247.rev112.brygge.net QUIT :Read error: 110 (Connection timed out)" "}{obbes!n=pinnerup(a)ip247.rev112.brygge.net" "QUIT" ("Read error: 110 (Connection timed out)") "Read error: 110 (Connection timed out)"])
# bind (parsed-response process)
erc-handle-parsed-server-response(#<network connection "erc-irc.freenode.net-7000" (7000 . "irc.freenode.net") state:run> [cl-struct-erc-response ":}{obbes!n=pinnerup@ip247.rev112.brygge.net QUIT :Read error: 110 (Connection timed out)" "}{obbes!n=pinnerup(a)ip247.rev112.brygge.net" "QUIT" ("Read error: 110 (Connection timed out)") "Read error: 110 (Connection timed out)"])
# bind (posn msg)
# (unwind-protect ...)
# bind (match-data string proc)
erc-parse-server-response(#<network connection "erc-irc.freenode.net-7000" (7000 . "irc.freenode.net") state:run> ":}{obbes!n=pinnerup@ip247.rev112.brygge.net QUIT :Read error: 110 (Connection timed out)")
# bind (line erc-server-processing-p)
# (unwind-protect ...)
# bind (string process)
erc-server-filter-function(#<network connection "erc-irc.freenode.net-7000" (7000 . "irc.freenode.net") state:run> ":}{obbes!n=pinnerup@ip247.rev112.brygge.net QUIT :Read error: 110 (Connection timed out)\n")
# (condition-case ... . error)
# (catch top-level ...)
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-patches
[COMMIT] Provide x-resource, msprinter as specifier tags on all builds to map-specifier
17 years, 2 months
Aidan Kehoe
Ar an cúigiú lá is fiche de mí Méan Fómhair, scríobh Ben Wing:
> Hmmm ... seems to me that the sane behavior with an unrecognized tag is
> not to match on it. that way, an instantiator tagged with "msprinter"
> will never apply on X windows, which is probably what you want.
>
> i'm not totally averse to removing the error on unknown tags. i imagine
> i put in the error on the principle that misspellings should be flagged
> rather than silently ignored ... but i wasn't considering the situation
> Aidan mentions. maybe in its place a warning could be issued, at the
> same level as current warnings about unrecognized font/color/etc
> names. (OTOH you can pretty easily define something like `msprinter'
> unilaterally in all circumstances, even on a non-MSWindows ...)
Right, I’ve done that--the misspellings point is important. Thanks for your
input!
APPROVE COMMIT
NOTE: This patch has been committed.
lisp/ChangeLog addition:
2007-09-30 Aidan Kehoe <kehoea(a)parhasard.net>
* x-faces.el:
* x-faces.el ('x-resource)): Removed.
Specifier tag moved to specifier.el to ensure availability on
non-X builds.
* specifier.el:
Provide x, tty, mswindows, msprinter, gtk and carbon as device
tags that never match on builds that don't support them.
* specifier.el ('x-resource)): New.
Moved here from x-faces.el
XEmacs Trunk source patch:
Diff command: cvs -q diff -u
Files affected: lisp/specifier.el
===================================================================
RCS lisp/x-faces.el
===================================================================
RCS
Index: lisp/x-faces.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/lisp/x-faces.el,v
retrieving revision 1.29
diff -u -r1.29 x-faces.el
--- lisp/x-faces.el 2007/06/21 13:39:11 1.29
+++ lisp/x-faces.el 2007/09/30 11:57:37
@@ -654,7 +654,11 @@
;;; result in a crash.
;; When we initialise a face from an X resource, note that we did so.
-(define-specifier-tag 'x-resource)
+;;
+;; Now in specifier.el so run-time checks for it on non-X builds don't
+;; error.
+
+; (define-specifier-tag 'x-resource)
(defun x-init-face-from-resources (face &optional locale set-anyway)
Index: lisp/specifier.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/lisp/specifier.el,v
retrieving revision 1.16
diff -u -r1.16 specifier.el
--- lisp/specifier.el 2007/04/29 11:15:04 1.16
+++ lisp/specifier.el 2007/09/30 11:57:37
@@ -605,15 +605,10 @@
;;
;; from producing an error if no X support was compiled in.
-(or (valid-specifier-tag-p 'x)
- (define-specifier-tag 'x (lambda (dev) (eq (device-type dev) 'x))))
-(or (valid-specifier-tag-p 'tty)
- (define-specifier-tag 'tty (lambda (dev) (eq (device-type dev) 'tty))))
-(or (valid-specifier-tag-p 'mswindows)
- (define-specifier-tag 'mswindows (lambda (dev)
- (eq (device-type dev) 'mswindows))))
-(or (valid-specifier-tag-p 'gtk)
- (define-specifier-tag 'gtk (lambda (dev) (eq (device-type dev) 'gtk))))
+(loop
+ for tag in '(x tty mswindows msprinter gtk carbon)
+ do (unless (valid-specifier-tag-p tag)
+ (define-specifier-tag tag #'ignore)))
;; Add special tag for use by initialization code. Code that
;; sets up default specs should use this tag. Code that needs to
@@ -622,6 +617,11 @@
;; about clobbering user settings.
(define-specifier-tag 'default)
+
+;; The x-resource specifier tag is provide so the X resource initialization
+;; code can be overridden by custom without trouble.
+
+(define-specifier-tag 'x-resource)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; "Heuristic" specifier functions ;;;
--
On the quay of the little Black Sea port, where the rescued pair came once
more into contact with civilization, Dobrinton was bitten by a dog which was
assumed to be mad, though it may only have been indiscriminating. (Saki)
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-patches
[COMMIT] Merge a CCL bugfix from GNU
17 years, 2 months
Aidan Kehoe
APPROVE COMMIT
NOTE: This patch has been committed.
Unfortunately, there are still problems provoked if you switch all the
ISO-2022 single-width coding systems to CCL. But this avoids crashing for
one of them; though further work is needed to avoid an ugly error message.
src/ChangeLog addition:
2007-09-30 Aidan Kehoe <kehoea(a)parhasard.net>
* mule-ccl.c:
* mule-ccl.c (CCL_CALL_FOR_MAP_INSTRUCTION):
* mule-ccl.c (ccl_driver):
Merge Kenichi Handa's 2004-06-12 GNU bugfix, handling EOF in
ccl_driver correctly.
XEmacs Trunk source patch:
Diff command: cvs -q diff -u
Files affected: src/mule-ccl.c
===================================================================
RCS
Index: src/mule-ccl.c
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/src/mule-ccl.c,v
retrieving revision 1.35
diff -u -r1.35 mule-ccl.c
--- src/mule-ccl.c 2007/08/28 09:49:40 1.35
+++ src/mule-ccl.c 2007/09/30 11:34:55
@@ -634,14 +634,17 @@
{ \
ccl_prog = ccl_prog_stack_struct[0].ccl_prog; \
ic = ccl_prog_stack_struct[0].ic; \
+ eof_ic = ccl_prog_stack_struct[0].eof_ic; \
} \
CCL_INVALID_CMD; \
} \
ccl_prog_stack_struct[stack_idx].ccl_prog = ccl_prog; \
ccl_prog_stack_struct[stack_idx].ic = (ret_ic); \
+ ccl_prog_stack_struct[stack_idx].eof_ic = eof_ic; \
stack_idx++; \
ccl_prog = called_ccl.prog; \
ic = CCL_HEADER_MAIN; \
+ eof_ic = XINT (ccl_prog[CCL_HEADER_EOF]); \
/* The "if (1)" prevents warning \
"end-of loop code not reached" */ \
if (1) goto ccl_repeat; \
@@ -926,6 +929,7 @@
{
Lisp_Object *ccl_prog; /* Pointer to an array of CCL code. */
int ic; /* Instruction Counter. */
+ int eof_ic; /* Instruction Counter to jump on EOF. */
};
/* For the moment, we only support depth 256 of stack. */
@@ -950,8 +954,11 @@
int stack_idx = ccl->stack_idx;
/* Instruction counter of the current CCL code. */
int this_ic = 0;
+ int eof_ic = ccl->eof_ic;
+ int eof_hit = 0;
+ static int ccl_driver_calls;
- if (ic >= ccl->eof_ic)
+ if (ic >= eof_ic)
ic = CCL_HEADER_MAIN;
if (ccl->buf_magnification ==0) /* We can't produce any bytes. */
@@ -964,6 +971,8 @@
ccl_backtrace_idx = 0;
#endif
+ ++ccl_driver_calls;
+
for (;;)
{
ccl_repeat:
@@ -1161,15 +1170,18 @@
{
ccl_prog = ccl_prog_stack_struct[0].ccl_prog;
ic = ccl_prog_stack_struct[0].ic;
+ eof_ic = ccl_prog_stack_struct[0].eof_ic;
}
CCL_INVALID_CMD;
}
ccl_prog_stack_struct[stack_idx].ccl_prog = ccl_prog;
ccl_prog_stack_struct[stack_idx].ic = ic;
+ ccl_prog_stack_struct[stack_idx].eof_ic = eof_ic;
stack_idx++;
ccl_prog = XVECTOR (XVECTOR (slot)->contents[1])->contents;
ic = CCL_HEADER_MAIN;
+ eof_ic = XINT (ccl_prog[CCL_HEADER_EOF]);
}
break;
@@ -1200,6 +1212,9 @@
stack_idx--;
ccl_prog = ccl_prog_stack_struct[stack_idx].ccl_prog;
ic = ccl_prog_stack_struct[stack_idx].ic;
+ eof_ic = ccl_prog_stack_struct[stack_idx].eof_ic;
+ if (eof_hit)
+ ic = eof_ic;
break;
}
if (src)
@@ -1398,10 +1413,32 @@
break;
ccl_read_multibyte_character_suspend:
+ if (src <= src_end && ccl->last_block)
+ {
+ /* #### Unclear when this happens. GNU use
+ CHARSET_8_BIT_CONTROL here, which we can't. */
+ if (i < 0x80)
+ {
+ reg[RRR] = LEADING_BYTE_ASCII;
+ reg[rrr] = i;
+ }
+ else if (i < 0xA0)
+ {
+ reg[RRR] = LEADING_BYTE_CONTROL_1;
+ reg[rrr] = i - 0xA0;
+ }
+ else
+ {
+ reg[RRR] = LEADING_BYTE_LATIN_ISO8859_1;
+ reg[rrr] = i & 0x7F;
+ }
+ break;
+ }
src--;
if (ccl->last_block)
{
- ic = ccl->eof_ic;
+ ic = eof_ic;
+ eof_hit = 1;
goto ccl_repeat;
}
else
--
On the quay of the little Black Sea port, where the rescued pair came once
more into contact with civilization, Dobrinton was bitten by a dog which was
assumed to be mad, though it may only have been indiscriminating. (Saki)
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-patches
[COMMIT] Sync VM to Kyle's last version
17 years, 2 months
Aidan Kehoe
APPROVE COMMIT
NOTE: This patch has been committed.
I’ve sat on this for too long. Has Robert Widhopf-Fenk got back to us about
working in the XEmacs package framework?
xemacs-packages/vm/ChangeLog addition:
2007-09-30 Aidan Kehoe <kehoea(a)parhasard.net>
* Sync to upstream version 7.19, Kyle's last version.
* Makefile (AUTHOR_VERSION): Bump. Don't do the off-by-one trick
Steve did for the last release, since our versions are too out of
sync for that to be helpful now.
XEmacs Packages source patch:
Diff command: cvs -q diff -Nu
Files affected: xemacs-packages/vm/etc/help-up.xpm
===================================================================
RCS xemacs-packages/vm/vm.texinfo
===================================================================
RCS xemacs-packages/vm/vm-version.el
===================================================================
RCS xemacs-packages/vm/vm-vars.el
===================================================================
RCS xemacs-packages/vm/vm-startup.el
===================================================================
RCS xemacs-packages/vm/vm-save.el
===================================================================
RCS xemacs-packages/vm/vm-reply.el
===================================================================
RCS xemacs-packages/vm/vm-mouse.el
===================================================================
RCS xemacs-packages/vm/vm-misc.el
===================================================================
RCS xemacs-packages/vm/vm-mime.el
===================================================================
RCS xemacs-packages/vm/vm-menu.el
===================================================================
RCS xemacs-packages/vm/vm-crypto.el
===================================================================
RCS xemacs-packages/vm/Makefile
===================================================================
RCS
Index: xemacs-packages/vm/Makefile
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/vm/Makefile,v
retrieving revision 1.71
diff -u -u -r1.71 Makefile
--- xemacs-packages/vm/Makefile 2007/09/16 13:07:37 1.71
+++ xemacs-packages/vm/Makefile 2007/09/30 11:25:37
@@ -18,7 +18,7 @@
# Boston, MA 02111-1307, USA.
VERSION = 7.24
-AUTHOR_VERSION = 7.17
+AUTHOR_VERSION = 7.19
MAINTAINER = Kyle Jones <kyle_jones(a)wonderworks.com>
PACKAGE = vm
PKG_TYPE = regular
Index: xemacs-packages/vm/vm-crypto.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/vm/vm-crypto.el,v
retrieving revision 1.4
diff -u -u -r1.4 vm-crypto.el
--- xemacs-packages/vm/vm-crypto.el 2003/04/01 23:41:40 1.4
+++ xemacs-packages/vm/vm-crypto.el 2007/09/30 11:25:37
@@ -187,6 +187,12 @@
(save-excursion
(setq work-buffer (vm-make-work-buffer))
(set-buffer work-buffer)
+ (if (and vm-stunnel-program-additional-configuration-file
+ (stringp vm-stunnel-program-additional-configuration-file)
+ (file-readable-p
+ vm-stunnel-program-additional-configuration-file))
+ (insert-file-contents
+ vm-stunnel-program-additional-configuration-file))
(insert "client = yes\n")
(insert "RNDfile = " vm-stunnel-random-data-file "\n")
(insert "RNDoverwrite = no\n")
Index: xemacs-packages/vm/vm-menu.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/vm/vm-menu.el,v
retrieving revision 1.15
diff -u -u -r1.15 vm-menu.el
--- xemacs-packages/vm/vm-menu.el 2003/09/03 00:43:45 1.15
+++ xemacs-packages/vm/vm-menu.el 2007/09/30 11:25:37
@@ -376,7 +376,7 @@
"---")
(list "Take Action on MIME body ..."))))
`(,@title
- ["Display as Text using Default Face"
+ ["Display as Text (in default face)"
(vm-mime-run-display-function-at-point
'vm-mime-display-body-as-text) t]
["Display using External Viewer"
@@ -416,7 +416,9 @@
["Feed to Shell Pipeline (discard output)"
(vm-mime-run-display-function-at-point
'vm-mime-pipe-body-to-queried-command-discard-output) t]
- ["Delete object" vm-delete-mime-object t])))
+ ["Attach to Message Composition Buffer"
+ vm-mime-attach-object-from-message t]
+ ["Delete" vm-delete-mime-object t])))
(defvar vm-menu-url-browser-menu
(let ((title (if (vm-menu-fsfemacs19-menus-p)
Index: xemacs-packages/vm/vm-mime.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/vm/vm-mime.el,v
retrieving revision 1.33
diff -u -u -r1.33 vm-mime.el
--- xemacs-packages/vm/vm-mime.el 2005/06/05 18:31:27 1.33
+++ xemacs-packages/vm/vm-mime.el 2007/09/30 11:25:40
@@ -2027,6 +2027,10 @@
(vm-mime-can-convert type)
(setq new-layout
(vm-mime-convert-undisplayable-layout layout)))
+ ;; a button should always go away if we're doing
+ ;; a conversion.
+ (if extent
+ (vm-set-extent-property extent 'vm-mime-disposable t))
(vm-decode-mime-layout new-layout))
(t (and extent (vm-mime-rewrite-failed-button
extent
@@ -2160,7 +2164,7 @@
(coding-system-for-read (vm-binary-coding-system))
(coding-system-for-write (vm-binary-coding-system))
(append-file t)
- process tempfile cache end suffix)
+ process tempfile cache end suffix basename)
(setq cache (get (vm-mm-layout-cache layout)
'vm-mime-display-external-generic)
process (nth 0 cache)
@@ -2192,7 +2196,10 @@
(setq suffix (vm-mime-extract-filename-suffix layout)
suffix (or suffix
(vm-mime-find-filename-suffix-for-type layout)))
- (setq tempfile (vm-make-tempfile suffix))
+ (setq basename
+ (or (vm-mime-get-disposition-parameter layout "filename")
+ (vm-mime-get-parameter layout "name")))
+ (setq tempfile (vm-make-tempfile suffix basename))
(vm-register-message-garbage-files (list tempfile))
(let ((buffer-file-type buffer-file-type)
(selective-display nil)
@@ -3090,7 +3097,8 @@
(setq o (make-overlay start (point) nil t nil))
(overlay-put o 'vm-mime-layout layout)
(overlay-put o 'vm-mime-disposable t)
- (overlay-put o 'vm-image vm-menu-fsfemacs-image-menu)
+ (if vm-use-menus
+ (overlay-put o 'vm-image vm-menu-fsfemacs-image-menu))
(save-excursion
(set-buffer (process-buffer process))
(set (make-local-variable 'vm-image-list) image-list)
@@ -3123,7 +3131,8 @@
(overlay-put o 'evaporate t)
(overlay-put o 'vm-mime-layout layout)
(overlay-put o 'vm-mime-disposable t)
- (overlay-put o 'vm-image vm-menu-fsfemacs-image-menu))))
+ (if vm-use-menus
+ (overlay-put o 'vm-image vm-menu-fsfemacs-image-menu)))))
t )
nil ))
@@ -3270,7 +3279,8 @@
(setq o (make-overlay i-start (point) nil t nil))
(overlay-put o 'vm-mime-layout layout)
(overlay-put o 'vm-mime-disposable t)
- (overlay-put o 'vm-image vm-menu-fsfemacs-image-menu)
+ (if vm-use-menus
+ (overlay-put o 'vm-image vm-menu-fsfemacs-image-menu))
(if process
(save-excursion
(set-buffer (process-buffer process))
@@ -3759,6 +3769,7 @@
(extent-at (point) nil 'vm-mime-layout))))
(defun vm-mime-run-display-function-at-point (&optional function dispose)
+ "Display the MIME object at point according to its type."
(interactive)
;; save excursion to keep point from moving. its motion would
;; drag window point along, to a place arbitrarily far from
@@ -3775,6 +3786,7 @@
e))))))
(defun vm-mime-reader-map-save-file ()
+ "Write the MIME object at point to a file."
(interactive)
;; make sure point doesn't move, we need it to stay on the tag
;; if the user wants to delete after saving.
@@ -3791,6 +3803,7 @@
file ))
(defun vm-mime-reader-map-save-message ()
+ "Save the MIME object at point to a folder."
(interactive)
;; make sure point doesn't move, we need it to stay on the tag
;; if the user wants to delete after saving.
@@ -3806,24 +3819,29 @@
(error nil))))))
(defun vm-mime-reader-map-pipe-to-command ()
+ "Pipe the MIME object at point to a shell command."
(interactive)
(vm-mime-run-display-function-at-point
'vm-mime-pipe-body-to-queried-command))
(defun vm-mime-reader-map-pipe-to-printer ()
+ "Print the MIME object at point."
(interactive)
(vm-mime-run-display-function-at-point 'vm-mime-send-body-to-printer))
(defun vm-mime-reader-map-display-using-external-viewer ()
+ "Display the MIME object at point with an external viewer."
(interactive)
(vm-mime-run-display-function-at-point
'vm-mime-display-body-using-external-viewer))
(defun vm-mime-reader-map-display-using-default ()
+ "Display the MIME object at point using the `default' face."
(interactive)
(vm-mime-run-display-function-at-point 'vm-mime-display-body-as-text))
(defun vm-mime-reader-map-display-object-as-type ()
+ "Display the MIME object at point as some other type."
(interactive)
(vm-mime-run-display-function-at-point 'vm-mime-display-object-as-type))
@@ -4292,7 +4310,8 @@
(coding-system-get
(console-tty-output-coding-system)
'alias-coding-systems))
- (console-tty-output-coding-system))))
+ (coding-system-base
+ (console-tty-output-coding-system)))))
(or (eq ourtermcs (car
(cdr
(vm-string-assoc
@@ -5052,9 +5071,9 @@
;; (t description))))))
(defun vm-delete-mime-object (&optional saved-file)
- "Deletes the contents of MIME object referred to by the MIME
-button at point. The MIME object is replaced by a text/plain
-object that briefly describes what was deleted."
+ "Delete the contents of MIME object referred to by the MIME button at point.
+The MIME object is replaced by a text/plain object that briefly
+describes what was deleted."
(interactive)
(vm-follow-summary-cursor)
(vm-select-folder-buffer)
Index: xemacs-packages/vm/vm-misc.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/vm/vm-misc.el,v
retrieving revision 1.23
diff -u -u -r1.23 vm-misc.el
--- xemacs-packages/vm/vm-misc.el 2003/09/03 00:43:45 1.23
+++ xemacs-packages/vm/vm-misc.el 2007/09/30 11:25:40
@@ -606,9 +606,9 @@
(vm-set-extent-property ee (car props) (car (cdr props)))
(setq props (cdr (cdr props))))))
-(defun vm-make-tempfile (&optional filename-suffix)
+(defun vm-make-tempfile (&optional filename-suffix proposed-filename)
(let ((modes (default-file-modes))
- (file (vm-make-tempfile-name filename-suffix)))
+ (file (vm-make-tempfile-name filename-suffix proposed-filename)))
(unwind-protect
(progn
(set-default-file-modes (vm-octal 600))
@@ -617,17 +617,38 @@
(set-default-file-modes modes))
file ))
-(defun vm-make-tempfile-name (&optional filename-suffix)
- (let ((done nil) filename)
- (while (not done)
- (setq filename (convert-standard-filename
- (expand-file-name (format "vm%d%d%s"
- vm-tempfile-counter
- (random 100000000)
- (or filename-suffix ""))
- vm-temp-file-directory))
- vm-tempfile-counter (1+ vm-tempfile-counter)
- done (not (file-exists-p filename))))
+(defun vm-make-tempfile-name (&optional filename-suffix proposed-filename)
+ (let (filename)
+ (cond ((and (stringp proposed-filename)
+ (not (file-exists-p
+ (setq filename (convert-standard-filename
+ (expand-file-name
+ proposed-filename
+ vm-temp-file-directory))))))
+ t )
+ ((stringp proposed-filename)
+ (let ((done nil))
+ (while (not done)
+ (setq filename (convert-standard-filename
+ (expand-file-name
+ (format "%d-%s"
+ vm-tempfile-counter
+ proposed-filename)
+ vm-temp-file-directory))
+ vm-tempfile-counter (1+ vm-tempfile-counter))
+ done (not (file-exists-p filename)))))
+ (t
+ (let ((done nil))
+ (while (not done)
+ (setq filename (convert-standard-filename
+ (expand-file-name
+ (format "vm%d%d%s"
+ vm-tempfile-counter
+ (random 100000000)
+ (or filename-suffix ""))
+ vm-temp-file-directory))
+ vm-tempfile-counter (1+ vm-tempfile-counter)
+ done (not (file-exists-p filename)))))))
filename ))
(defun vm-make-work-buffer (&optional name)
@@ -784,6 +805,18 @@
(if vm-fsfemacs-mule-p 'raw-text-dos 'no-conversion-dos))
(t (vm-line-ending-coding-system))))
(and work-buffer (kill-buffer work-buffer))))))
+
+(defun vm-new-folder-line-ending-coding-system ()
+ (cond ((eq vm-default-new-folder-line-ending-type nil)
+ (vm-line-ending-coding-system))
+ ((eq vm-default-new-folder-line-ending-type 'lf)
+ (if vm-fsfemacs-mule-p 'raw-text-unix 'no-conversion-unix))
+ ((eq vm-default-new-folder-line-ending-type 'crlf)
+ (if vm-fsfemacs-mule-p 'raw-text-dos 'no-conversion-dos))
+ ((eq vm-default-new-folder-line-ending-type 'cr)
+ (if vm-fsfemacs-mule-p 'raw-text-mac 'no-conversion-mac))
+ (t
+ (vm-line-ending-coding-system))))
(defun vm-collapse-whitespace ()
(goto-char (point-min))
Index: xemacs-packages/vm/vm-mouse.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/vm/vm-mouse.el,v
retrieving revision 1.10
diff -u -u -r1.10 vm-mouse.el
--- xemacs-packages/vm/vm-mouse.el 2003/04/01 23:41:41 1.10
+++ xemacs-packages/vm/vm-mouse.el 2007/09/30 11:25:41
@@ -294,6 +294,19 @@
(x-own-selection-internal 'CLIPBOARD url)))
(message "Sending URL to X Clipboard... done"))
+;; this code courtesy Thomas F. Burdick
+(defun vm-mouse-send-url-to-safari (url)
+ "Sends URL to Safari, using Apple's Open Scripting Architecture."
+ (message "Sending URL to Safari...")
+ (with-temp-buffer
+ (insert "tell application \"Safari\"\n")
+ (insert " activate\n")
+ (insert " make new document at the beginning of documents\n")
+ (insert (format " set the URL of the front document to \"%s\"\n" url))
+ (insert "end tell\n")
+ (call-process-region (point-min) (point-max) "/usr/bin/osascript"))
+ (message "Sending URL to Safari... done"))
+
(defun vm-mouse-install-mouse ()
(cond ((vm-mouse-xemacs-mouse-p)
(if (null (lookup-key vm-mode-map 'button2))
Index: xemacs-packages/vm/vm-reply.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/vm/vm-reply.el,v
retrieving revision 1.24
diff -u -u -r1.24 vm-reply.el
--- xemacs-packages/vm/vm-reply.el 2003/09/03 00:43:45 1.24
+++ xemacs-packages/vm/vm-reply.el 2007/09/30 11:25:42
@@ -494,6 +494,8 @@
(defvar select-safe-coding-system-function)
+(defvar coding-system-for-write)
+
(defun vm-mail-send ()
"Just like mail-send except that VM flags the appropriate message(s)
as replied to, forwarded, etc, if appropriate."
@@ -543,6 +545,15 @@
;;
;; also protect value of this-command from minibuffer reads
(let ((this-command this-command)
+ ;; set up coding-system-for-write so that FCC uses
+ ;; the correct coding system to save the message into
+ ;; a folder.
+ (coding-system-for-write
+ (if (stringp mail-archive-file-name)
+ (vm-get-file-line-ending-coding-system
+ mail-archive-file-name)
+ (and (boundp 'coding-system-for-write)
+ coding-system-for-write)))
;; For Emacs 21.
(mail-send-nonascii t)
(sendmail-coding-system (vm-binary-coding-system))
@@ -1298,10 +1309,16 @@
(list this-command 'composing-message))
(if (null to)
(mail-position-on-field "To"))
- (if (boundp 'post-command-idle-hook)
- (add-hook 'post-command-idle-hook
- 'vm-update-composition-buffer-name t)
- (add-hook 'post-command-hook 'vm-update-composition-buffer-name t))
+ (cond ((and vm-xemacs-p
+ (fboundp 'start-itimer)
+ (null (get-itimer "vm-rename-mail"))
+ (start-itimer "vm-rename-mail"
+ 'vm-update-composition-buffer-name
+ 1.5 1.5 t)))
+ ((and (fboundp 'run-with-idle-timer)
+ (null vm-update-composition-buffer-name-timer))
+ (setq vm-update-composition-buffer-name-timer
+ (run-with-idle-timer 1.5 t 'vm-update-composition-buffer-name))))
(run-hooks 'mail-setup-hook)))
(defun vm-reply-other-frame (count)
Index: xemacs-packages/vm/vm-save.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/vm/vm-save.el,v
retrieving revision 1.15
diff -u -u -r1.15 vm-save.el
--- xemacs-packages/vm/vm-save.el 2003/09/03 00:43:45 1.15
+++ xemacs-packages/vm/vm-save.el 2007/09/30 11:25:42
@@ -217,7 +217,9 @@
(error "Folder %s is being visited, cannot save." folder))
(let ((mlist (vm-select-marked-or-prefixed-messages count))
(coding-system-for-write
- (vm-get-file-line-ending-coding-system folder))
+ (if (file-exists-p folder)
+ (vm-get-file-line-ending-coding-system folder)
+ (vm-new-folder-line-ending-coding-system)))
(oldmodebits (and (fboundp 'default-file-modes)
(default-file-modes)))
(m nil) (count 0) folder-buffer target-type)
Index: xemacs-packages/vm/vm-startup.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/vm/vm-startup.el,v
retrieving revision 1.28
diff -u -u -r1.28 vm-startup.el
--- xemacs-packages/vm/vm-startup.el 2003/09/03 00:43:45 1.28
+++ xemacs-packages/vm/vm-startup.el 2007/09/30 11:25:42
@@ -419,7 +419,7 @@
(defun vm-mode (&optional read-only)
"Major mode for reading mail.
-This is VM 7.17.
+This is VM 7.19.
Commands:
h - summarize folder contents
@@ -515,24 +515,27 @@
that match those selectors.
M ? - partial help for mark commands
- W S - save the current window configuration to a name
- W D - delete a window configuration
- W W - apply a configuration
- W ? - help for the window configuration commands
-
- V V - visit a virtual folder (must be defined in vm-virtual-folder-alist)
- V C - create a virtual folder composed of a subset of the
- current folder's messages.
- V A - create a virtual folder containing all the messages in the current
- folder with the same author as the current message.
- V S - create a virtual folder containing all the messages in the current
- folder with the same subject as the current message.
- V X - apply the selectors of a named virtual folder to the
- messages in the current folder and create a virtual folder
- containing the selected messages.
- V M - toggle whether this virtual folder's messages mirror the
- underlying real messages' attributes.
- V ? - help for virtual folder commands
+ W - prefix for window configuration commands:
+ W S - save the current window configuration to a name
+ W D - delete a window configuration
+ W W - apply a configuration
+ W ? - help for the window configuration commands
+
+ V - prefix for virtual folder commands:
+ V V - visit a virtual folder (folder must be defined in
+ vm-virtual-folder-alist)
+ V C - create a virtual folder composed of a subset of
+ the current folder's messages.
+ V A - create a virtual folder containing all the messages in
+ the current folder with the same author as the current message.
+ V S - create a virtual folder containing all the messages in
+ the current folder with the same subject as the current message.
+ V X - apply the selectors of a named virtual folder to the messages in
+ the current folder and create a virtual folder
+ containing the selected messages.
+ V M - toggle whether this virtual folder's messages mirror the
+ underlying real messages' attributes.
+ V ? - help for virtual folder commands
C-_ - undo, special undo that retracts the most recent
changes in message attributes and labels. Expunges,
@@ -541,18 +544,23 @@
a - set message attributes
- l a - add labels to message
- l d - delete labels from message
+ l - prefix for label commands:
+ l a - add labels to message
+ l d - delete labels from message
$ - prefix for MIME commands. Position the cursor over a MIME
tag and use these keystrokes to operate on a MIME object.
- $ s - save the MIME object
- $ p - print the MIME object
- $ | - pipe the MIME object to a shell command.
+ RET - display the MIME object according to its type.
+ $ s - save the MIME object
+ $ p - print the MIME object
+ $ | - pipe the MIME object to a shell command.
$ RET - display the MIME object's text using the \"default\" face.
- $ e - display the MIME object with an external viewer.
- $ d - delete the MIME object from the message.
+ $ e - display the MIME object with an external viewer.
+ $ d - delete the MIME object from the message.
+ $ v - display the MIME object as some other type.
+ $ w - write the MIME object to a file.
+ $ a - attach the MIME object to a composition buffer.
L - reload your VM init file, ~/.vm
Index: xemacs-packages/vm/vm-vars.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/vm/vm-vars.el,v
retrieving revision 1.29
diff -u -u -r1.29 vm-vars.el
--- xemacs-packages/vm/vm-vars.el 2007/09/04 09:12:59 1.29
+++ xemacs-packages/vm/vm-vars.el 2007/09/30 11:25:45
@@ -33,7 +33,7 @@
;; hack around it!
(setq vm-faked-defcustom t)
(defmacro defgroup (&rest args) nil)
- (defmacro defcustom (var value doc &rest args)
+ (defmacro defcustom (var value doc &rest args)
(` (defvar (, var) (, value) (, doc))))))
(defgroup vm nil
@@ -116,7 +116,7 @@
(list vm-spool-files))))))
(defcustom vm-spool-files nil
- "*If non-nil this variable's value should be a list of strings
+ "*If non-nil this variable's value should be a list of strings
or a list of lists.
If the value is a list of strings, the strings should name files
@@ -213,7 +213,8 @@
You must have the ssh program installed and the variable
`vm-ssh-program' must name it in order for IMAP over SSH to
work. SSH must be able to authenticate without a password,
- which means you must be using .shosts authentication or RSA.
+ which means you must be using .shosts authentication or
+ public key user authentication.
HOST is the host name of the IMAP server.
@@ -229,8 +230,8 @@
you should have access to the maildrop. Acceptable values
are \"preauth\", \"login\" and \"cram-md5\". \"preauth\"
causes VM to skip the authentication stage of the protocol
- with the assumption that the session was authenticated some
- externally way. \"login\", tells VM to use the IMAP LOGIN
+ with the assumption that the session was authenticated in some
+ external way. \"login\", tells VM to use the IMAP LOGIN
command for authentication, which sends your username and
password in cleartext to the server. \"cram-md5\" is a
challenge response system that convinces the server of your
@@ -499,8 +500,8 @@
Example:
(setq vm-imap-server-list
'(
- \"imap-ssl:mail.foocorp.com:993:inbox:login:becky:*\"
- \"imap:crickle.lex.ky.us:143:inbox:login:becky:*\"
+ \"imap-ssl:mail.foocorp.com:993:inbox:login:becky:*\"
+ \"imap:crickle.lex.ky.us:143:inbox:login:becky:*\"
)
)"
:type '(repeat string))
@@ -597,8 +598,26 @@
setting the variable `vm-default-From_-folder-type' to either From_
or BellFrom_."
:type '(choice (const From_)
- (const BellFrom_)))
+ (const BellFrom_)))
+(defcustom vm-default-new-folder-line-ending-type nil
+ "*Value must be a symbol that specifies the line ending convention
+to use for new folders. Text files under UNIXish and Windows
+systems use different characters to indicate the end of a line.
+UNIXish systems use a single linefeed character, Windows uses a
+carriage return followed by a line feed. The value of this
+variable tells VM which to use.
+
+`nil' means use the line ending convention of the local system;
+CRLF if you're on a Windows system, LF for UNIXish systems.
+`crlf' means use CRLF.
+`lf' mean use LF.
+`cr' means use CR (old Macs use this)."
+:type '(choice (const nil)
+ (const crlf)
+ (const cr)
+ (const lf)))
+
(defcustom vm-check-folder-types t
"*Non-nil value causes VM to check folder and message types for
compatibility before it performs certain operations.
@@ -660,7 +679,7 @@
`vm-invisible-header-regexp'. In this case `vm-visible-headers'
specifies the order in which headers are displayed. Headers not
matching `vm-visible-headers' are displayed last."
-:type '(repeat regexp))
+:type '(list regexp))
(defcustom vm-invisible-header-regexp nil
"*Non-nil value should be a regular expression that tells what headers
@@ -718,7 +737,7 @@
A value of t causes VM to display as much of the message as will
fit in the window associated with the folder buffer.
-A nil value causes VM not to preview messages; no text lines are hidden and
+A nil value causes VM not to preview messages; no text lines are hidden and
messages are immediately flagged as read."
:type '(choice boolean integer))
@@ -968,11 +987,11 @@
(setq vm-mime-external-content-types-alist
'(
- (\"text/html\" \"netscape\")
- (\"image/gif\" \"xv\")
- (\"image/jpeg\" \"xv\")
- (\"video/mpeg\" \"mpeg_play\")
- (\"video\" \"xanim\")
+ (\"text/html\" \"netscape\")
+ (\"image/gif\" \"xv\")
+ (\"image/jpeg\" \"xv\")
+ (\"video/mpeg\" \"mpeg_play\")
+ (\"video\" \"xanim\")
)
)
@@ -1272,7 +1291,7 @@
((TYPE . FORMAT) (TYPE . FORMAT) ...)
-The list is searched sequentially and the FORMAT corresponding to
+The list is searched sequentially and the FORMAT corresponding to
the first TYPE that matches the type of the button's object is
used.
@@ -1307,7 +1326,7 @@
s - an empty string if %n would display \"1\", otherwise
\"s\".
t - the content type of the object, e.g. \"text/enriched\".
- T - for message/partial objects, the total number of expected
+ T - for message/partial objects, the total number of expected
parts. \"?\" is displayed if the object doesn't specify
the total number of parts expected.
x - the content type of the external body of a message/external-body
@@ -1316,7 +1335,7 @@
the field width and precision for the concatentation of
group of format specifiers. Example: \"%.35(%d, %t, %f%)\"
specifies a maximum display width of 35 characters for the
- concatenation of the content description, content type and
+ concatenation of the content description, content type and
suggested file name.
) - ends a group.
@@ -1406,8 +1425,8 @@
("\\.tiff?$" . "image/tiff")
("\\.html?$" . "text/html")
("\\.au$" . "audio/basic")
- ("\\.mpe?g$" . "video/mpeg")
- ("\\.mov$" . "video/quicktime")
+ ("\\.mpe?g$" . "video/mpeg")
+ ("\\.mov$" . "video/quicktime")
("\\.e?ps$" . "application/postscript")
("\\.pdf$" . "application/pdf")
("\\.xls$" . "application/vnd.ms-excel")
@@ -1415,7 +1434,7 @@
("\\.ppt$" . "application/vnd.ms-powerpoint")
)
"*Alist used to guess a MIME content type based on a file name.
-The list format is
+The list format is
((REGEXP . TYPE) ...)
@@ -1450,7 +1469,7 @@
("application/zip" . ".zip")
)
"*Alist used to select a filename suffix for MIME object temporary files.
-The list format is
+The list format is
((TYPE . SUFFIX) ...)
@@ -1839,16 +1858,16 @@
The recognized SELECTORs are:
author - matches message if ARG matches the author; ARG should be a
- regular expression.
+ regular expression.
author-or-recipient
- matches message if ARG matches the author of
the message or any of its recipients; ARG
should be a regular expression.
and - matches the message if all its argument
- selectors match the message. Example:
- (and (author \"Derek McGinty\") (new))
- matches all new messages from Derek McGinty.
- `and' takes any number of arguments.
+ selectors match the message. Example:
+ (and (author \"Derek McGinty\") (new))
+ matches all new messages from Derek McGinty.
+ `and' takes any number of arguments.
any - matches any message.
deleted - matches message if it is flagged for deletion.
edited - matches message if it has been edited.
@@ -1856,60 +1875,60 @@
forwarded - matches message if it has been forwarded using
a variant of `vm-forward-message' or `vm-send-digest'.
header - matches message if ARG matches any part of the header
- portion of the message; ARG should be a
- regular expression.
+ portion of the message; ARG should be a
+ regular expression.
header-or-text - matches message if ARG matches any part of the
headers or the text portion of the message;
ARG should be a regular expression.
label - matches message if message has a label named ARG.
less-chars-than - matches message if message has less than ARG
- characters. ARG should be a number.
+ characters. ARG should be a number.
less-lines-than - matches message if message has less than ARG
- lines. ARG should be a number.
+ lines. ARG should be a number.
more-chars-than - matches message if message has more than ARG
- characters. ARG should be a number.
+ characters. ARG should be a number.
more-lines-than - matches message if message has more than ARG
- lines. ARG should be a number.
+ lines. ARG should be a number.
marked - matches message if it is marked, as with `vm-mark-message'.
new - matches message if it is new.
not - matches message only if its selector argument
- does NOT match the message. Example:
- (not (deleted))
- matches messages that are not deleted.
+ does NOT match the message. Example:
+ (not (deleted))
+ matches messages that are not deleted.
or - matches the message if any of its argument
- selectors match the message. Example:
- (or (author \"Dave Weckl\") (subject \"drum\"))
- matches messages from Dave Weckl or messages
- with the word \"drum\" in their Subject header.
- `or' takes any number of arguments.
+ selectors match the message. Example:
+ (or (author \"Dave Weckl\") (subject \"drum\"))
+ matches messages from Dave Weckl or messages
+ with the word \"drum\" in their Subject header.
+ `or' takes any number of arguments.
read - matches message if it is neither new nor unread.
recent - matches message if it is new.
recipient - matches message if ARG matches any part of the recipient
- list of the message. ARG should be a regular expression.
+ list of the message. ARG should be a regular expression.
redistributed - matches message if it has been redistributed using
`vm-resend-message'.
replied - matches message if it has been replied to.
sent-after - matches message if it was sent after the date ARG.
- A fully specified date looks like this:
- \"31 Dec 1999 23:59:59 GMT\"
- although the parts can appear in any order.
- You can leave out any part and it will
- default to the current date's value for that
- part, with the exception of the hh:mm:ss
- part which defaults to midnight.
+ A fully specified date looks like this:
+ \"31 Dec 1999 23:59:59 GMT\"
+ although the parts can appear in any order.
+ You can leave out any part and it will
+ default to the current date's value for that
+ part, with the exception of the hh:mm:ss
+ part which defaults to midnight.
sent-before - matches message if it was sent before the date ARG.
- A fully specified date looks like this:
- \"31 Dec 1999 23:59:59 GMT\"
- although the parts can appear in any order.
- You can leave out any part and it will
- default to the current date's value for that
- part, with the exception of the hh:mm:ss
- part which defaults to midnight.
+ A fully specified date looks like this:
+ \"31 Dec 1999 23:59:59 GMT\"
+ although the parts can appear in any order.
+ You can leave out any part and it will
+ default to the current date's value for that
+ part, with the exception of the hh:mm:ss
+ part which defaults to midnight.
subject - matches message if ARG matches any part of the message's
- subject; ARG should be a regular expression.
+ subject; ARG should be a regular expression.
text - matches message if ARG matches any part of the text
- portion of the message; ARG should be a
- regular expression.
+ portion of the message; ARG should be a
+ regular expression.
unanswered - matches message if it has not been replied to.
Same as the `unreplied' selector.
undeleted - matches message if it has not been deleted.
@@ -2191,7 +2210,7 @@
:type 'boolean)
(defcustom vm-digest-preamble-format "\"%s\" (%F)"
- "*String which specifies the format of the preamble lines generated by
+ "*String which specifies the format of the preamble lines generated by
`vm-send-digest' when it is invoked with a prefix argument. One
line will be generated for each message put into the digest. See the
documentation for the variable `vm-summary-format' for information
@@ -2694,7 +2713,7 @@
the field width and precision for the concatentation of
group of format specifiers. Example: \"%.35(%d, %t, %f%)\"
specifies a maximum display width of 35 characters for the
- concatenation of the content description, content type and
+ concatenation of the content description, content type and
suggested file name.
) - ends a group.
@@ -2972,7 +2991,7 @@
Consider this variable experimental; it may not be supported forever."
:type 'sexp)
-(defcustom vm-use-menus
+(defcustom vm-use-menus
(nconc (list 'folder 'motion 'send 'mark 'label 'sort 'virtual)
(cond ((string-match ".*-.*-\\(win95\\|nt\\)" system-configuration)
nil)
@@ -3045,11 +3064,11 @@
object itself. The specification should be a list of symbols
with the following meanings
- lynx - means VM should try to use the lynx program.
- wget - means VM should try to use the wget program.
- w3m - means VM should try to use the w3m program.
+ lynx - means VM should try to use the lynx program.
+ wget - means VM should try to use the wget program.
+ w3m - means VM should try to use the w3m program.
fetch - means VM should try to use the fetch program.
- curl - means VM should try to use the curl program.
+ curl - means VM should try to use the curl program.
The list can contain all these values and VM will try them all,
but not in any particular order, except that the url-w3 method
@@ -3514,7 +3533,7 @@
:type 'hook)
(defcustom vm-mime-display-function nil
- "*If non-nil, this should name a function to be called inside
+ "*If non-nil, this should name a function to be called inside
`vm-decode-mime-message' to do the MIME display the current
message. The function is called with no arguments, and at the
time of the call the current buffer will be the `presentation'
@@ -3648,7 +3667,7 @@
:type '(repeat string))
(defcustom vm-konqueror-client-program "kfmclient"
- "*Name of program to use to issue requests to Konqueror.
+ "*Name of program to use to issue requests to Konqueror.
`vm-mouse-send-url-to-konqueror' uses this."
:type 'string)
@@ -3697,8 +3716,29 @@
(defcustom vm-stunnel-program-switches nil
"*List of command line switches to pass to stunnel.
Leave this set to nil unless you understand how VM uses stunnel
-and know that you need to change something to get stunnel working."
-:type '(repeat string))
+and know that you need to change something to get stunnel working.
+This variable is ignored if you're running stunnel version 4 or
+later versions, since those versions of stunnel are configurable
+only with a configuration file."
+:type '(list string))
+
+(defcustom vm-stunnel-program-additional-configuration-file nil
+ "*Name of a configuration file to append to the config file VM creates
+when using stunnel version 4 or later. Leave this set to nil
+unless you understand how VM uses stunnel and know that you need
+to change something to get stunnel working.
+
+For stunnel version 4 and beyond stunnel relies on a configuration
+file to tell it what to do. VM builts te ncessary configuration
+file for each instance of stunnel that it runs. If you have extra
+configuration options you want stunnel to use, put them in a file
+and set vm-stunnel-program-additional-configuration-file to the
+name of that file.
+
+This variable is ignored if you're running stunnel versions prior
+to version 4 as VM uses command line argument to control stunnel
+in those cases."
+:type 'string)
(defcustom vm-stunnel-random-data-method 'generate
"*Specifies what VM should do about sending the PRNG.
@@ -3889,7 +3929,7 @@
(define-key map "M" (make-sparse-keymap))
(define-key map "MN" 'vm-next-command-uses-marks)
(define-key map "Mn" 'vm-next-command-uses-marks)
- (define-key map "MM" 'vm-mark-message)
+ (define-key map "MM" 'vm-mark-message)
(define-key map "MU" 'vm-unmark-message)
(define-key map "Mm" 'vm-mark-all-messages)
(define-key map "Mu" 'vm-clear-all-marks)
@@ -3952,7 +3992,7 @@
(defvar vm-folders-summary-mode-map vm-mode-map
"Keymap for VM Folders Summary mode")
-(defvar vm-mail-mode-map
+(defvar vm-mail-mode-map
(let ((map (make-sparse-keymap)))
(define-key map "\C-c\C-v" vm-mode-map)
(define-key map "\C-c\C-p" 'vm-preview-composition)
@@ -3982,16 +4022,16 @@
(defvar vm-mime-reader-map
(let ((map (make-sparse-keymap)))
- (define-key map "$a" 'vm-mime-attach-object-from-message)
- (define-key map "$s" 'vm-mime-reader-map-save-message)
- (define-key map "$w" 'vm-mime-reader-map-save-file)
- (define-key map "$|" 'vm-mime-reader-map-pipe-to-command)
- (define-key map "$p" 'vm-mime-reader-map-pipe-to-printer)
+ (define-key map "\r" 'vm-mime-run-display-function-at-point)
(define-key map "$\r" 'vm-mime-reader-map-display-using-default)
- (define-key map "$d" 'vm-delete-mime-object)
(define-key map "$e" 'vm-mime-reader-map-display-using-external-viewer)
(define-key map "$v" 'vm-mime-reader-map-display-object-as-type)
- (define-key map "\r" 'vm-mime-run-display-function-at-point)
+ (define-key map "$w" 'vm-mime-reader-map-save-file)
+ (define-key map "$s" 'vm-mime-reader-map-save-message)
+ (define-key map "$p" 'vm-mime-reader-map-pipe-to-printer)
+ (define-key map "$|" 'vm-mime-reader-map-pipe-to-command)
+ (define-key map "$a" 'vm-mime-attach-object-from-message)
+ (define-key map "$d" 'vm-delete-mime-object)
(cond ((vm-mouse-xemacs-mouse-p)
(define-key map 'button3 'vm-menu-popup-mime-dispose-menu)))
(cond ((fboundp 'set-keymap-name)
@@ -4732,7 +4772,7 @@
)
))
"Alist that maps MIME character sets to MULE coding systems.")
-
+
(defvar vm-mime-mule-charset-to-charset-alist
'(
(latin-iso8859-1 "iso-8859-1")
@@ -4823,6 +4863,7 @@
(defvar vm-stunnel-random-data-file nil)
(defvar vm-stunnel-configuration-file nil)
(defvar vm-fsfemacs-cached-scroll-bar-width nil)
+(defvar vm-update-composition-buffer-name-timer nil)
(cond (vm-faked-defcustom
(fmakunbound 'defcustom)
Index: xemacs-packages/vm/vm-version.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/vm/vm-version.el,v
retrieving revision 1.28
diff -u -u -r1.28 vm-version.el
--- xemacs-packages/vm/vm-version.el 2003/09/03 00:43:45 1.28
+++ xemacs-packages/vm/vm-version.el 2007/09/30 11:25:45
@@ -1,7 +1,7 @@
;;(provide 'vm)
;;(provide 'vm-version)
-(defconst vm-version "7.17"
+(defconst vm-version "7.19"
"Version number of VM.")
(defun vm-version ()
Index: xemacs-packages/vm/vm.texinfo
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/vm/vm.texinfo,v
retrieving revision 1.12
diff -u -u -r1.12 vm.texinfo
--- xemacs-packages/vm/vm.texinfo 2003/09/03 00:43:45 1.12
+++ xemacs-packages/vm/vm.texinfo 2007/09/30 11:25:47
@@ -35,7 +35,7 @@
@sp 6
@center @titlefont{VM User's Manual}
@sp 4
-@center VM Version 7.17
+@center VM Version 7.19
@sp 5
@center Kyle E. Jones
@center @t{kyle_jones@(a)wonderworks.com}
Index: xemacs-packages/vm/etc/help-up.xpm
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/vm/etc/help-up.xpm,v
retrieving revision 1.3
diff -u -u -r1.3 help-up.xpm
--- xemacs-packages/vm/etc/help-up.xpm 1998/07/10 09:19:15 1.3
+++ xemacs-packages/vm/etc/help-up.xpm 2007/09/30 11:25:47
@@ -4,7 +4,7 @@
"X c Gray75 s backgroundToolBarColor",
", c black s foregroundToolBarColor",
"i c Gray20",
-"@ c rgb:ff/7f/ff",
+"@ c rgb:e1/92/46",
"T c red",
"t c pink",
"o c black",
--
On the quay of the little Black Sea port, where the rescued pair came once
more into contact with civilization, Dobrinton was bitten by a dog which was
assumed to be mad, though it may only have been indiscriminating. (Saki)
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-patches
[C pkgs (vc)]: [Bug: 21.4.18] can't check in SCCS file with new vc
17 years, 2 months
Ville Skyttä
COMMIT
On Saturday 22 September 2007, Ville Skyttä wrote:
> On Saturday 22 September 2007, Mike Kupfer wrote:
> > I have a file that is under SCCS control and checked out. When I visit
> > it, the modeline indicates that the file is SCCS-controlled and checked
> > out. If I try to check in the file using C-x v v, I get this error:
> >
> > ERROR [SCCS/s.build-intel]: writable `build-intel' exists (ge4)
>
> [...]
>
> > I used edebug to see what vc-sccs-lock-file is doing. "file" is
> > "/home/kupfer/src/lib.local/build-intel". "master" becomes
> > "/home/kupfer/src/lib.local/SCCS/s.build-intel". These both look okay.
> >
> > (replace-match "p." t t master 2) produces "p.". Aha!
> >
> > It looks like the replace-match sexp needs help.
>
> Thanks for the analysis, Mike! Actually, I don't think we can sanely use
> replace-match in this case at all.
>
> Could you test the attached patch - I don't have means to test actual SCCS
> nor do I know a thing about it, but with your test data:
>
> (let ((master "/home/kupfer/src/lib.local/SCCS/s.build-intel"))
> (and
> master
> (string-match "\\(.*/\\)\\(s\\.\\)\\(.*\\)" master)
> (concat (match-string 1 master) "p." (match-string 3 master))))
> "/home/kupfer/src/lib.local/SCCS/p.build-intel"
I've committed the mentioned patch.
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-patches
[C] xemacs-builds: Add ftp.cn.xemacs.org to ftp-only exceptions
17 years, 3 months
Adrian Aichner
COMMIT
xemacs-builds ChangeLog patch:
Diff command: cvs -q diff -U 0
Files affected: ChangeLog
Index: ChangeLog
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs-builds/ChangeLog,v
retrieving revision 1.81
diff -u -U0 -r1.81 ChangeLog
--- ChangeLog 25 Sep 2007 21:31:28 -0000 1.81
+++ ChangeLog 26 Sep 2007 20:53:03 -0000
@@ -0,0 +1,6 @@
+2007-09-26 Adrian Aichner <adrian(a)xemacs.org>
+
+ * adrian/website/package-get-2-download-sites.el
+ (package-get-2-download-sites-ftp-only-regexp): Change
+ ftp.cn.postgresql.org to ftp.cn.xemacs.org.
+
xemacs-builds source patch:
Diff command: cvs -f -z3 -q diff -u -w -N
Files affected: adrian/website/package-get-2-download-sites.el
===================================================================
RCS
Index: adrian/website/package-get-2-download-sites.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs-builds/adrian/website/package-get-2-download-sites.el,v
retrieving revision 1.14
diff -u -w -r1.14 package-get-2-download-sites.el
--- adrian/website/package-get-2-download-sites.el 25 Sep 2007 21:31:29 -0000 1.14
+++ adrian/website/package-get-2-download-sites.el 26 Sep 2007 20:52:09 -0000
@@ -27,7 +27,7 @@
(defconst package-get-2-download-sites-ftp-only-regexp
(regexp-opt
'(
- "ftp.cn.postgresql.org"
+ "ftp.cn.xemacs.org"
"ftp.nrc.ca"
"ftp.pasteur.fr"
"mirror.cict.fr"
--
Adrian Aichner
mailto:adrian@xemacs.org
http://www.xemacs.org/
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-patches