Hi Nop Head,
Sorry to hear about your health.
I hope things are under control.
Take care
Regards
On Mon, 26 Jan, 2026, 3:14 pm nop head via Discuss, <
discuss@lists.openscad.org> wrote:
One warning is too much because I run with stop on warnings. I am
terminally ill, so I have better things to do than rename all my
vitamins to more ugly names and update all my projects.
On Mon, 26 Jan 2026 at 07:33, Curt McDowell via Discuss <
discuss@lists.openscad.org> wrote:
Chris,
Identifiers that start with digits should definitely be phased out. Only
ancient languages like COBOL, LISP, FORTH and TCL allowed it. LISP has the
same problem as OpenSCAD. It just gets to be too ambiguous:
(setq 6e 1.5)
1.5
(setq 6e2 1.5)
*** - SETQ: 600.0 is not a symbol
Maybe as an interim compromise, only one warning could be printed,
when the first identifier is encountered beginning with a digit, so it
wouldn't be prohibitively annoying.
As a path forward for NopSCADlib, how about using an update script? I'm
attaching a Python script that updates all the subject NopSCADlib
identifiers in all .scad files within a directory, recursively. It could
also be included with the library to allow library users to update their
code with one command. Then you'd be right back onto the latest releases.
-Curt
On 1/23/26 16:13, nop head via Discuss wrote:
Yes but none of my identifiers look like that. They are mostly part
numbers of real objects.
DEPRECATED: Variable names starting with digits ("6p4mm_disc") will be
removed in future releases. in file
../../../Nextcloud/CHRIS/Projects/RepRaptor/OpenSCADLibs/NopSCADlib/vitamins/radials.scad,
line 42
DEPRECATED: Variable names starting with digits ("10mm_disc") will be
removed in future releases. in file
../../../Nextcloud/CHRIS/Projects/RepRaptor/OpenSCADLibs/NopSCADlib/vitamins/radials.scad,
line 43
DEPRECATED: Variable names starting with digits ("6p4mm_disc") will be
removed in future releases. in file
../../../Nextcloud/CHRIS/Projects/RepRaptor/OpenSCADLibs/NopSCADlib/vitamins/radials.scad,
line 45
DEPRECATED: Variable names starting with digits ("10mm_disc") will be
removed in future releases. in file
../../../Nextcloud/CHRIS/Projects/RepRaptor/OpenSCADLibs/NopSCADlib/vitamins/radials.scad,
line 45
DEPRECATED: Variable names starting with digits ("02531A") will be
removed in future releases. in file
../../../Nextcloud/CHRIS/Projects/RepRaptor/OpenSCADLibs/NopSCADlib/vitamins/7_segments.scad,
line 24
DEPRECATED: Variable names starting with digits ("02352A") will be
removed in future releases. in file
../../../Nextcloud/CHRIS/Projects/RepRaptor/OpenSCADLibs/NopSCADlib/vitamins/7_segments.scad,
line 25
DEPRECATED: Variable names starting with digits ("7_segments") will be
removed in future releases. in file
../../../Nextcloud/CHRIS/Projects/RepRaptor/OpenSCADLibs/NopSCADlib/vitamins/7_segments.scad,
line 28
DEPRECATED: Variable names starting with digits ("02531A") will be
removed in future releases. in file
../../../Nextcloud/CHRIS/Projects/RepRaptor/OpenSCADLibs/NopSCADlib/vitamins/7_segments.scad,
line 28
DEPRECATED: Variable names starting with digits ("02352A") will be
removed in future releases. in file
../../../Nextcloud/CHRIS/Projects/RepRaptor/OpenSCADLibs/NopSCADlib/vitamins/7_segments.scad,
line 28
DEPRECATED: Variable names starting with digits ("9DOF_stick") will be
removed in future releases. in file
../../../Nextcloud/CHRIS/Projects/RepRaptor/OpenSCADLibs/NopSCADlib/vitamins/pcbs.scad,
line 1369
DEPRECATED: Variable names starting with digits ("9DOF_stick") will be
removed in future releases. in file
../../../Nextcloud/CHRIS/Projects/RepRaptor/OpenSCADLibs/NopSCADlib/vitamins/pcbs.scad,
line 1405
DEPRECATED: Variable names starting with digits ("5_160430_7") will be
removed in future releases. in file
../../../Nextcloud/CHRIS/Projects/RepRaptor/OpenSCADLibs/NopSCADlib/vitamins/fastons.scad,
line 24
DEPRECATED: Variable names starting with digits ("5_160430_7") will be
removed in future releases. in file
../../../Nextcloud/CHRIS/Projects/RepRaptor/OpenSCADLibs/NopSCADlib/vitamins/fastons.scad,
line 26
DEPRECATED: Variable names starting with digits ("28BYJ_48") will be
removed in future releases. in file
../../../Nextcloud/CHRIS/Projects/RepRaptor/OpenSCADLibs/NopSCADlib/vitamins/geared_steppers.scad,
line 30
DEPRECATED: Variable names starting with digits ("35BYGHJ75") will be
removed in future releases. in file
../../../Nextcloud/CHRIS/Projects/RepRaptor/OpenSCADLibs/NopSCADlib/vitamins/geared_steppers.scad,
line 31
DEPRECATED: Variable names starting with digits ("28BYJ_48") will be
removed in future releases. in file
../../../Nextcloud/CHRIS/Projects/RepRaptor/OpenSCADLibs/NopSCADlib/vitamins/geared_steppers.scad,
line 33
DEPRECATED: Variable names starting with digits ("35BYGHJ75") will be
removed in future releases. in file
../../../Nextcloud/CHRIS/Projects/RepRaptor/OpenSCADLibs/NopSCADlib/vitamins/geared_steppers.scad,
line 33
DEPRECATED: Variable names starting with digits ("2p54header") will be
removed in future releases. in file
../../../Nextcloud/CHRIS/Projects/RepRaptor/OpenSCADLibs/NopSCADlib/vitamins/pin_headers.scad,
line 27
DEPRECATED: Variable names starting with digits ("2p54joiner") will be
removed in future releases. in file
../../../Nextcloud/CHRIS/Projects/RepRaptor/OpenSCADLibs/NopSCADlib/vitamins/pin_headers.scad,
line 28
DEPRECATED: Variable names starting with digits ("2p54header") will be
removed in future releases. in file
../../../Nextcloud/CHRIS/Projects/RepRaptor/OpenSCADLibs/NopSCADlib/vitamins/pin_headers.scad,
line 34
DEPRECATED: Variable names starting with digits ("80ST_faceplate") will
be removed in future releases. in file
../../../Nextcloud/CHRIS/Projects/RepRaptor/OpenSCADLibs/NopSCADlib/vitamins/servo_motors.scad,
line 20
DEPRECATED: Variable names starting with digits ("80ST_faceplate") will
be removed in future releases. in file
../../../Nextcloud/CHRIS/Projects/RepRaptor/OpenSCADLibs/NopSCADlib/vitamins/servo_motors.scad,
line 26
DEPRECATED: Variable names starting with digits ("80ST_faceplate") will
be removed in future releases. in file
../../../Nextcloud/CHRIS/Projects/RepRaptor/OpenSCADLibs/NopSCADlib/vitamins/servo_motors.scad,
line 27
DEPRECATED: Variable names starting with digits ("80ST_faceplate") will
be removed in future releases. in file
../../../Nextcloud/CHRIS/Projects/RepRaptor/OpenSCADLibs/NopSCADlib/vitamins/servo_motors.scad,
line 28
DEPRECATED: Variable names starting with digits ("80ST_faceplate") will
be removed in future releases. in file
../../../Nextcloud/CHRIS/Projects/RepRaptor/OpenSCADLibs/NopSCADlib/vitamins/servo_motors.scad,
line 29
On Fri, 23 Jan 2026 at 23:54, Jordan Brown openscad@jordan.maileater.net
wrote:
On 1/23/2026 3:40 PM, nop head wrote:
I haven't got any identifiers that look like hex constants. All
identifiers that start with numbers now warn.
Yes, and warnings are not failures. Exponential-notation-like words
have never been usable as identifiers. Hex-constant-like words are no
longer usable. As I said, we now warn that all such names are on thin
ice. For instance, it is not implausible that 0oXXXXX and 0bXXXXX might be
used for octal and binary constants.
I also consider it strange and confusing that 1e12 is a number, but
1e12x is an identifier, or that 0xDEUCE is a valid identifier but 0xACE is
not. Or, for that matter, that 1xACE is a valid identifier but 0xACE is
not.
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
On 1/25/2026 11:32 PM, Curt McDowell via Discuss wrote:
Maybe as an interim compromise, only one warning could be printed,
when the first identifier is encountered beginning with a digit, so it
wouldn't be prohibitively annoying.
There is already anti-duplication, but it is on the basis of the message
and the location, so you get one message per name per point where it's
used. At least you don't get the exact same message multiple times if,
e.g., it's in a loop.
On 1/26/2026 1:43 AM, nop head via Discuss wrote:
One warning is too much because I run with stop on warnings.
Somewhat to my surprise, DEPRECATED messages are not considered warnings
and never cause the program to stop.
Yes it seems they don't cause a stop. Other weird things are warning in
used modules, which only occur once unless you flush the cache and then
they appear straight away, not on the next F5.
On Mon, 26 Jan 2026 at 15:46, Jordan Brown via Discuss <
discuss@lists.openscad.org> wrote:
On 1/25/2026 11:32 PM, Curt McDowell via Discuss wrote:
Maybe as an interim compromise, only one warning could be printed, when
the first identifier is encountered beginning with a digit, so it wouldn't
be prohibitively annoying.
There is already anti-duplication, but it is on the basis of the message
and the location, so you get one message per name per point where it's
used. At least you don't get the exact same message multiple times if,
e.g., it's in a loop.
On 1/26/2026 1:43 AM, nop head via Discuss wrote:
One warning is too much because I run with stop on warnings.
Somewhat to my surprise, DEPRECATED messages are not considered warnings
and never cause the program to stop.
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
Thank you very very much for that script. I was trying to do this by
hand, and extract only the parts of the NopSCADlib files that I used.
Some aspects of the library suit what I do well, and some do not. I do
this after recovering from updating the older version of OpenSCAD to the
version of this January. The tactical problem with all the warnings is
simply that they obscure all the real errors and warnings. For those
new to the current version, clicking on the error in the error list
window will open the subject file, since the console warning is just an
indication of the error, not much more.
The PC board modeling program is back to full operation, as is needed.
Harvey
On 1/26/2026 2:32 AM, Curt McDowell via Discuss wrote:
Chris,
Identifiers that start with digits should definitely be phased out.
Only ancient languages like COBOL, LISP, FORTH and TCL allowed it.
LISP has the same problem as OpenSCAD. It just gets to be too ambiguous:
(setq 6e 1.5)
1.5
(setq 6e2 1.5)
*** - SETQ: 600.0 is not a symbol
Maybe as an interim compromise, only one warning could be printed,
when the first identifier is encountered beginning with a digit, so it
wouldn't be prohibitively annoying.
As a path forward for NopSCADlib, how about using an update script?
I'm attaching a Python script that updates all the subject NopSCADlib
identifiers in all .scad files within a directory, recursively. It
could also be included with the library to allow library users to
update their code with one command. Then you'd be right back onto the
latest releases.
-Curt
On 1/23/26 16:13, nop head via Discuss wrote:
Yes but none of my identifiers look like that. They are mostly part
numbers of real objects.
DEPRECATED: Variable names starting with digits ("6p4mm_disc") will
be removed in future releases. in file
../../../Nextcloud/CHRIS/Projects/RepRaptor/OpenSCADLibs/NopSCADlib/vitamins/radials.scad,
line 42
DEPRECATED: Variable names starting with digits ("10mm_disc") will be
removed in future releases. in file
../../../Nextcloud/CHRIS/Projects/RepRaptor/OpenSCADLibs/NopSCADlib/vitamins/radials.scad,
line 43
DEPRECATED: Variable names starting with digits ("6p4mm_disc") will
be removed in future releases. in file
../../../Nextcloud/CHRIS/Projects/RepRaptor/OpenSCADLibs/NopSCADlib/vitamins/radials.scad,
line 45
DEPRECATED: Variable names starting with digits ("10mm_disc") will be
removed in future releases. in file
../../../Nextcloud/CHRIS/Projects/RepRaptor/OpenSCADLibs/NopSCADlib/vitamins/radials.scad,
line 45
DEPRECATED: Variable names starting with digits ("02531A") will be
removed in future releases. in file
../../../Nextcloud/CHRIS/Projects/RepRaptor/OpenSCADLibs/NopSCADlib/vitamins/7_segments.scad,
line 24
DEPRECATED: Variable names starting with digits ("02352A") will be
removed in future releases. in file
../../../Nextcloud/CHRIS/Projects/RepRaptor/OpenSCADLibs/NopSCADlib/vitamins/7_segments.scad,
line 25
DEPRECATED: Variable names starting with digits ("7_segments") will
be removed in future releases. in file
../../../Nextcloud/CHRIS/Projects/RepRaptor/OpenSCADLibs/NopSCADlib/vitamins/7_segments.scad,
line 28
DEPRECATED: Variable names starting with digits ("02531A") will be
removed in future releases. in file
../../../Nextcloud/CHRIS/Projects/RepRaptor/OpenSCADLibs/NopSCADlib/vitamins/7_segments.scad,
line 28
DEPRECATED: Variable names starting with digits ("02352A") will be
removed in future releases. in file
../../../Nextcloud/CHRIS/Projects/RepRaptor/OpenSCADLibs/NopSCADlib/vitamins/7_segments.scad,
line 28
DEPRECATED: Variable names starting with digits ("9DOF_stick") will
be removed in future releases. in file
../../../Nextcloud/CHRIS/Projects/RepRaptor/OpenSCADLibs/NopSCADlib/vitamins/pcbs.scad,
line 1369
DEPRECATED: Variable names starting with digits ("9DOF_stick") will
be removed in future releases. in file
../../../Nextcloud/CHRIS/Projects/RepRaptor/OpenSCADLibs/NopSCADlib/vitamins/pcbs.scad,
line 1405
DEPRECATED: Variable names starting with digits ("5_160430_7") will
be removed in future releases. in file
../../../Nextcloud/CHRIS/Projects/RepRaptor/OpenSCADLibs/NopSCADlib/vitamins/fastons.scad,
line 24
DEPRECATED: Variable names starting with digits ("5_160430_7") will
be removed in future releases. in file
../../../Nextcloud/CHRIS/Projects/RepRaptor/OpenSCADLibs/NopSCADlib/vitamins/fastons.scad,
line 26
DEPRECATED: Variable names starting with digits ("28BYJ_48") will be
removed in future releases. in file
../../../Nextcloud/CHRIS/Projects/RepRaptor/OpenSCADLibs/NopSCADlib/vitamins/geared_steppers.scad,
line 30
DEPRECATED: Variable names starting with digits ("35BYGHJ75") will be
removed in future releases. in file
../../../Nextcloud/CHRIS/Projects/RepRaptor/OpenSCADLibs/NopSCADlib/vitamins/geared_steppers.scad,
line 31
DEPRECATED: Variable names starting with digits ("28BYJ_48") will be
removed in future releases. in file
../../../Nextcloud/CHRIS/Projects/RepRaptor/OpenSCADLibs/NopSCADlib/vitamins/geared_steppers.scad,
line 33
DEPRECATED: Variable names starting with digits ("35BYGHJ75") will be
removed in future releases. in file
../../../Nextcloud/CHRIS/Projects/RepRaptor/OpenSCADLibs/NopSCADlib/vitamins/geared_steppers.scad,
line 33
DEPRECATED: Variable names starting with digits ("2p54header") will
be removed in future releases. in file
../../../Nextcloud/CHRIS/Projects/RepRaptor/OpenSCADLibs/NopSCADlib/vitamins/pin_headers.scad,
line 27
DEPRECATED: Variable names starting with digits ("2p54joiner") will
be removed in future releases. in file
../../../Nextcloud/CHRIS/Projects/RepRaptor/OpenSCADLibs/NopSCADlib/vitamins/pin_headers.scad,
line 28
DEPRECATED: Variable names starting with digits ("2p54header") will
be removed in future releases. in file
../../../Nextcloud/CHRIS/Projects/RepRaptor/OpenSCADLibs/NopSCADlib/vitamins/pin_headers.scad,
line 34
DEPRECATED: Variable names starting with digits ("80ST_faceplate")
will be removed in future releases. in file
../../../Nextcloud/CHRIS/Projects/RepRaptor/OpenSCADLibs/NopSCADlib/vitamins/servo_motors.scad,
line 20
DEPRECATED: Variable names starting with digits ("80ST_faceplate")
will be removed in future releases. in file
../../../Nextcloud/CHRIS/Projects/RepRaptor/OpenSCADLibs/NopSCADlib/vitamins/servo_motors.scad,
line 26
DEPRECATED: Variable names starting with digits ("80ST_faceplate")
will be removed in future releases. in file
../../../Nextcloud/CHRIS/Projects/RepRaptor/OpenSCADLibs/NopSCADlib/vitamins/servo_motors.scad,
line 27
DEPRECATED: Variable names starting with digits ("80ST_faceplate")
will be removed in future releases. in file
../../../Nextcloud/CHRIS/Projects/RepRaptor/OpenSCADLibs/NopSCADlib/vitamins/servo_motors.scad,
line 28
DEPRECATED: Variable names starting with digits ("80ST_faceplate")
will be removed in future releases. in file
../../../Nextcloud/CHRIS/Projects/RepRaptor/OpenSCADLibs/NopSCADlib/vitamins/servo_motors.scad,
line 29
On Fri, 23 Jan 2026 at 23:54, Jordan Brown
openscad@jordan.maileater.net wrote:
On 1/23/2026 3:40 PM, nop head wrote:
I haven't got any identifiers that look like hex constants. All
identifiers that start with numbers now warn.
Yes, and warnings are not failures. Exponential-notation-like
words have never been usable as identifiers. Hex-constant-like
words are no longer usable. As I said, we now *warn* that all
such names are on thin ice. For instance, it is not implausible
that 0oXXXXX and 0bXXXXX might be used for octal and binary
constants.
I also consider it strange and confusing that 1e12 is a number,
but 1e12x is an identifier, or that 0xDEUCE is a valid identifier
but 0xACE is not. Or, for that matter, that 1xACE is a valid
identifier but 0xACE is not.
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
On 1/27/2026 9:34 PM, Harvey white via Discuss wrote:
The tactical problem with all the warnings is simply that they obscure
all the real errors and warnings.
Yes. We have this problem at work. We have about 8M+ lines of C code
that we require ourselves to keep to zero warnings. Every time we get a
new version of the compiler or of our checking tools, we have hundreds
of new warnings to analyze and address. The win is that typically a
small percentage of them represent previously-unknown bugs.
That doesn't directly apply here, because here there's little chance
that one of the troublesome constructs will ever cause a subtle
failure. Either they'll be OK, or they'll fail catastrophically. The
win is in ensuring that they will not fail catastrophically in the future.
I don’t use NOP Heads library but it obviously represents a LOT of value. Why not add an option that disables this specific warning? I agree that number leading variable names should go, but this seems like a pragmatic solution that would be quick to implement..
-Bob
On Jan 27, 2026, at 23:07, Jordan Brown via Discuss discuss@lists.openscad.org wrote:
On 1/27/2026 9:34 PM, Harvey white via Discuss wrote:
The tactical problem with all the warnings is simply that they obscure all the real errors and warnings.
Yes. We have this problem at work. We have about 8M+ lines of C code that we require ourselves to keep to zero warnings. Every time we get a new version of the compiler or of our checking tools, we have hundreds of new warnings to analyze and address. The win is that typically a small percentage of them represent previously-unknown bugs.
That doesn't directly apply here, because here there's little chance that one of the troublesome constructs will ever cause a subtle failure. Either they'll be OK, or they'll fail catastrophically. The win is in ensuring that they will not fail catastrophically in the future.
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
Because the point of the warning is to warn you that identifiers starting
with numbers are being phased out. So eventually they so be errors rather
than warnings. It defeats the purpose of the warning to let people turn it
off. Then when the full ban takes effect all the code becomes unusable
rather than just a source of annoying warnings.
It sounds to me like if nopscadlib is important to the community we need
someone to take over maintenance and development of the library.
On Wed, Jan 28, 2026 at 11:27 Bob Carlson via Discuss <
discuss@lists.openscad.org> wrote:
I don’t use NOP Heads library but it obviously represents a LOT of value.
Why not add an option that disables this specific warning? I agree that
number leading variable names should go, but this seems like a pragmatic
solution that would be quick to implement..
-Bob
On Jan 27, 2026, at 23:07, Jordan Brown via Discuss <
discuss@lists.openscad.org> wrote:
On 1/27/2026 9:34 PM, Harvey white via Discuss wrote:
The tactical problem with all the warnings is simply that they obscure
all the real errors and warnings.
Yes. We have this problem at work. We have about 8M+ lines of C code
that we require ourselves to keep to zero warnings. Every time we get a
new version of the compiler or of our checking tools, we have hundreds of
new warnings to analyze and address. The win is that typically a small
percentage of them represent previously-unknown bugs.
That doesn't directly apply here, because here there's little chance
that one of the troublesome constructs will ever cause a subtle failure.
Either they'll be OK, or they'll fail catastrophically. The win is in
ensuring that they will not fail catastrophically in the future.
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
The change to $variables long ago breaks NopSCADlib so I use a version just
after the last release.
On Wed, 28 Jan 2026 at 17:08, Adrian Mariano via Discuss <
discuss@lists.openscad.org> wrote:
Because the point of the warning is to warn you that identifiers starting
with numbers are being phased out. So eventually they so be errors rather
than warnings. It defeats the purpose of the warning to let people turn it
off. Then when the full ban takes effect all the code becomes unusable
rather than just a source of annoying warnings.
It sounds to me like if nopscadlib is important to the community we need
someone to take over maintenance and development of the library.
On Wed, Jan 28, 2026 at 11:27 Bob Carlson via Discuss <
discuss@lists.openscad.org> wrote:
I don’t use NOP Heads library but it obviously represents a LOT of value.
Why not add an option that disables this specific warning? I agree that
number leading variable names should go, but this seems like a pragmatic
solution that would be quick to implement..
-Bob
On Jan 27, 2026, at 23:07, Jordan Brown via Discuss <
discuss@lists.openscad.org> wrote:
On 1/27/2026 9:34 PM, Harvey white via Discuss wrote:
The tactical problem with all the warnings is simply that they obscure
all the real errors and warnings.
Yes. We have this problem at work. We have about 8M+ lines of C code
that we require ourselves to keep to zero warnings. Every time we get a
new version of the compiler or of our checking tools, we have hundreds of
new warnings to analyze and address. The win is that typically a small
percentage of them represent previously-unknown bugs.
That doesn't directly apply here, because here there's little chance
that one of the troublesome constructs will ever cause a subtle failure.
Either they'll be OK, or they'll fail catastrophically. The win is in
ensuring that they will not fail catastrophically in the future.
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org
I wonder if one of you who is currently playing with AI could ask it to
fix nop head's library. It would be an interesting exercise, even if it
fails. I'm not sure how or whether the $variable problems could also be
fixed using AI.
:)
On 1/28/2026 12:08 PM, Adrian Mariano via Discuss wrote:
Because the point of the warning is to warn you that identifiers
starting with numbers are being phased out. So eventually they so be
errors rather than warnings. It defeats the purpose of the warning to
let people turn it off. Then when the full ban takes effect all the
code becomes unusable rather than just a source of annoying warnings.
It sounds to me like if nopscadlib is important to the community we
need someone to take over maintenance and development of the library.
On Wed, Jan 28, 2026 at 11:27 Bob Carlson via Discuss
discuss@lists.openscad.org wrote:
I don’t use NOP Heads library but it obviously represents a LOT of
value. Why not add an option that disables this specific warning?
I agree that number leading variable names should go, but this
seems like a pragmatic solution that would be quick to implement..
-Bob
--
This email has been checked for viruses by AVG antivirus software.
www.avg.com