bugGNU Octave - Bugs: bug #57613, Codespell report for...


bug #57613: Codespell report for "Octave" 5.1.90 (on fossies.org)

Submitted by:  None
Submitted on:  Thu 16 Jan 2020 08:16:45 PM UTC  
Category:  Documentation Severity:  1 - Wish
Priority:  3 - Low Item Group:  Documentation
Status:  Fixed Assigned to:  None
Originator Name:  Jens Schleusener Originator Email:  -email is unavailable-
Open/Closed:  Closed Release:  5.1.90
Operating System:  Any

Add a New Comment (Rich Markup)

You are not logged in

Please log in, so followups can be emailed to you.


( Jump to the original submission)

Tue 21 Jan 2020 09:37:34 PM UTC, comment #20: 

I pushed another change on the stable branch


This fixes all remaining spelling errors that codespell shows me on stable, and the default branch looks good to me now as well, so I think we can call this done.

Mike Miller <mtmiller>
Project Administrator
Tue 21 Jan 2020 09:03:25 PM UTC, comment #19: 

I pushed the following change for default:


Note that we can't fix GLUtesselator.

It would probably be worth having a rule in the Makefile to to run codespell for checking.  I'll take a look at adding it unless someone gets there first.

John W. Eaton <jwe>
Project Administrator
Tue 21 Jan 2020 07:26:59 PM UTC, comment #18: 

Attached this time.

