[AC web] update Created by XEmacs list
15 years, 6 months
Stephen J. Turnbull
APPROVE COMMIT web
Index: About/ChangeLog
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacsweb/About/ChangeLog,v
retrieving revision 1.225
diff -u -r1.225 ChangeLog
--- About/ChangeLog 14 Aug 2008 09:25:33 -0000 1.225
+++ About/ChangeLog 15 Jun 2009 17:20:15 -0000
@@ -0,0 +1,5 @@
+2009-06-16 Stephen J. Turnbull <stephen(a)xemacs.org>
+
+ * created.content: Add Statistic4U. Comment out SourceForge site,
+ which is broken.
+
Index: About/created.content
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacsweb/About/created.content,v
retrieving revision 1.93
diff -u -r1.93 created.content
--- About/created.content 24 Jun 2008 06:08:28 -0000 1.93
+++ About/created.content 15 Jun 2009 17:20:15 -0000
@@ -24,7 +24,9 @@
<h1><a name="list">Sites that have been Created with XEmacs</a></h1>
<ul>
<li><a href="http://www.xemacs.org">Official XEmacs Website</a></li>
- <li><a href="http://xemacs.sourceforge.net">New XEmacs Website Under Construction</a></li>
+ <!-- No longer being updated. -->
+ <!-- <li><a href="http://xemacs.sourceforge.net">New XEmacs Website Under Construction</a></li> -->
<li><a href="http://genehack.org">GeneHack</a></li>
<li><a href="http://www.interhack.net/">interhack</a></li>
<li><a href="http://www.cad.polito.it/">Electronic CAD & Reliability Group</a></li>
@@ -331,8 +333,8 @@
<a href="http://www.schrijftraining.net/">schrijftraining.net</a></li>
<li>
<a href="http://investir.robien.free.fr/ ">Loi de Robien - Déclaration 2044 Spéciale - Site non commercial</a></li>
- <li>
- <a href="http://www.michaelgoldschmidt.eu/">MichaelGoldschmidt.eu</a></li>
+ <li><a href="http://www.michaelgoldschmidt.eu/">MichaelGoldschmidt.eu</a></li>
+ <li><a href="http://www.statistic4u.de/">Statistic4U</a> </li>
</ul>
<!--
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-patches
Re: [COMMIT] Support #'function-arglist with built-in special forms.
15 years, 6 months
Aidan Kehoe
Ar an cúigiú lá déag de mí Meitheamh, scríobh Stephen J. Turnbull:
> Aidan Kehoe writes:
>
> > @@ -3104,7 +3104,7 @@
> > pity, thereby invalidating your code.
> > */
> > (variable, handler_type, handler, harg,
> > - UNUSED (keep_existing)))
> > + UNUSED (keep_existing )))
>
> What's this? Syntacticly significant whitespace? <wink>
You’re sharp today, Stephen!
Unfortunately, actually, for my purposes, it’s not. If you look in any DOC
file and search for dontusethis-set-symbol-value-handler, the argument list
looks like so:
arguments: (VARIABLE HANDLER-TYPE HANDLER &optional HARG \
KEEP-EXISTING))
That is, there’s an extra right-parenthesis added after KEEP-EXISTING. I
thought initially that this was a formatting quirk with d-s-s-v-h, and my
experiment to see if this was the case made it into the commit when it
shouldn’t have. It looks on closer examination as if it’s a bug in
make-docfile.c.
--
¿Dónde estará ahora mi sobrino Yoghurtu Nghe, que tuvo que huir
precipitadamente de la aldea por culpa de la escasez de rinocerontes?
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-patches
commit: Don't rely on GDB understanding the Lisp_Type_{Record, Char} enums, gdbinit.in
15 years, 6 months
Aidan Kehoe
changeset: 4643:e9ccbc62f7e7
tag: tip
user: Aidan Kehoe <kehoea(a)parhasard.net>
date: Sun Jun 14 16:08:22 2009 +0100
files: etc/ChangeLog etc/gdbinit.in
description:
Don't rely on GDB understanding the Lisp_Type_{Record,Char} enums, gdbinit.in
2009-06-14 Aidan Kehoe <kehoea(a)parhasard.net>
* gdbinit.in:
Supply variables for the Lisp_Type_Record, Lisp_Type_Char
type information, for the sake of various versions of GDB that
can't take them from the enum vals in the executable. Use those
variables instead of the enums.
diff -r 48b45a606961 -r e9ccbc62f7e7 etc/ChangeLog
--- a/etc/ChangeLog Sun Jun 14 15:07:13 2009 +0100
+++ b/etc/ChangeLog Sun Jun 14 16:08:22 2009 +0100
@@ -1,3 +1,11 @@
+2009-06-14 Aidan Kehoe <kehoea(a)parhasard.net>
+
+ * gdbinit.in:
+ Supply variables for the Lisp_Type_Record, Lisp_Type_Char
+ type information, for the sake of various versions of GDB that
+ can't take them from the enum vals in the executable. Use those
+ variables instead of the enums.
+
2009-05-18 Stephen J. Turnbull <stephen(a)xemacs.org>
* XEmacs 21.5.29 "garbanzo" is released.
diff -r 48b45a606961 -r e9ccbc62f7e7 etc/gdbinit.in
--- a/etc/gdbinit.in Sun Jun 14 15:07:13 2009 +0100
+++ b/etc/gdbinit.in Sun Jun 14 16:08:22 2009 +0100
@@ -71,6 +71,8 @@
#endif
set $Lisp_Type_Int = -2
+set $Lisp_Type_Record = 0
+set $Lisp_Type_Char = 2
define decode_object
set $obj = (unsigned long) $arg0
@@ -80,7 +82,7 @@
set $type = $Lisp_Type_Int
else
set $type = $obj & dbg_typemask
- if $type == Lisp_Type_Char
+ if $type == $Lisp_Type_Char
set $val = ($obj & dbg_valmask) >> dbg_gctypebits
else
## It's a record pointer
@@ -88,7 +90,7 @@
end
end
- if $type == Lisp_Type_Record
+ if $type == $Lisp_Type_Record
set $lheader = ((struct lrecord_header *) $val)
set $lrecord_type = ($lheader->type)
set $imp = ((struct lrecord_implementation *) lrecord_implementations_table[(int) $lrecord_type])
@@ -115,7 +117,7 @@
if $type == $Lisp_Type_Int
echo int\n
else
- if $type == Lisp_Type_Char
+ if $type == $Lisp_Type_Char
echo char\n
else
printf "record type: %s\n", $imp->name
@@ -264,7 +266,7 @@
if $type == $Lisp_Type_Int
printf "Integer: %d\n", $val
else
- if $type == Lisp_Type_Char
+ if $type == $Lisp_Type_Char
if $val > 32 && $val < 128
printf "Char: %c\n", $val
else
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-patches
[COMMIT] Don't rely on GDB understanding the Lisp_Type_{Record, Char} enums
15 years, 6 months
Aidan Kehoe
APPROVE COMMIT
NOTE: This patch has been committed.
This has been biting me for a long time. The Right Thing to do would be to
fix GDB instead, but I’m certainly not going to get to that, and as far as I
can see we’re certainly not going to change these values within XEmacs.
# HG changeset patch
# User Aidan Kehoe <kehoea(a)parhasard.net>
# Date 1244992102 -3600
# Node ID e9ccbc62f7e75ac885fb50bf5bcd65533791bc17
# Parent 48b45a6069619c377f5a212ff1d4ab6f19a94b64
Don't rely on GDB understanding the Lisp_Type_{Record,Char} enums, gdbinit.in
2009-06-14 Aidan Kehoe <kehoea(a)parhasard.net>
* gdbinit.in:
Supply variables for the Lisp_Type_Record, Lisp_Type_Char
type information, for the sake of various versions of GDB that
can't take them from the enum vals in the executable. Use those
variables instead of the enums.
diff -r 48b45a606961 -r e9ccbc62f7e7 etc/ChangeLog
--- a/etc/ChangeLog Sun Jun 14 15:07:13 2009 +0100
+++ b/etc/ChangeLog Sun Jun 14 16:08:22 2009 +0100
@@ -1,3 +1,11 @@
+2009-06-14 Aidan Kehoe <kehoea(a)parhasard.net>
+
+ * gdbinit.in:
+ Supply variables for the Lisp_Type_Record, Lisp_Type_Char
+ type information, for the sake of various versions of GDB that
+ can't take them from the enum vals in the executable. Use those
+ variables instead of the enums.
+
2009-05-18 Stephen J. Turnbull <stephen(a)xemacs.org>
* XEmacs 21.5.29 "garbanzo" is released.
diff -r 48b45a606961 -r e9ccbc62f7e7 etc/gdbinit.in
--- a/etc/gdbinit.in Sun Jun 14 15:07:13 2009 +0100
+++ b/etc/gdbinit.in Sun Jun 14 16:08:22 2009 +0100
@@ -71,6 +71,8 @@
#endif
set $Lisp_Type_Int = -2
+set $Lisp_Type_Record = 0
+set $Lisp_Type_Char = 2
define decode_object
set $obj = (unsigned long) $arg0
@@ -80,7 +82,7 @@
set $type = $Lisp_Type_Int
else
set $type = $obj & dbg_typemask
- if $type == Lisp_Type_Char
+ if $type == $Lisp_Type_Char
set $val = ($obj & dbg_valmask) >> dbg_gctypebits
else
## It's a record pointer
@@ -88,7 +90,7 @@
end
end
- if $type == Lisp_Type_Record
+ if $type == $Lisp_Type_Record
set $lheader = ((struct lrecord_header *) $val)
set $lrecord_type = ($lheader->type)
set $imp = ((struct lrecord_implementation *) lrecord_implementations_table[(int) $lrecord_type])
@@ -115,7 +117,7 @@
if $type == $Lisp_Type_Int
echo int\n
else
- if $type == Lisp_Type_Char
+ if $type == $Lisp_Type_Char
echo char\n
else
printf "record type: %s\n", $imp->name
@@ -264,7 +266,7 @@
if $type == $Lisp_Type_Int
printf "Integer: %d\n", $val
else
- if $type == Lisp_Type_Char
+ if $type == $Lisp_Type_Char
if $val > 32 && $val < 128
printf "Char: %c\n", $val
else
--
¿Dónde estará ahora mi sobrino Yoghurtu Nghe, que tuvo que huir
precipitadamente de la aldea por culpa de la escasez de rinocerontes?
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-patches
commit: Support #'function-arglist with built-in special forms.
15 years, 6 months
Aidan Kehoe
changeset: 4642:48b45a606961
tag: tip
user: Aidan Kehoe <kehoea(a)parhasard.net>
date: Sun Jun 14 15:07:13 2009 +0100
files: lisp/ChangeLog lisp/help.el src/ChangeLog src/eval.c src/symbols.c
description:
Support #'function-arglist with built-in special forms.
Also fix a couple of bugs in lisp/help.el.
lisp/ChangeLog addition:
2009-06-14 Aidan Kehoe <kehoea(a)parhasard.net>
* help.el (describe-function-1):
Check macro-p, not macrop, when describing whether a symbol has an
associated macro or an associated function. Relevant with
autoloaded macros.
(function-arglist):
Accept multi-line arglists in built-in functions, as found in
#'write-region-internal. #'dontusethis-set-symbol-value-handler
is still broken for other reasons.
src/ChangeLog addition:
2009-06-14 Aidan Kehoe <kehoea(a)parhasard.net>
* eval.c (For):
* eval.c (Fand):
* eval.c (Fif):
* eval.c (Fwhen):
* eval.c (Fcond):
* eval.c (Fprogn):
* eval.c (Fprog1):
* eval.c (Fprog2):
* eval.c (FletX):
* eval.c (Flet):
* eval.c (Fwhile):
* eval.c (Fdefvar):
* eval.c (Fdefconst):
* eval.c (Frun_hooks):
* eval.c (Frun_hooks_with_args):
* eval.c (Frun_hooks_with_args_until_success):
* eval.c (Frun_hooks_with_args_until_failure):
Add arguments information, understood by #'function-arglist, to
all these special forms, functions and macros. Remove the
argument information that was already there that was not
understood by #'function-arglist.
diff -r a90b63846dc4 -r 48b45a606961 lisp/ChangeLog
--- a/lisp/ChangeLog Sun Jun 07 16:47:04 2009 +0100
+++ b/lisp/ChangeLog Sun Jun 14 15:07:13 2009 +0100
@@ -1,3 +1,14 @@
+2009-06-14 Aidan Kehoe <kehoea(a)parhasard.net>
+
+ * help.el (describe-function-1):
+ Check macro-p, not macrop, when describing whether a symbol has an
+ associated macro or an associated function. Relevant with
+ autoloaded macros.
+ (function-arglist):
+ Accept multi-line arglists in built-in functions, as found in
+ #'write-region-internal. #'dontusethis-set-symbol-value-handler
+ is still broken for other reasons.
+
2009-06-07 Aidan Kehoe <kehoea(a)parhasard.net>
* code-files.el (insert-file-contents):
diff -r a90b63846dc4 -r 48b45a606961 lisp/help.el
--- a/lisp/help.el Sun Jun 07 16:47:04 2009 +0100
+++ b/lisp/help.el Sun Jun 14 15:07:13 2009 +0100
@@ -1192,9 +1192,12 @@
(let* ((doc (documentation function))
(args (and doc
(string-match
- "[\n\t ]*\narguments: ?(\\(.*\\))\n?\\'"
+ "[\n\t ]*\narguments: ?(\\([^)]*\\))\n?\\'"
doc)
- (match-string 1 doc))))
+ (match-string 1 doc)))
+ (args (and args (replace-in-string args
+ "[ ]*\\\\\n[ ]*"
+ " " t))))
;; If there are no arguments documented for the
;; subr, rather don't print anything.
(cond ((null args) t)
@@ -1402,7 +1405,7 @@
(cond
((eq 'neither macro-p)
"")
- (macrop " macro")
+ (macro-p " macro")
(t " function"))))
string)))))
(cond ((or (stringp def) (vectorp def))
diff -r a90b63846dc4 -r 48b45a606961 src/ChangeLog
--- a/src/ChangeLog Sun Jun 07 16:47:04 2009 +0100
+++ b/src/ChangeLog Sun Jun 14 15:07:13 2009 +0100
@@ -1,3 +1,27 @@
+2009-06-14 Aidan Kehoe <kehoea(a)parhasard.net>
+
+ * eval.c (For):
+ * eval.c (Fand):
+ * eval.c (Fif):
+ * eval.c (Fwhen):
+ * eval.c (Fcond):
+ * eval.c (Fprogn):
+ * eval.c (Fprog1):
+ * eval.c (Fprog2):
+ * eval.c (FletX):
+ * eval.c (Flet):
+ * eval.c (Fwhile):
+ * eval.c (Fdefvar):
+ * eval.c (Fdefconst):
+ * eval.c (Frun_hooks):
+ * eval.c (Frun_hooks_with_args):
+ * eval.c (Frun_hooks_with_args_until_success):
+ * eval.c (Frun_hooks_with_args_until_failure):
+ Add arguments information, understood by #'function-arglist, to
+ all these special forms, functions and macros. Remove the
+ argument information that was already there that was not
+ understood by #'function-arglist.
+
2009-06-02 Ron Isaacson <Ron.Isaacson(a)morganstanley.com>
* nt.c (mswindows_link): Fix off-by-one bug in mswindows_link:
diff -r a90b63846dc4 -r 48b45a606961 src/eval.c
--- a/src/eval.c Sun Jun 07 16:47:04 2009 +0100
+++ b/src/eval.c Sun Jun 14 15:07:13 2009 +0100
@@ -816,9 +816,11 @@
from interpreted code. The byte compiler turns them into bytecodes. */
DEFUN ("or", For, 0, UNEVALLED, 0, /*
-Eval args until one of them yields non-nil, then return that value.
-The remaining args are not evalled at all.
+Eval ARGS until one of them yields non-nil, then return that value.
+The remaining ARGS are not evalled at all.
If all args return nil, return nil.
+
+arguments: (&rest ARGS)
*/
(args))
{
@@ -835,9 +837,11 @@
}
DEFUN ("and", Fand, 0, UNEVALLED, 0, /*
-Eval args until one of them yields nil, then return nil.
-The remaining args are not evalled at all.
+Eval ARGS until one of them yields nil, then return nil.
+The remaining ARGS are not evalled at all.
If no arg yields nil, return the last arg's value.
+
+arguments: (&rest ARGS)
*/
(args))
{
@@ -854,10 +858,12 @@
}
DEFUN ("if", Fif, 2, UNEVALLED, 0, /*
-\(if COND THEN ELSE...): if COND yields non-nil, do THEN, else do ELSE...
+If COND yields non-nil, do THEN, else do ELSE.
Returns the value of THEN or the value of the last of the ELSE's.
THEN must be one expression, but ELSE... can be zero or more expressions.
If COND yields nil, and there are no ELSE's, the value is nil.
+
+arguments: (COND THEN &rest ELSE)
*/
(args))
{
@@ -876,8 +882,10 @@
but it helps for bootstrapping to have them ALWAYS defined. */
DEFUN ("when", Fwhen, 1, MANY, 0, /*
-\(when COND BODY...): if COND yields non-nil, do BODY, else return nil.
+If COND yields non-nil, do BODY, else return nil.
BODY can be zero or more expressions. If BODY is nil, return nil.
+
+arguments: (COND &rest BODY)
*/
(int nargs, Lisp_Object *args))
{
@@ -895,8 +903,10 @@
}
DEFUN ("unless", Funless, 1, MANY, 0, /*
-\(unless COND BODY...): if COND yields nil, do BODY, else return nil.
+If COND yields nil, do BODY, else return nil.
BODY can be zero or more expressions. If BODY is nil, return nil.
+
+arguments: (COND &rest BODY)
*/
(int nargs, Lisp_Object *args))
{
@@ -906,7 +916,7 @@
}
DEFUN ("cond", Fcond, 0, UNEVALLED, 0, /*
-\(cond CLAUSES...): try each clause until one succeeds.
+Try each clause until one succeeds.
Each clause looks like (CONDITION BODY...). CONDITION is evaluated
and, if the value is non-nil, this clause succeeds:
then the expressions in BODY are evaluated and the last one's
@@ -914,6 +924,8 @@
If no clause succeeds, cond returns nil.
If a clause has one element, as in (CONDITION),
CONDITION's value if non-nil is returned from the cond-form.
+
+arguments: (&rest CLAUSES)
*/
(args))
{
@@ -938,7 +950,9 @@
}
DEFUN ("progn", Fprogn, 0, UNEVALLED, 0, /*
-\(progn BODY...): eval BODY forms sequentially and return value of last one.
+Eval BODY forms sequentially and return value of last one.
+
+arguments: (&rest BODY)
*/
(args))
{
@@ -963,13 +977,14 @@
DEFUN ("prog1", Fprog1, 1, UNEVALLED, 0, /*
Similar to `progn', but the value of the first form is returned.
-\(prog1 FIRST BODY...): All the arguments are evaluated sequentially.
-The value of FIRST is saved during evaluation of the remaining args,
-whose values are discarded.
-*/
- (args))
-{
- /* This function can GC */
+
+All the arguments are evaluated sequentially. The value of FIRST is saved
+during evaluation of the remaining args, whose values are discarded.
+
+arguments: (FIRST &rest BODY)
+*/
+ (args))
+{
Lisp_Object val;
struct gcpro gcpro1;
@@ -988,9 +1003,11 @@
DEFUN ("prog2", Fprog2, 2, UNEVALLED, 0, /*
Similar to `progn', but the value of the second form is returned.
-\(prog2 FIRST SECOND BODY...): All the arguments are evaluated sequentially.
-The value of SECOND is saved during evaluation of the remaining args,
-whose values are discarded.
+
+All the arguments are evaluated sequentially. The value of SECOND is saved
+during evaluation of the remaining args, whose values are discarded.
+
+arguments: (FIRST SECOND &rest BODY)
*/
(args))
{
@@ -1015,11 +1032,13 @@
}
DEFUN ("let*", FletX, 1, UNEVALLED, 0, /*
-\(let* VARLIST BODY...): bind variables according to VARLIST then eval BODY.
+Bind variables according to VARLIST then eval BODY.
The value of the last form in BODY is returned.
Each element of VARLIST is a symbol (which is bound to nil)
or a list (SYMBOL VALUEFORM) (which binds SYMBOL to the value of VALUEFORM).
Each VALUEFORM can refer to the symbols already bound by this VARLIST.
+
+arguments: (VARLIST &rest BODY)
*/
(args))
{
@@ -1055,11 +1074,13 @@
}
DEFUN ("let", Flet, 1, UNEVALLED, 0, /*
-\(let VARLIST BODY...): bind variables according to VARLIST then eval BODY.
+Bind variables according to VARLIST then eval BODY.
The value of the last form in BODY is returned.
Each element of VARLIST is a symbol (which is bound to nil)
or a list (SYMBOL VALUEFORM) (which binds SYMBOL to the value of VALUEFORM).
All the VALUEFORMs are evalled before any symbols are bound.
+
+arguments: (VARLIST &rest BODY)
*/
(args))
{
@@ -1124,9 +1145,11 @@
}
DEFUN ("while", Fwhile, 1, UNEVALLED, 0, /*
-\(while TEST BODY...): if TEST yields non-nil, eval BODY... and repeat.
+If TEST yields non-nil, eval BODY... and repeat.
The order of execution is thus TEST, BODY, TEST, BODY and so on
until TEST returns nil.
+
+arguments: (TEST &rest BODY)
*/
(args))
{
@@ -1255,7 +1278,7 @@
}
DEFUN ("defvar", Fdefvar, 1, UNEVALLED, 0, /*
-\(defvar SYMBOL INITVALUE DOCSTRING): define SYMBOL as a variable.
+Define SYMBOL as a variable.
You are not required to define a variable in order to use it,
but the definition can supply documentation and an initial value
in a way that tags can recognize.
@@ -1272,6 +1295,8 @@
If INITVALUE is missing, SYMBOL's value is not set.
In lisp-interaction-mode defvar is treated as defconst.
+
+arguments: (SYMBOL &optional INITVALUE DOCSTRING)
*/
(args))
{
@@ -1310,8 +1335,7 @@
}
DEFUN ("defconst", Fdefconst, 2, UNEVALLED, 0, /*
-\(defconst SYMBOL INITVALUE DOCSTRING): define SYMBOL as a constant
-variable.
+Define SYMBOL as a constant variable.
The intent is that programs do not change this value, but users may.
Always sets the value of SYMBOL to the result of evalling INITVALUE.
If SYMBOL is buffer-local, its default value is what is set;
@@ -1325,6 +1349,8 @@
their own values for such variables before loading the library.
Since `defconst' unconditionally assigns the variable,
it would override the user's choice.
+
+arguments: (SYMBOL &optional INITVALUE DOCSTRING)
*/
(args))
{
@@ -4285,6 +4311,8 @@
To make a hook variable buffer-local, use `make-local-hook',
not `make-local-variable'.
+
+arguments: (&rest HOOKS)
*/
(int nargs, Lisp_Object *args))
{
@@ -4309,6 +4337,8 @@
To make a hook variable buffer-local, use `make-local-hook',
not `make-local-variable'.
+
+arguments: (HOOK &rest ARGS)
*/
(int nargs, Lisp_Object *args))
{
@@ -4325,6 +4355,8 @@
To make a hook variable buffer-local, use `make-local-hook',
not `make-local-variable'.
+
+arguments: (HOOK &rest ARGS)
*/
(int nargs, Lisp_Object *args))
{
@@ -4341,6 +4373,8 @@
To make a hook variable buffer-local, use `make-local-hook',
not `make-local-variable'.
+
+arguments: (HOOK &rest ARGS)
*/
(int nargs, Lisp_Object *args))
{
diff -r a90b63846dc4 -r 48b45a606961 src/symbols.c
--- a/src/symbols.c Sun Jun 07 16:47:04 2009 +0100
+++ b/src/symbols.c Sun Jun 14 15:07:13 2009 +0100
@@ -3104,7 +3104,7 @@
pity, thereby invalidating your code.
*/
(variable, handler_type, handler, harg,
- UNUSED (keep_existing)))
+ UNUSED (keep_existing )))
{
Lisp_Object valcontents;
struct symbol_value_lisp_magic *bfwd;
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-patches
[COMMIT] Support #'function-arglist with built-in special forms.
15 years, 6 months
Aidan Kehoe
APPROVE COMMIT
NOTE: This patch has been committed.
# HG changeset patch
# User Aidan Kehoe <kehoea(a)parhasard.net>
# Date 1244988433 -3600
# Node ID 48b45a6069619c377f5a212ff1d4ab6f19a94b64
# Parent a90b63846dc4fe2168958cf8b630331f03b59b1c
Support #'function-arglist with built-in special forms.
Also fix a couple of bugs in lisp/help.el.
lisp/ChangeLog addition:
2009-06-14 Aidan Kehoe <kehoea(a)parhasard.net>
* help.el (describe-function-1):
Check macro-p, not macrop, when describing whether a symbol has an
associated macro or an associated function. Relevant with
autoloaded macros.
(function-arglist):
Accept multi-line arglists in built-in functions, as found in
#'write-region-internal. #'dontusethis-set-symbol-value-handler
is still broken for other reasons.
src/ChangeLog addition:
2009-06-14 Aidan Kehoe <kehoea(a)parhasard.net>
* eval.c (For):
* eval.c (Fand):
* eval.c (Fif):
* eval.c (Fwhen):
* eval.c (Fcond):
* eval.c (Fprogn):
* eval.c (Fprog1):
* eval.c (Fprog2):
* eval.c (FletX):
* eval.c (Flet):
* eval.c (Fwhile):
* eval.c (Fdefvar):
* eval.c (Fdefconst):
* eval.c (Frun_hooks):
* eval.c (Frun_hooks_with_args):
* eval.c (Frun_hooks_with_args_until_success):
* eval.c (Frun_hooks_with_args_until_failure):
Add arguments information, understood by #'function-arglist, to
all these special forms, functions and macros. Remove the
argument information that was already there that was not
understood by #'function-arglist.
diff -r a90b63846dc4 -r 48b45a606961 lisp/ChangeLog
--- a/lisp/ChangeLog Sun Jun 07 16:47:04 2009 +0100
+++ b/lisp/ChangeLog Sun Jun 14 15:07:13 2009 +0100
@@ -1,3 +1,14 @@
+2009-06-14 Aidan Kehoe <kehoea(a)parhasard.net>
+
+ * help.el (describe-function-1):
+ Check macro-p, not macrop, when describing whether a symbol has an
+ associated macro or an associated function. Relevant with
+ autoloaded macros.
+ (function-arglist):
+ Accept multi-line arglists in built-in functions, as found in
+ #'write-region-internal. #'dontusethis-set-symbol-value-handler
+ is still broken for other reasons.
+
2009-06-07 Aidan Kehoe <kehoea(a)parhasard.net>
* code-files.el (insert-file-contents):
diff -r a90b63846dc4 -r 48b45a606961 lisp/help.el
--- a/lisp/help.el Sun Jun 07 16:47:04 2009 +0100
+++ b/lisp/help.el Sun Jun 14 15:07:13 2009 +0100
@@ -1192,9 +1192,12 @@
(let* ((doc (documentation function))
(args (and doc
(string-match
- "[\n\t ]*\narguments: ?(\\(.*\\))\n?\\'"
+ "[\n\t ]*\narguments: ?(\\([^)]*\\))\n?\\'"
doc)
- (match-string 1 doc))))
+ (match-string 1 doc)))
+ (args (and args (replace-in-string args
+ "[ ]*\\\\\n[ ]*"
+ " " t))))
;; If there are no arguments documented for the
;; subr, rather don't print anything.
(cond ((null args) t)
@@ -1402,7 +1405,7 @@
(cond
((eq 'neither macro-p)
"")
- (macrop " macro")
+ (macro-p " macro")
(t " function"))))
string)))))
(cond ((or (stringp def) (vectorp def))
diff -r a90b63846dc4 -r 48b45a606961 src/ChangeLog
--- a/src/ChangeLog Sun Jun 07 16:47:04 2009 +0100
+++ b/src/ChangeLog Sun Jun 14 15:07:13 2009 +0100
@@ -1,3 +1,27 @@
+2009-06-14 Aidan Kehoe <kehoea(a)parhasard.net>
+
+ * eval.c (For):
+ * eval.c (Fand):
+ * eval.c (Fif):
+ * eval.c (Fwhen):
+ * eval.c (Fcond):
+ * eval.c (Fprogn):
+ * eval.c (Fprog1):
+ * eval.c (Fprog2):
+ * eval.c (FletX):
+ * eval.c (Flet):
+ * eval.c (Fwhile):
+ * eval.c (Fdefvar):
+ * eval.c (Fdefconst):
+ * eval.c (Frun_hooks):
+ * eval.c (Frun_hooks_with_args):
+ * eval.c (Frun_hooks_with_args_until_success):
+ * eval.c (Frun_hooks_with_args_until_failure):
+ Add arguments information, understood by #'function-arglist, to
+ all these special forms, functions and macros. Remove the
+ argument information that was already there that was not
+ understood by #'function-arglist.
+
2009-06-02 Ron Isaacson <Ron.Isaacson(a)morganstanley.com>
* nt.c (mswindows_link): Fix off-by-one bug in mswindows_link:
diff -r a90b63846dc4 -r 48b45a606961 src/eval.c
--- a/src/eval.c Sun Jun 07 16:47:04 2009 +0100
+++ b/src/eval.c Sun Jun 14 15:07:13 2009 +0100
@@ -816,9 +816,11 @@
from interpreted code. The byte compiler turns them into bytecodes. */
DEFUN ("or", For, 0, UNEVALLED, 0, /*
-Eval args until one of them yields non-nil, then return that value.
-The remaining args are not evalled at all.
+Eval ARGS until one of them yields non-nil, then return that value.
+The remaining ARGS are not evalled at all.
If all args return nil, return nil.
+
+arguments: (&rest ARGS)
*/
(args))
{
@@ -835,9 +837,11 @@
}
DEFUN ("and", Fand, 0, UNEVALLED, 0, /*
-Eval args until one of them yields nil, then return nil.
-The remaining args are not evalled at all.
+Eval ARGS until one of them yields nil, then return nil.
+The remaining ARGS are not evalled at all.
If no arg yields nil, return the last arg's value.
+
+arguments: (&rest ARGS)
*/
(args))
{
@@ -854,10 +858,12 @@
}
DEFUN ("if", Fif, 2, UNEVALLED, 0, /*
-\(if COND THEN ELSE...): if COND yields non-nil, do THEN, else do ELSE...
+If COND yields non-nil, do THEN, else do ELSE.
Returns the value of THEN or the value of the last of the ELSE's.
THEN must be one expression, but ELSE... can be zero or more expressions.
If COND yields nil, and there are no ELSE's, the value is nil.
+
+arguments: (COND THEN &rest ELSE)
*/
(args))
{
@@ -876,8 +882,10 @@
but it helps for bootstrapping to have them ALWAYS defined. */
DEFUN ("when", Fwhen, 1, MANY, 0, /*
-\(when COND BODY...): if COND yields non-nil, do BODY, else return nil.
+If COND yields non-nil, do BODY, else return nil.
BODY can be zero or more expressions. If BODY is nil, return nil.
+
+arguments: (COND &rest BODY)
*/
(int nargs, Lisp_Object *args))
{
@@ -895,8 +903,10 @@
}
DEFUN ("unless", Funless, 1, MANY, 0, /*
-\(unless COND BODY...): if COND yields nil, do BODY, else return nil.
+If COND yields nil, do BODY, else return nil.
BODY can be zero or more expressions. If BODY is nil, return nil.
+
+arguments: (COND &rest BODY)
*/
(int nargs, Lisp_Object *args))
{
@@ -906,7 +916,7 @@
}
DEFUN ("cond", Fcond, 0, UNEVALLED, 0, /*
-\(cond CLAUSES...): try each clause until one succeeds.
+Try each clause until one succeeds.
Each clause looks like (CONDITION BODY...). CONDITION is evaluated
and, if the value is non-nil, this clause succeeds:
then the expressions in BODY are evaluated and the last one's
@@ -914,6 +924,8 @@
If no clause succeeds, cond returns nil.
If a clause has one element, as in (CONDITION),
CONDITION's value if non-nil is returned from the cond-form.
+
+arguments: (&rest CLAUSES)
*/
(args))
{
@@ -938,7 +950,9 @@
}
DEFUN ("progn", Fprogn, 0, UNEVALLED, 0, /*
-\(progn BODY...): eval BODY forms sequentially and return value of last one.
+Eval BODY forms sequentially and return value of last one.
+
+arguments: (&rest BODY)
*/
(args))
{
@@ -963,13 +977,14 @@
DEFUN ("prog1", Fprog1, 1, UNEVALLED, 0, /*
Similar to `progn', but the value of the first form is returned.
-\(prog1 FIRST BODY...): All the arguments are evaluated sequentially.
-The value of FIRST is saved during evaluation of the remaining args,
-whose values are discarded.
-*/
- (args))
-{
- /* This function can GC */
+
+All the arguments are evaluated sequentially. The value of FIRST is saved
+during evaluation of the remaining args, whose values are discarded.
+
+arguments: (FIRST &rest BODY)
+*/
+ (args))
+{
Lisp_Object val;
struct gcpro gcpro1;
@@ -988,9 +1003,11 @@
DEFUN ("prog2", Fprog2, 2, UNEVALLED, 0, /*
Similar to `progn', but the value of the second form is returned.
-\(prog2 FIRST SECOND BODY...): All the arguments are evaluated sequentially.
-The value of SECOND is saved during evaluation of the remaining args,
-whose values are discarded.
+
+All the arguments are evaluated sequentially. The value of SECOND is saved
+during evaluation of the remaining args, whose values are discarded.
+
+arguments: (FIRST SECOND &rest BODY)
*/
(args))
{
@@ -1015,11 +1032,13 @@
}
DEFUN ("let*", FletX, 1, UNEVALLED, 0, /*
-\(let* VARLIST BODY...): bind variables according to VARLIST then eval BODY.
+Bind variables according to VARLIST then eval BODY.
The value of the last form in BODY is returned.
Each element of VARLIST is a symbol (which is bound to nil)
or a list (SYMBOL VALUEFORM) (which binds SYMBOL to the value of VALUEFORM).
Each VALUEFORM can refer to the symbols already bound by this VARLIST.
+
+arguments: (VARLIST &rest BODY)
*/
(args))
{
@@ -1055,11 +1074,13 @@
}
DEFUN ("let", Flet, 1, UNEVALLED, 0, /*
-\(let VARLIST BODY...): bind variables according to VARLIST then eval BODY.
+Bind variables according to VARLIST then eval BODY.
The value of the last form in BODY is returned.
Each element of VARLIST is a symbol (which is bound to nil)
or a list (SYMBOL VALUEFORM) (which binds SYMBOL to the value of VALUEFORM).
All the VALUEFORMs are evalled before any symbols are bound.
+
+arguments: (VARLIST &rest BODY)
*/
(args))
{
@@ -1124,9 +1145,11 @@
}
DEFUN ("while", Fwhile, 1, UNEVALLED, 0, /*
-\(while TEST BODY...): if TEST yields non-nil, eval BODY... and repeat.
+If TEST yields non-nil, eval BODY... and repeat.
The order of execution is thus TEST, BODY, TEST, BODY and so on
until TEST returns nil.
+
+arguments: (TEST &rest BODY)
*/
(args))
{
@@ -1255,7 +1278,7 @@
}
DEFUN ("defvar", Fdefvar, 1, UNEVALLED, 0, /*
-\(defvar SYMBOL INITVALUE DOCSTRING): define SYMBOL as a variable.
+Define SYMBOL as a variable.
You are not required to define a variable in order to use it,
but the definition can supply documentation and an initial value
in a way that tags can recognize.
@@ -1272,6 +1295,8 @@
If INITVALUE is missing, SYMBOL's value is not set.
In lisp-interaction-mode defvar is treated as defconst.
+
+arguments: (SYMBOL &optional INITVALUE DOCSTRING)
*/
(args))
{
@@ -1310,8 +1335,7 @@
}
DEFUN ("defconst", Fdefconst, 2, UNEVALLED, 0, /*
-\(defconst SYMBOL INITVALUE DOCSTRING): define SYMBOL as a constant
-variable.
+Define SYMBOL as a constant variable.
The intent is that programs do not change this value, but users may.
Always sets the value of SYMBOL to the result of evalling INITVALUE.
If SYMBOL is buffer-local, its default value is what is set;
@@ -1325,6 +1349,8 @@
their own values for such variables before loading the library.
Since `defconst' unconditionally assigns the variable,
it would override the user's choice.
+
+arguments: (SYMBOL &optional INITVALUE DOCSTRING)
*/
(args))
{
@@ -4285,6 +4311,8 @@
To make a hook variable buffer-local, use `make-local-hook',
not `make-local-variable'.
+
+arguments: (&rest HOOKS)
*/
(int nargs, Lisp_Object *args))
{
@@ -4309,6 +4337,8 @@
To make a hook variable buffer-local, use `make-local-hook',
not `make-local-variable'.
+
+arguments: (HOOK &rest ARGS)
*/
(int nargs, Lisp_Object *args))
{
@@ -4325,6 +4355,8 @@
To make a hook variable buffer-local, use `make-local-hook',
not `make-local-variable'.
+
+arguments: (HOOK &rest ARGS)
*/
(int nargs, Lisp_Object *args))
{
@@ -4341,6 +4373,8 @@
To make a hook variable buffer-local, use `make-local-hook',
not `make-local-variable'.
+
+arguments: (HOOK &rest ARGS)
*/
(int nargs, Lisp_Object *args))
{
diff -r a90b63846dc4 -r 48b45a606961 src/symbols.c
--- a/src/symbols.c Sun Jun 07 16:47:04 2009 +0100
+++ b/src/symbols.c Sun Jun 14 15:07:13 2009 +0100
@@ -3104,7 +3104,7 @@
pity, thereby invalidating your code.
*/
(variable, handler_type, handler, harg,
- UNUSED (keep_existing)))
+ UNUSED (keep_existing )))
{
Lisp_Object valcontents;
struct symbol_value_lisp_magic *bfwd;
--
¿Dónde estará ahora mi sobrino Yoghurtu Nghe, que tuvo que huir
precipitadamente de la aldea por culpa de la escasez de rinocerontes?
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-patches
VC patches for Issue 491
15 years, 6 months
Rodney Sparapani
There was an acknowledge, but no commit message for the
last patch (or is 9 days not long enough to expect some action?):
>* Michael Sperber wrote:*
>/ And, you need to define vc-dired-terse-mode some where:
/>/
/>/ --- vc-hooks.el~ Tue Mar 3 09:10:43 2009
/>/ +++ vc-hooks.el Mon May 4 15:03:50 2009
/>/ @@ -38,6 +38,8 @@
/>/ (eval-when-compile
/>/ (require 'cl))
/>/
/>/ +(defvar vc-dired-terse-mode nil)
/>/ +
/>/ ;; Customization Variables (the rest is in vc.el)
/>/
/>/ (defvar vc-ignore-vc-files nil)
/>//
> OK with me - I can apply it, but Ville (cc'ed) is probably a better
> person to do it. Ville?
--
Rodney Sparapani Center for Patient Care & Outcomes Research (PCOR)
Sr. Biostatistician http://www.mcw.edu/pcor
4 wheels good, 2 wheels better! Medical College of Wisconsin (MCW)
WWLD?: What Would Lombardi Do? Milwaukee, WI, USA
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-patches
commit: Set buffer-file-coding-system more sensibly with zero-length files.
15 years, 6 months
Aidan Kehoe
changeset: 4641:a90b63846dc4
tag: tip
user: Aidan Kehoe <kehoea(a)parhasard.net>
date: Sun Jun 07 16:47:04 2009 +0100
files: lisp/ChangeLog lisp/code-files.el
description:
Set buffer-file-coding-system more sensibly with zero-length files.
lisp/ChangeLog addition:
2009-06-07 Aidan Kehoe <kehoea(a)parhasard.net>
* code-files.el (insert-file-contents):
Autodetection may return undecided as a coding system. If the file
was zero-length, this is kosher, and we should set
buffer-file-coding-system to its default; if it is not
zero-length, we still need to set b-f-c-s, but we warn that the
autodetection fails. (Ignoring that for the user, autodetection
failing is something very distinct from what we use it to mean
here.) See
http://mid.gmane.org/18986.53111.800393.660612@parhasard.net and
the related thread.
diff -r 8cef85a39d2c -r a90b63846dc4 lisp/ChangeLog
--- a/lisp/ChangeLog Sat Jun 06 17:20:21 2009 +0100
+++ b/lisp/ChangeLog Sun Jun 07 16:47:04 2009 +0100
@@ -1,3 +1,16 @@
+2009-06-07 Aidan Kehoe <kehoea(a)parhasard.net>
+
+ * code-files.el (insert-file-contents):
+ Autodetection may return undecided as a coding system. If the file
+ was zero-length, this is kosher, and we should set
+ buffer-file-coding-system to its default; if it is not
+ zero-length, we still need to set b-f-c-s, but we warn that the
+ autodetection fails. (Ignoring that for the user, autodetection
+ failing is something very distinct from what we use it to mean
+ here.) See
+ http://mid.gmane.org/18986.53111.800393.660612@parhasard.net and
+ the related thread.
+
2009-06-06 Aidan Kehoe <kehoea(a)parhasard.net>
* files.el (cd):
diff -r 8cef85a39d2c -r a90b63846dc4 lisp/code-files.el
--- a/lisp/code-files.el Sat Jun 06 17:20:21 2009 +0100
+++ b/lisp/code-files.el Sun Jun 07 16:47:04 2009 +0100
@@ -443,6 +443,13 @@
filename visit err)
(signal (car err) (cdr err))))
(setq coding-system used-codesys)
+ ;; If the file was zero-length, used-codesys is undecided. Set it to
+ ;; a more sane value.
+ (when (eq 'undecided (coding-system-type coding-system))
+ (unless (zerop (buffer-size))
+ (warn "%s: autodetection failed: setting to default."
+ (file-name-nondirectory (buffer-file-name))))
+ (setq coding-system (default-value 'buffer-file-coding-system)))
;; call any `post-read-conversion' for the coding system that
;; was used ...
(let ((func
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-patches
[PATCH] Re: coding system oddity
15 years, 6 months
Aidan Kehoe
Ar an seachtú lá de mí Meitheamh, scríobh Stephen J. Turnbull:
> Aidan Kehoe writes:
>
> > + ;; If the file was zero-length, used-codesys is undecided. Set it to
> > + ;; a more sane value.
> > + (if (eq 'undecided (coding-system-type coding-system))
> > + (setq coding-system (default-value 'buffer-file-coding-system)))
>
> Ben's original concept for the new detection mechanism was to assign
> likelihoods and pick the best of the matching coding systems.
> However, it's possible that there would be no match or a tie
> (depending on how the algorithm is tuned), in which case it might be
> natural for the result to be undecided.
>
> While this is quite unsafe currently (since our coding systems
> currently allow you to save in an incompatible coding system),
> combined with appropriate checks at save time (which we need anyway),
> a detection algorithm which produces 'undecided wouldn't be too bad.
>
> What do you think, Aidan?
The coding system value in question is set in
#'insert-file-contents-internal like so:
if (!NILP (used_codesys))
{
Fset (used_codesys,
XCODING_SYSTEM_NAME
(coding_stream_detected_coding_system (XLSTREAM (stream))));
}
It may be that coding_stream_detected_coding_system *should* never give
undecided, even if no data have been seen, in which case the correct thing
to do to fix this bug is to change coding_stream_detected_coding_system to
do that.
It may also be that undecided is a reasonable value there. It’s just not
clear, and my patch as written is minimally invasive and fixes the issue.
Your warning below risks having people think that autodetection succeeding
means that the characters in the buffer reflect what whoever wrote the
octets to disk meant them to mean, which is not true, our autodetection gets
things wrong all the time.
> If that logic is reasonable, then changing the comment above to "Some
> buffers may remain 'undecided (eg, zero-length files). Set it to a
> more sane value." would be a good idea.
>
> If it isn't, the code should look like
>
> (when (eq 'undecided (coding-system-type coding-system))
> (unless (= 0 (buffer-size))
> (warn "Autodetection failed: setting to default."))
> (setq coding-system (default-value 'buffer-file-coding-system)))
--
¿Dónde estará ahora mi sobrino Yoghurtu Nghe, que tuvo que huir
precipitadamente de la aldea por culpa de la escasez de rinocerontes?
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-patches
[PATCH] Re: coding system oddity
15 years, 6 months
Aidan Kehoe
Ar an cúigiú lá de mí Meitheamh, scríobh Stephen J. Turnbull:
> Richard Zidlicky writes:
>
> > is this expected behaviour? Tested with 21.5.28 and 21.5.29
>
> > rm -f xx.txt; gnuclient xx.txt # -> coding system UTF8
> > rm -f xx.txt; touch xx.txt ;gnuclient xx.txt # -> coding system Auto/undecided
>
> This is not expected. It's not hard to imagine the code the leads to
> this result, but it's incorrect; we'll fix it. (I don't see a hurry,
> it may take some time. Patches welcome!) The undecided coding system
> is a sentinel, and should always be changed as the end result of
> autodetection, presumably to default-buffer-file-coding-system in the
> case
I’ve a patch below.
> > Worse yet, upon saving no sensible coding is selected --
>
> This is a different bug (a user could set buffer-file-coding-system).
> In the case of buffer-file-coding-system(-for-write) being 'undecided
> or similar, the writer function (output might not be to a file) should
> error.
>
> > Worse yet, upon saving no sensible coding is selected - texts with
> > accents or foreign chars get munged.
>
> And this is a third bug. I thought Aidan had fixed this, but I guess
> it's only for his new unibyte coding systems.
No, not even for them. It’s in progress,
http://mid.gmane.org/18912.40510.593475.645687@parhasard.net is the bones of
it, but more work is needed, in particular implementing the checks for the
Win32-specific coding systems and erroring in the appropriate places when
data will be lost. My evenings and my weekends are my own, right now,
thankfully, I hope to see some progress this month.
# HG changeset patch
# User Aidan Kehoe <kehoea(a)parhasard.net>
# Date 1244319144 -3600
# Node ID 4062be55b55149a156a151b3ce4def2223427366
# Parent 8cef85a39d2c162abd60427022511be52b9880b3
Set buffer-file-coding-system more sensibly with zero-length files.
2009-06-06 Aidan Kehoe <kehoea(a)parhasard.net>
* code-files.el (insert-file-contents):
If the file was zero-length, used-codesys (and thus
buffer-file-coding-system) is undecided. Set it to a more sane
value.
diff -r 8cef85a39d2c -r 4062be55b551 lisp/ChangeLog
--- a/lisp/ChangeLog Sat Jun 06 17:20:21 2009 +0100
+++ b/lisp/ChangeLog Sat Jun 06 21:12:24 2009 +0100
@@ -1,3 +1,10 @@
+2009-06-06 Aidan Kehoe <kehoea(a)parhasard.net>
+
+ * code-files.el (insert-file-contents):
+ If the file was zero-length, used-codesys (and thus
+ buffer-file-coding-system) is undecided. Set it to a more sane
+ value.
+
2009-06-06 Aidan Kehoe <kehoea(a)parhasard.net>
* files.el (cd):
diff -r 8cef85a39d2c -r 4062be55b551 lisp/code-files.el
--- a/lisp/code-files.el Sat Jun 06 17:20:21 2009 +0100
+++ b/lisp/code-files.el Sat Jun 06 21:12:24 2009 +0100
@@ -443,6 +443,10 @@
filename visit err)
(signal (car err) (cdr err))))
(setq coding-system used-codesys)
+ ;; If the file was zero-length, used-codesys is undecided. Set it to
+ ;; a more sane value.
+ (if (eq 'undecided (coding-system-type coding-system))
+ (setq coding-system (default-value 'buffer-file-coding-system)))
;; call any `post-read-conversion' for the coding system that
;; was used ...
(let ((func
--
¿Dónde estará ahora mi sobrino Yoghurtu Nghe, que tuvo que huir
precipitadamente de la aldea por culpa de la escasez de rinocerontes?
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-patches