GNU bug report logs -
#13292
24.3.50; wrong sytax description in (elisp) Case Tables
Previous Next
Reported by: "Drew Adams" <drew.adams <at> oracle.com>
Date: Fri, 28 Dec 2012 15:29:01 UTC
Severity: normal
Found in version 24.3.50
Done: Eli Zaretskii <eliz <at> gnu.org>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 13292 in the body.
You can then email your comments to 13292 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#13292
; Package
emacs
.
(Fri, 28 Dec 2012 15:29:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
"Drew Adams" <drew.adams <at> oracle.com>
:
New bug report received and forwarded. Copy sent to
bug-gnu-emacs <at> gnu.org
.
(Fri, 28 Dec 2012 15:29:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
The parameters should be uppercase everywhere. E.g.,
-- Macro: with-case-table TABLE BODY...
not
-- Macro: with-case-table table body...
In GNU Emacs 24.3.50.1 (i386-mingw-nt5.1.2600)
of 2012-12-18 on MS-W7-DANI
Bzr revision: 111265 eliz <at> gnu.org-20121218190556-x9wmq083vwecgu0f
Windowing system distributor `Microsoft Corp.', version 5.1.2600
Configured using:
`configure --with-gcc (4.7) --no-opt --enable-checking --cflags
-Ic:/emacs/libs/libXpm-3.5.10/include -Ic:/emacs/libs/libXpm-3.5.10/src
-Ic:/emacs/libs/libpng-dev_1.4.3-1_win32/include
-Ic:/emacs/libs/zlib-dev_1.2.5-2_win32/include
-Ic:/emacs/libs/giflib-4.1.4-1-lib/include
-Ic:/emacs/libs/jpeg-6b-4-lib/include
-Ic:/emacs/libs/tiff-3.8.2-1-lib/include
-Ic:/emacs/libs/libxml2-2.7.8-w32-bin/include/libxml2
-Ic:/emacs/libs/gnutls-3.0.9-w32-bin/include
-Ic:/emacs/libs/libiconv-1.9.2-1-lib/include'
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#13292
; Package
emacs
.
(Fri, 28 Dec 2012 15:32:01 GMT)
Full text and
rfc822 format available.
Message #8 received at 13292 <at> debbugs.gnu.org (full text, mbox):
The contagion has apparently spread beyond this node. See also node
`Conditionals'.
A general review is probably required. Someone is either quite careless or,
more likely?, has not been told what the convention is.
Reply sent
to
Eli Zaretskii <eliz <at> gnu.org>
:
You have taken responsibility.
(Fri, 28 Dec 2012 16:41:02 GMT)
Full text and
rfc822 format available.
Notification sent
to
"Drew Adams" <drew.adams <at> oracle.com>
:
bug acknowledged by developer.
(Fri, 28 Dec 2012 16:41:02 GMT)
Full text and
rfc822 format available.
Message #13 received at 13292-done <at> debbugs.gnu.org (full text, mbox):
> From: "Drew Adams" <drew.adams <at> oracle.com>
> Date: Fri, 28 Dec 2012 07:26:48 -0800
>
>
> The parameters should be uppercase everywhere.
They never were. This is how Info works.
Closing.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#13292
; Package
emacs
.
(Fri, 28 Dec 2012 16:59:01 GMT)
Full text and
rfc822 format available.
Message #16 received at 13292 <at> debbugs.gnu.org (full text, mbox):
> > The parameters should be uppercase everywhere.
>
> They never were. This is how Info works.
> Closing.
In that case, there are bugs in the other direction, in other nodes of the
manual - nodes that use uppercase for parameters.
For example:
`A Sample Function Description' - `count-loop'
`Syntax Table Functions' - `with-syntax-table'
`Using Lexical Binding' - `special-variable-p'
`Syntax Table Internals' - `string-to-syntax'
`Declare Form' - `declare'
Note that `A Sample Function Description' is the very place where we explain the
syntax convention and give an example of it. Not a good place to set a bad
example.
Reopening. There is clearly some cleanup to be done.
Did not alter fixed versions and reopened.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Fri, 28 Dec 2012 16:59:02 GMT)
Full text and
rfc822 format available.
Reply sent
to
Eli Zaretskii <eliz <at> gnu.org>
:
You have taken responsibility.
(Fri, 28 Dec 2012 18:32:01 GMT)
Full text and
rfc822 format available.
Notification sent
to
"Drew Adams" <drew.adams <at> oracle.com>
:
bug acknowledged by developer.
(Fri, 28 Dec 2012 18:32:02 GMT)
Full text and
rfc822 format available.
Message #23 received at 13292-done <at> debbugs.gnu.org (full text, mbox):
> From: "Drew Adams" <drew.adams <at> oracle.com>
> Cc: <13292 <at> debbugs.gnu.org>
> Date: Fri, 28 Dec 2012 08:57:28 -0800
>
> > > The parameters should be uppercase everywhere.
> >
> > They never were. This is how Info works.
> > Closing.
>
> In that case, there are bugs in the other direction, in other nodes of the
> manual - nodes that use uppercase for parameters.
>
> For example:
>
> `A Sample Function Description' - `count-loop'
> `Syntax Table Functions' - `with-syntax-table'
> `Using Lexical Binding' - `special-variable-p'
> `Syntax Table Internals' - `string-to-syntax'
> `Declare Form' - `declare'
>
> Note that `A Sample Function Description' is the very place where we explain the
> syntax convention and give an example of it. Not a good place to set a bad
> example.
It's not bad. This is done on purpose, see the Texinfo sources, which
use @var in this case.
> Reopening. There is clearly some cleanup to be done.
Reclosing. Please stop this ridicule.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#13292
; Package
emacs
.
(Fri, 28 Dec 2012 18:48:02 GMT)
Full text and
rfc822 format available.
Message #26 received at 13292-done <at> debbugs.gnu.org (full text, mbox):
> It's not bad. This is done on purpose, see the Texinfo sources, which
> use @var in this case.
Really? Just what is the purpose in this "on purpose"?
Why uppercase sometimes, lowercase other times? What is the different
message/information that is supposed to be conveyed to readers?
And where is this difference in notation & meaning explained/defined in the
manual?
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#13292
; Package
emacs
.
(Sat, 29 Dec 2012 00:34:02 GMT)
Full text and
rfc822 format available.
Message #29 received at 13292 <at> debbugs.gnu.org (full text, mbox):
On Fri, Dec 28 2012, Eli Zaretskii wrote:
>> From: "Drew Adams" <drew.adams <at> oracle.com>
[...]
>> In that case, there are bugs in the other direction, in other nodes of the
>> manual - nodes that use uppercase for parameters.
>>
>> For example:
>>
>> `A Sample Function Description' - `count-loop'
>> `Syntax Table Functions' - `with-syntax-table'
>> `Using Lexical Binding' - `special-variable-p'
>> `Syntax Table Internals' - `string-to-syntax'
>> `Declare Form' - `declare'
>>
>> Note that `A Sample Function Description' is the very place where we explain the
>> syntax convention and give an example of it. Not a good place to set a bad
>> example.
>
> It's not bad. This is done on purpose, see the Texinfo sources, which
> use @var in this case.
But other "imaginary" example definitions in intro.texi don't use @var.
Nor does any "real" @defspec in doc/lispref use that.
Also, in contrast to the makeinfo program, texinfo-format-region would
produce
-- Special form: count-loop (VAR [FROM TO [INC]]) BODY...
in both cases, with or without @var. Perhaps, that's the reason that
nobody noticed at the time?
So is there anything wrong with Drew's revised suggestion (as
I understand it)?
=== modified file 'doc/lispref/functions.texi'
--- doc/lispref/functions.texi 2012-12-05 22:27:56 +0000
+++ doc/lispref/functions.texi 2012-12-28 23:53:49 +0000
@@ -1266,7 +1266,7 @@
convention in Emacs Lisp mode.
@anchor{Definition of declare}
-@defmac declare @var{specs}@dots{}
+@defmac declare specs <at> dots{}
This macro ignores its arguments and evaluates to @code{nil}; it has
no run-time effect. However, when a @code{declare} form occurs in the
@var{declare} argument of a @code{defun} or @code{defsubst} function
=== modified file 'doc/lispref/intro.texi'
--- doc/lispref/intro.texi 2012-12-05 22:27:56 +0000
+++ doc/lispref/intro.texi 2012-12-28 23:47:55 +0000
@@ -408,7 +408,7 @@
arguments are grouped into additional levels of list structure. Here
is an example:
-@defspec count-loop (@var{var} [@var{from} @var{to} [@var{inc}]]) @var{body}@dots{}
+@defspec count-loop (var [from to [inc]]) body <at> dots{}
This imaginary special form implements a loop that executes the
@var{body} forms and then increments the variable @var{var} on each
iteration. On the first iteration, the variable has the value
=== modified file 'doc/lispref/syntax.texi'
--- doc/lispref/syntax.texi 2012-12-05 22:27:56 +0000
+++ doc/lispref/syntax.texi 2012-12-28 23:52:25 +0000
@@ -506,7 +506,7 @@
the current buffer.
@end defun
-@defmac with-syntax-table @var{table} @var{body}@dots{}
+@defmac with-syntax-table table body <at> dots{}
This macro executes @var{body} using @var{table} as the current syntax
table. It returns the value of the last form in @var{body}, after
restoring the old current syntax table.
@@ -998,7 +998,7 @@
@samp{4} @tab @code{(lsh 1 19)}
@end multitable
-@defun string-to-syntax @var{desc}
+@defun string-to-syntax desc
Given a syntax descriptor @var{desc} (a string), this function returns
the corresponding raw syntax descriptor.
@end defun
=== modified file 'doc/lispref/variables.texi'
--- doc/lispref/variables.texi 2012-12-05 22:27:56 +0000
+++ doc/lispref/variables.texi 2012-12-28 23:58:13 +0000
@@ -1057,7 +1057,7 @@
(@pxref{Defining Variables}). All other variables are subject to
lexical binding.
-@defun special-variable-p SYMBOL
+@defun special-variable-p symbol
This function returns non-@code{nil} if @var{symbol} is a special
variable (i.e., it has a @code{defvar}, @code{defcustom}, or
@code{defconst} variable definition). Otherwise, the return value is
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#13292
; Package
emacs
.
(Sat, 29 Dec 2012 08:32:01 GMT)
Full text and
rfc822 format available.
Message #32 received at 13292 <at> debbugs.gnu.org (full text, mbox):
> From: Wolfgang Jenkner <wjenkner <at> inode.at>
> Cc: eliz <at> gnu.org, drew.adams <at> oracle.com
> Date: Sat, 29 Dec 2012 01:21:05 +0100
>
> On Fri, Dec 28 2012, Eli Zaretskii wrote:
>
> >> From: "Drew Adams" <drew.adams <at> oracle.com>
> [...]
> >> In that case, there are bugs in the other direction, in other nodes of the
> >> manual - nodes that use uppercase for parameters.
> >>
> >> For example:
> >>
> >> `A Sample Function Description' - `count-loop'
> >> `Syntax Table Functions' - `with-syntax-table'
> >> `Using Lexical Binding' - `special-variable-p'
> >> `Syntax Table Internals' - `string-to-syntax'
> >> `Declare Form' - `declare'
> >>
> >> Note that `A Sample Function Description' is the very place where we explain the
> >> syntax convention and give an example of it. Not a good place to set a bad
> >> example.
> >
> > It's not bad. This is done on purpose, see the Texinfo sources, which
> > use @var in this case.
>
> But other "imaginary" example definitions in intro.texi don't use @var.
> Nor does any "real" @defspec in doc/lispref use that.
The Texinfo manual is ambiguous wrt this issue. It allows using @var
in some cases. The result in print is a slightly different typeface;
in contrast, the result in the Info output is VERY different.
However, since the references to the arguments in the text _always_
use @var, so are rendered in CAPS in Info, I consider this bug report
a rather petty and even an overly-pedantic one.
> Also, in contrast to the makeinfo program, texinfo-format-region would
> produce
>
> -- Special form: count-loop (VAR [FROM TO [INC]]) BODY...
>
> in both cases, with or without @var. Perhaps, that's the reason that
> nobody noticed at the time?
I doubt that, as no one uses texinfo-format-region anymore, since it
doesn't support so many Texinfo features introduced in recent years.
> So is there anything wrong with Drew's revised suggestion (as
> I understand it)?
See above. That said, I don't want to argue anymore, so I installed
your changes on the emacs-24 branch; thanks.
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#13292
; Package
emacs
.
(Sat, 29 Dec 2012 15:51:02 GMT)
Full text and
rfc822 format available.
Message #35 received at 13292 <at> debbugs.gnu.org (full text, mbox):
On Sat, Dec 29 2012, Eli Zaretskii wrote:
>> From: Wolfgang Jenkner <wjenkner <at> inode.at>
>> Also, in contrast to the makeinfo program, texinfo-format-region would
>> produce
>>
>> -- Special form: count-loop (VAR [FROM TO [INC]]) BODY...
>>
>> in both cases, with or without @var. Perhaps, that's the reason that
>> nobody noticed at the time?
>
> I doubt that, as no one uses texinfo-format-region anymore, since it
> doesn't support so many Texinfo features introduced in recent years.
I meant a time closer to when the elisp manual was written, viz.
http://ftp.gnu.org/old-gnu/emacs/elisp-manual-20-2.5.tar.gz
has (in the node we are talking about: A Sample Function Description)
@defun foo integer1 &optional integer2 &rest integers
but the formatted manual included in that tarball has
- Function: foo INTEGER1 &optional INTEGER2 &rest INTEGERS
That's the reason why Drew's report rang a bell: I remembered that years
ago I had become aware of this change from upper-case to lower-case at
some point.
>> So is there anything wrong with Drew's revised suggestion (as
>> I understand it)?
> See above. That said, I don't want to argue anymore, so I installed
> your changes on the emacs-24 branch; thanks.
I could have done that (which is why I neglected to supply a change log
entry), but thanks.
Wolfgang
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#13292
; Package
emacs
.
(Sat, 29 Dec 2012 16:20:01 GMT)
Full text and
rfc822 format available.
Message #38 received at 13292 <at> debbugs.gnu.org (full text, mbox):
> I meant a time closer to when the elisp manual was written, viz.
> http://ftp.gnu.org/old-gnu/emacs/elisp-manual-20-2.5.tar.gz
> has (in the node we are talking about: A Sample Function Description)
>
> @defun foo integer1 &optional integer2 &rest integers
> but the formatted manual included in that tarball has
> - Function: foo INTEGER1 &optional INTEGER2 &rest INTEGERS
>
> That's the reason why Drew's report rang a bell: I remembered
> that years ago I had become aware of this change from upper-case
> to lower-case at some point.
Yes, in Emacs 20 parameters were uppercase - more readable, BTW.
I don't have an Emacs 21 Elisp (Info) manual. My guess would be that this
regression (intentional, no doubt) was introduced in Emacs 22.
The current bug is that the usage is not consistent - that's the point.
Parameters should either be always uppercase or always lowercase. They are
instead sometimes all uppercase, sometimes all lowercase.
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Sun, 27 Jan 2013 12:24:03 GMT)
Full text and
rfc822 format available.
This bug report was last modified 12 years and 149 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.