(file #48263)

Mike Miller <mtmiller>
Project Administrator
Tue 21 Jan 2020 07:26:29 PM UTC, comment #17: 

I installed the codespell command line tool and got similar results. I think this is easier than iterating on a web tool, though that will certainly be helpful to continue monitoring going forward.

Attached is my ignored words list, passed to the codespell -I option. This was built from the configuration listed on fossies.org, with a couple additions of my own.

Are we going to continue to fix spelling errors on the stable branch, or the default branch, or both?

In my opinion, we shouldn't change any "tesselator" symbol names on the stable branch at all, but I think we can change them on the default branch without any deprecation or aliasing, because they are not part of the public API.

Mike Miller <mtmiller>
Project Administrator
Tue 21 Jan 2020 05:09:07 PM UTC, comment #16: 
Tue 21 Jan 2020 05:04:56 PM UTC, comment #15: 

Ok, the qterminal files are now ignored.

To the correct tessalate spelling I cannot really contribute, but I found https://bugs.freedesktop.org/show_bug.cgi?id=50411 which reflects the results of a short Google search. So on Fossies at least the according words are marked orange (meaning something like "acceptable").

Mike, the offered tarballs are also on Fossies "codespell" checked but the tarball names don't contain a version part what is principally ok but for Fossies not really suited so I added simply the date of the latest member file in the tarball name. I'm just unsure what would be a meaningful informative and unique tarball name here. But using that files is really easier but since they at least currently seem not up-to-date I added nevertheless a file using the "hg locate"-method to have integrated the latest spelling changes.

So there are now




So besides of the open "tesselate" question all spelling errors and typos (at least that "codespell" has found) are corrected. Great!

By the way, John, if your correction method using Emacs may be generally useful you could eventually share your experiences in a "codespell" issue or send me a personal mail. At least your comment has animated me to write a shell script calling the "vi" editor (but although it works now principally I'm not yet really convinced of the benefit).

Tue 21 Jan 2020 04:33:38 PM UTC, comment #14: 

Little bit off topic:  I recently pushed a documentation change and hope as non-native English speaker to not have introduced too many new spelling and grammar errors.  Only the first subsections of section "11 Functions and scripts" are affected.  If you could shortly review?


Thank you.

Regarding comment #12 and comment #13.  I dare to speak that the affected "tesselate" classes are not part of the public API, only one forward declaration could be included in an installed version of Octave dev:

$ cd octave/dev/install/default
$ grep -R "tessela"
share/octave/6.0.0/m/plot/draw/shrinkfaces.m:%! title ("shrinkfaces() on 2-D complex shapes tesselated with triangles");
Binary file lib64/octave/6.0.0/liboctinterp.so.7.0.1 matches
Binary file lib64/octave/6.0.0/liboctinterp.so.7 matches
Binary file lib64/octave/6.0.0/liboctinterp.so matches
include/octave-6.0.0/octave/gl-render.h:    class patch_tesselator;

Kai Torben Ohlhus <siko1056>
Project Member
Tue 21 Jan 2020 03:22:32 PM UTC, comment #13: 

I pushed another change:


I'm still waiting for comment before changing the tesselate class names.  Otherwise, I think we are in pretty good shape now.

John W. Eaton <jwe>
Project Administrator
Tue 21 Jan 2020 03:47:37 AM UTC, comment #12: 

I also intentionally skipped the tesselate spelling but agree we should fix the class names.  One thing that made me skip them was not having time to think about whether we need to preserve the old names.  Are these classes likely to be used by any code outside of Octave?  If not, we can just rename them.  Otherwise, I guess we will need some typedefs or using statements to preserve the old names and allow them to be marked as deprecated before removing them completely.

John W. Eaton <jwe>
Project Administrator
Mon 20 Jan 2020 10:28:35 PM UTC, comment #11: 

I fixed some more spelling errors on the stable branch


The remaining errors on the latest link you shared are either on the default branch only, in the keytab files which I didn't want to touch, or misspellings of "tessellate" in gl-render.cc which I skipped intentionally.

We have classes named 'opengl_tesselator' and 'patch_tesselator', both of which are spelling errors of "tessellator". I think we should fix the spelling of these class names, along with the associated comments, but not on the stable branch.

Mike Miller <mtmiller>
Project Administrator
Mon 20 Jan 2020 08:38:20 PM UTC, comment #10: 

You can also download a compressed tar snapshot of the development or stable branches directly from the web, if that makes it easier for you to iterate. Unfortunately it looks like the GNU Mercurial server truncates the transfer before the complete tar contents are sent. But you can download from my Git mirror:

Mike Miller <mtmiller>
Project Administrator
Sat 18 Jan 2020 03:47:09 PM UTC, comment #9: 

Thanks for the new list.  I skipped the qterminal files because we've been treating that as external code belonging to someone else.  I suppose that for Octave 7 we will make a decision about whether to continue using that terminal widget or begin moving to something entirely different.

I can look at the rest soon unless someone beats me to it.

The way I did this job was to take load the raw list of file names, line numbers, and misspelled words in Emacs.  A short keyboard macro allowed me to quickly jump to the line with the mistake.  Then I examined and fixed as needed.

John W. Eaton <jwe>
Project Administrator
Sat 18 Jan 2020 03:40:43 PM UTC, comment #8: 

[I was in the process of posting the following message yesterday when my laptop battery ran out of power and I ran out of time.]

I pushed the following changeset on stable and merged with default.


It doesn't fix everything, but I think I got most of them.

There are some more generated files in the list that can be skipped.  But instead of trying to maintain a list of generated files, is there a way for you to work with the mercurial archive instead?  Then you could use "hg locate" to give you a list of all the ultimate source files in the archive.  Everything else is generated from those, so we really should only need to fix problems in those ultimate source files.

John W. Eaton <jwe>
Project Administrator
Fri 17 Jan 2020 11:14:43 PM UTC, comment #7: 

Without really understanding what I done I tried now the suggestion of John. I downloaded the latest development version using "hg" and piped the output of the "hg locate" command into a file. That file was used to build a xz-compressed tar file that was again used for the Fossies "codespell" analysis. Here the result:


Obviously most of the spelling errors and typos are already corrected. I'm impressed.

Fri 17 Jan 2020 05:41:03 PM UTC, comment #6: 

Ok, so a new report was generated ignoring now additionally the ChangeLog file (63 error occurrences less) and the overseen "gnulib" directory containing external software (5 error occurrences less).

Fri 17 Jan 2020 04:12:51 PM UTC, comment #5: 

There is probably no point in checking or trying to fix spelling errors in the ChangeLog file since it is also generated from the mercurial commit messages.  It's unfortunate, but there's no reasonable way to fix mistakes in the commit messages.

I think the only files we need to check are the ones listed by the  "hg locate" command.  Any others either belong to gnulib or are generated by the build process.  Mistakes in generated files should be fixed if we correct the ultimate source files and scripts that generate them.

John W. Eaton <jwe>
Project Administrator
Fri 17 Jan 2020 10:27:52 AM UTC, comment #4: 

Hi Kai Torben,

> A handy feature was a patch/diff file, which I can just download apply, and decide to accept your spell fix suggestions.

The request is understandable and I thought about such a Fossies service but since I'm not sure which of the matched words are really spelling errors or typos that could respectively should be corrected Fossies offers only the information (especially variable and class names, URLs, mail addresses and words that directly "touch" some kinds of delimiters or escape  characters may be problematic, some spelling corrections may be ambiguous, some words can be deliberately misspelled and some corrections may have unwanted side effects).

So a vague idea was to make the spelling errors selectable and then to create multiple (or even one) unidiff file(s) but that isn't trivial to realize and for e.g. probably not usable by projects using GitHub.

By the way, the basically used tool "codespell" offers an option "--write-changes" (write changes in place if possible). Together with the option "--interactive 3" (ask for confirmation and ask user to choose one fix when more than one is available) it may be a possible solution (but untested!). To create an appropriate list of words and files to be ignored the mentioned Fossies configuration may be helpful start point.

Thanks for your hint to the false positive that I have "fortunately" overseen. "Fortunately" since you detected a bug on Fossies that was introduced as the line coloring feature for misspelled member files were added (now hopefully fixed).

Using also the hints from Pantxo I have now rerun the check and voilĂ , now there are 17 error occurrences less ;-)

Fri 17 Jan 2020 09:07:11 AM UTC, comment #3: 

Sorry, the tarball ships the doc ready compiled so my last statement is wrong.

Pantxo Diribarne <pantxo>
Project Member
Fri 17 Jan 2020 08:59:20 AM UTC, comment #2: 

The html files in doc/interpreter/octave.html/ are all generated from the texinfo sources (.txi and .texi files in doc/interpreter/), so are all .info files. So you can safely eliminate the octave.html directory and *.info files.
The simplest way to eliminate such duplicates is probably to run your spellcheck tool on the tarball, before compilation.

Pantxo Diribarne <pantxo>
Project Member
Fri 17 Jan 2020 01:57:32 AM UTC, comment #1: 

Thank you for this nice tool.  Octave should definitely make use of it for the next release Octave 6.  For Octave 5.1.90 this depends on our limited manpower.

A handy feature was a patch/diff file, which I can just download apply, and decide to accept your spell fix suggestions.  The file


is already very nice but I have no idea how to easily apply all those suggestions except for writing a script or to go through it line by line.

One false positive is here


but this is a file involving multiple languages.  Does your tool or website have an encoding issue?

Kai Torben Ohlhus <siko1056>
Project Member
Thu 16 Jan 2020 08:16:45 PM UTC, original submission:  

The FOSS server fossies.org - also supporting the latest Octave release - offers a new feature "Source code misspelling reports".

Such reports are normally only generated on request, but as Fossies administrator I have just created (for testing purposes) an analysis for the current development version Octave 5.1.90.

Since development versions are not normally supported by Fossies I have put it in a special "test" folder (that isn't integrated in the Fossies standard services and should - at least principally - also not accessible by search engines):



Although after a first review some obviously wrong matches ("false positives") are already filtered out (ignored) please inform me if you find more of them so that I can force a new improved check if applicable.

Just for information there are also two supplemental pages


showing some used "codespell" configurations and


showing all resulting obvious "false positives".

And two small remarks:

All files in the directory "OLD-ChangeLogs" were ignored (excluded) since they are containing many spelling errors but are probably no longer interesting for possible spelling corrections (but if so please let me know).

Unsure I was about the word "indicies" at line 263 and 268 of the file libinterp/parse-tree/jit-typeinfo.cc since in the neighborhood in similar constructs also the suggested word "indices" is in use (sorry, I'm a C-layman).



(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:

Attached Files
file #48263:  codespell-ignore.txt added by mtmiller (671B - text/plain)


Depends on the following items: None found

Items that depend on this one: None found


Carbon-Copy List
  • -email is unavailable- added by jwe (Posted a comment)
  • -email is unavailable- added by pantxo (Posted a comment)
  • -email is unavailable- added by siko1056 (Posted a comment)
  • -email is unavailable- added by None (Submitted the item)

    Do you think this task is very important?
    If so, you can add your encouragement to it.
    This task has 0 encouragements so far.

    Only project members can vote.




    Follow 9 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2020-01-23 mtmiller StatusConfirmed => Fixed
        Open/ClosedOpen => Closed
        Releasedev => 5.1.90
    2020-01-21 mtmiller Attached File- => Added codespell-ignore.txt, #48263
    2020-01-17 siko1056 CategoryNone => Documentation
        Severity3 - Normal => 1 - Wish
        Priority5 - Normal => 3 - Low
        Item GroupOther => Documentation
        StatusNone => Confirmed

    Back to the top

    Powered by Savane 3.5