Remove double-negative from ERC report ErrType(2)

Bug #1772297 reported by Reece Pollack on 2018-05-20
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Jeff Young

Bug Description

When a global label is not connected, the ERC reports:

ErrType(2): Pin not connected (and no connect symbol found on this pin)
    @ (4.000 in,3.500 in): Pin 57 (Bidirectional) of component U1 is unconnected.

The problem is NOT that there isn't a connect symbol, which is what this message says. The problem is that there isn't a no-connection flag. Thus I suggest this should read:

ErrType(2): Pin not connected (and a no-connection flag was not found on this pin)
    @ (4.000 in,3.500 in): Pin 57 (Bidirectional) of component U1 is unconnected.

1) This avoids torturing English syntax (and those who struggle to read English) by avoiding using a double "no", as in "(and no no connect symbol found on this pin)".

2) The documentation for Eeschema refers to this as a "No connection flag", rather than a symbol, as does the hover text for the tool bar icon which reads "Place no connection flag". Either the error should call it a "flag" or the hover text should say "symbol". I like "flag", as this doesn't appear in a symbol library and this is how it is referred to in the documentation.

3) The error message and hover text would be clearer with a hyphen: "Place no-connection flag". This avoids suggesting that you are not placing a connection flag. If we're feeling hyphen-averse, place quotes around "no connect" as done in the documentation:

ErrType(2): Pin not connected (and a "no connection" flag was not found on this pin)
    @ (4.000 in,3.500 in): Pin 57 (Bidirectional) of component U1 is unconnected.


Built from sources on a private branch derived from this Git commit:
    8f6ae70 Deterministic algorithm for picking field values in multiunit components

Application: kicad
Version: (5.0.0-rc2-dev-772-g85d836f), debug build
    wxWidgets 3.0.2
    libcurl/7.47.0 GnuTLS/3.4.10 zlib/1.2.11 libidn/1.32 librtmp/2.3
Platform: Linux 4.13.0-41-generic x86_64, 64 bit, Little endian, wxGTK
Build Info:
    wxWidgets: 3.0.2 (wchar_t,wx containers,compatible with 2.8) GTK+ 2.24
    Boost: 1.58.0
    OpenCASCADE Community Edition: 6.8.0
    Curl: 7.47.0
    Compiler: GCC 5.4.0 with C++ ABI 1009

Build settings:

Jeff Young (jeyjey) wrote :

I favour:

ErrType(2): Pin not connected (use a "no connection" flag to suppress this error)
    @ (4.000 in,3.500 in): Pin 57 (Bidirectional) of component U1 is unconnected.

But we're past string-freeze (for the translators) for 5.0, so this will have to wait for 6.0.

Changed in kicad:
importance: Undecided → Low
status: New → Triaged
milestone: none → 6.0.0-rc1
summary: - ERC report ErrType(2) tortures English syntax
+ Remove double-negative from ERC report ErrType(2)
Nick Østergaard (nickoe) wrote :

I would still call it a "no connect" rather than "no connection", but I guess this is just what I am used to.

tags: added: eeschema
Jeff Young (jeyjey) wrote :

Except that it's not English. ;)

If we want to use a verb it would need to be "don't connect".

Nick Østergaard (nickoe) wrote :

But I consider the "no connect" flag/symbol/whatver/object a noun, not a verb.

Reece Pollack (reece-pollack) wrote :

I'm happy with either "no-connection" or "no-connect"; that's not the point of this bug report.

The literal reading of the error message as currently written is either
  (1) a "connect symbol" wasn't found, or
  (2) a "no connect symbol" was found.

Neither of these is correct. There is no such thing as a "connect symbol", so (1) can't be correct. And (2) is incorrect because a "no connect symbol" WASN'T found. This is the problem I'm reporting.

IMHO, this is entirely an English language issue, as the syntax of this error message is likely to be entirely different in other languages. Thus it is appropriate to address in the v5 release and doesn't need to be deferred to v6.

Nick Østergaard (nickoe) wrote :

String freeze, so gotta wait.

Reece Pollack (reece-pollack) wrote :

Per Wayne Stambaugh, the string freeze is "to be fair to our translators so we can have the most complete translations possible."

This is an English syntax only correction that will not affect the translators. On the contrary, it resolves an error that is likely to confuse translators and should be corrected immediately.

Jeff Young (jeyjey) wrote :

The tooltip for the tool reads "Place no connection flag".

The only way to get around the double negative is therefore to suggest a remedy rather than to describe the error.

This is why I favour:

   Pin not connected (use a "no connection" flag to suppress this error)

(The fact that there's currently a single-negative is just wrong, but doesn't much affect what the string should be.)

Jeff Young (jeyjey) wrote :

@Wayne, 5.0 or 6.0?

Seth Hillbrand (sethh) wrote :

Just a quick note for people considering string changes. Any string change, even one that only changes whitespace, creates new work for translators. The strings are hashed for lookup, so any change at all requires re-generating the PO files or the translation doesn't happen.

In cases where the translator is working without the source tree (often the case), regeneration is a non-trivial step.

If you are just removing strings, this is a non-issue as the hash is never accessed. But please don't assume that small changes in English is the same as small work for our translators.

Wayne Stambaugh (stambaughw) wrote :

@Jeff, let's push this off to 6. We can roll it out as part of the first 5 point release.

Jeff Young (jeyjey) on 2018-05-28
Changed in kicad:
assignee: nobody → Jeff Young (jeyjey)
status: Triaged → In Progress
Jeff Young (jeyjey) on 2018-06-23
Changed in kicad:
milestone: 6.0.0-rc1 → 5.1.0
Jeff Young (jeyjey) on 2018-07-17
Changed in kicad:
status: In Progress → Fix Committed
Changed in kicad:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers