bsegraves / custom-folds

Atom plugin for defining custom markers for foldable regions.
MIT License
24 stars 9 forks source link

Uncaught TypeError: Cannot read property 'trim' of undefined #56

Open GaelicGrime opened 3 years ago

GaelicGrime commented 3 years ago

[Enter steps to reproduce:]

  1. I haven't found steps which always error, or succeed in folding
  2. it is always on a fold from the gutter
  3. always in a section where there are several folds in a row, all matched, no folds are pasted, or deleted
  4. has not yet happened on fold marker other than 1 fold0 fold1 fold1 fold2 fold1
  5. it has always happened after a paste or cut of lines between fold 1 markers
  6. 3 different pieces of code have acted up, all similar to the pasted bit below
  7. the code where it happens is a large if elif elif ... which creates data structures from a list of tuples, allowing "users" to make code changes

Atom: 1.53.0 x64 Electron: 6.1.12 OS: linux 5.10.5-arch1-1 Thrown From: custom-folds package 1.9.5

Stack Trace

Uncaught TypeError: Cannot read property 'trim' of undefined

At /home/will/.atom/packages/custom-folds/lib/index.js:313

TypeError: Cannot read property 'trim' of undefined
    at Object.foldRow (/packages/custom-folds/lib/index.js:313:56)
    at /packages/custom-folds/lib/index.js:489:16)
    at HTMLDivElement.dispatch (/packages/custom-folds/node_modules/jquery/dist/jquery.js:4435:9)
    at HTMLDivElement.elemData.handle (/packages/custom-folds/node_modules/jquery/dist/jquery.js:4121:28)

Commands

     -2:31 core:cut (input.hidden-input)
     -2:08.0 intentions:highlight (input.hidden-input)
     -2:04.6.0 core:paste (input.hidden-input)
     -2:02.5.0 window:save-all (input.hidden-input)
  2x -1:30.5.0 editor:move-to-first-character-of-line (input.hidden-input)
     -1:19.2.0 core:move-up (input.hidden-input)
  8x -1:17.4.0 core:select-up (input.hidden-input)
     -1:14.6.0 intentions:highlight (input.hidden-input)
     -1:14.1.0 core:copy (input.hidden-input)
  4x -1:13.6.0 core:move-down (input.hidden-input)
     -1:10.3.0 intentions:highlight (input.hidden-input)
     -1:09.7.0 core:paste (input.hidden-input)
  4x -1:03.0 core:backspace (input.hidden-input)
     -0:44.1.0 intentions:highlight (input.hidden-input)
     -0:43.8.0 window:save-all (input.hidden-input)
     -0:08.4.0 editor:move-to-first-character-of-line (input.hidden-input)

Non-Core Packages

atom-keyboard-macros 0.12.1 
atom-python-run 0.9.7 
autocomplete-python 1.16.0 
busy-signal 2.0.1 
Chromodynamics 0.0.11 
custom-folds 1.9.5 
highlight-selected 0.17.0 
Hydrogen 2.14.6 
hydrogen-launcher 1.2.2 
hydrogen-python 0.0.8 
hydrogen-run 0.1.8 
ide-python 1.7.1 
intentions 1.1.5 
kite 0.197.0 
language-lua 0.9.11 
linter 3.1.1 
linter-coffeescript 1.0.0 
linter-ui-default 2.3.5 
MagicPython 1.1.1 
nyan-indent 0.9.8 
preview 0.19.0 
preview-plus 1.2.7 
python-debugger 0.2.0 
rainbow-delimiters 2.1.2 
script 3.29.3 
sort-lines 0.19.0 
Sublime-Style-Column-Selection 1.7.5 
sync-settings 5.1.0 
sync-settings-git-location 1.1.8 
for thisItem_ in TBGLST:
# fold here ⟱⟱⟱⟱⟱⟱⟱⟱⟱⟱⟱⟱⟱⟱⟱⟱⟱⟱⟱⟱⟱⟱⟱⟱⟱⟱⟱⟱⟱⟱⟱⟱⟱⟱⟱⟱⟱⟱⟱⟱⟱⟱⟱⟱⟱⟱⟱⟱⟱⟱⟱⟱⟱⟱⟱⟱⟱⟱⟱⟱⟱⟱⟱⟱⟱⟱⟱⟱⟱⟱⟱⟱⟱⟱⟱⟱⟱⟱⟱⟱⟱⟱⟱⟱⟱⟱⟱⟱
    thisItemLen_ = len(thisItem_)
    if thisItemLen_ < 3:
        doErrorItem("fewer than 3 elements", thisItem_)
        continue
    if not isinstance(thisItem_, tuple):
        doErrorItem("not a tuple", thisItem_)
        continue
    thisName_ = thisItem_[0]
    thisAX_ = thisItem_[1]
    thisComment_ = thisItem_[-1]
    if thisAX_ not in FMAXFM_AXLST:
        # fold here ⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥
        doErrorItem("not a supported action in FM", thisItem_)
        continue
        # fold here ⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣
    elif thisAX_ == FMAX_CHRDEF:  # SCTN01
        # fold here ⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥
        if thisItemLen_ != 4:
            doErrorItem("not 4 items", thisItem_)
            continue
        FM_SCTN01CHRDICT[thisName_] = f"{DBLQT}{thisItem_[2]}{DBLQT}"
        FM_SCTN01CHRCMNTDICT[thisName_] = f"{thisComment_}"
        continue
        # fold here ⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣
    elif thisAX_ == FMAX_LAMBDADEF:  # SCTN02
        # fold here ⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥
        if thisItemLen_ != 4:
            doErrorItem("not 4 items", thisItem_)
            continue
        thisValue_ = thisItem_[2]
        FM_SCTN02VALDICT[thisName_] = f"lambda {thisValue_}"
        FM_SCTN02VALCMNTDICT[thisName_] = "{thisComment_}"
        continue
        # fold here ⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣
    elif thisAX_ == FMAX_STRDEF:  # SCTN02
        # fold here ⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥
        if thisItemLen_ != 4:
            doErrorItem("not 4 items", thisItem_)
            continue
        thisValue_ = thisItem_[2]
        FM_SCTN02VALDICT[thisName_] = f"{DBLQT}{thisValue_}{DBLQT}"
        FM_SCTN02VALCMNTDICT[thisName_] = f"{thisComment_}"
        continue
        # fold here ⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣
    elif thisAX_ == FMAX_TYPEDEF:  # SCTN03
        # fold here ⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥
        if thisItemLen_ != 4:
            doErrorItem("not 4 items", thisItem_)
            continue
        thisValue_ = thisItem_[2]
        FM_SCTN03TYPEDICT[thisName_] = f"{DBLQT}{thisValue_}{DBLQT}"
        FM_SCTN03TYPECMNTDICT[thisName_] = f"{thisComment_}"
        continue
        # fold here ⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣
    elif thisAX_ == FMAX_VALDEF:  # SCTN02
        # fold here ⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥
        if thisItemLen_ != 4:
            doErrorItem("not 4 items", thisItem_)
            continue
        thisValue_ = thisItem_[2]
        FM_SCTN02VALDICT[thisName_] = f"{thisValue_}"
        FM_SCTN02VALCMNTDICT[thisName_] = f"{thisComment_}"
        continue
        # fold here ⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣
    elif thisAX_ == FMAXFM_AXDEF:  # SCTN11
        # fold here ⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥
        if thisItemLen_ != 3:
            doErrorItem("not 3 items", thisItem_)
            continue
        FMFM_SCTN11AXDEFDICT[thisName_] = f"{DBLQT}{thisName_}{DBLQT}"
        FMFM_SCTN11AXDEFCMNTDICT[thisName_] = f"{thisComment_}"
        continue
        # fold here ⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣
    elif thisAX_ == FMAXFM_DICTDEF:  # SCTN14
        # fold here ⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥
        if thisItemLen_ != 3:
            doErrorItem("not 3 items", thisItem_)
            continue
        FMFM_SCTN12DEFINESDICT[thisName_] = f"{OBRCE}{CBRCE}"
        FMFM_SCTN12DEFINESCMNTDICT[thisName_] = f"{thisComment_}"
        continue
        # fold here ⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣
    elif thisAX_ == FMAXFM_DICTKEYDEF:  # SCTN12
        # fold here ⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥
        if thisItemLen_ != 3:
            doErrorItem("not 3 items", thisItem_)
            continue
        FMFM_SCTN13DICTKEYSDICT[thisName_] = f"{thisName_} = {DBLQT}{thisName_}{DBLQT}"
        FMFM_SCTN13DICTKEYSCMNTDICT[thisName_] = f"{thisComment_}"
        continue
        # fold here ⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣
    elif thisAX_ == FMAXFM_LISTDEF:  # SCTN14
        # fold here ⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥
        if thisItemLen_ != 3:
            doErrorItem("not 3 items", thisItem_)
            continue
        FMFM_SCTN12DEFINESDICT[thisName_] = f"{OBRKT}{CBRKT}"
        FMFM_SCTN12DEFINESCMNTDICT[thisName_] = f"{thisComment_}"
        continue
        # fold here ⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣
    elif thisAX_ == FMAXFM_STRDEF:  # SCTN13
        # fold here ⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥
        if thisItemLen_ != 4:
            doErrorItem("not 4 items", thisItem_)
            continue
        thisValue_ = thisItem_[2]
        FMFM_SCTN12DEFINESDICT[thisName_] = f"{thisValue_}"
        FMFM_SCTN12DEFINESCMNTDICT[thisName_] = f"{thisComment_}"
        continue
        # fold here ⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣
    elif thisAX_ == FMAXFM_VALDEF:  # SCTN13
        # fold here ⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥
        if thisItemLen_ != 4:
            doErrorItem("not 4 items", thisItem_)
            continue
        thisValue_ = thisItem_[2]
        FMFM_SCTN12DEFINESDICT[thisName_] = f"{thisValue_}"
        FMFM_SCTN12DEFINESCMNTDICT[thisName_] = f"{thisComment_}"
        continue
        # fold here ⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣
    elif thisAX_ == FMAXC_DICTDEF:  # SCTN23
        # fold here ⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥
        if thisItemLen_ != 3:
            doErrorItem("not 3 items", thisItem_)
            continue
        if thisName_ not in FMC_SCTN23DICTDICT:
            FMC_SCTN23DICTDICT[thisName_] = f""
        FMC_SCTN23CMNTDICT[thisName_] = f"{thisComment_}"
        continue
        # fold here ⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣
    elif thisAX_ == FMAXC_DICTKEYDEF:  # SCTN22
        # fold here ⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥
        if thisItemLen_ != 3:
            doErrorItem("not 3 items", thisItem_)
            continue
        FMC_SCTN22DEFINESDICT[thisName_] = f"{thisName_} = {DBLQT}{thisName_}{DBLQT}"
        FMC_SCTN22DEFINESCMNTDICT[thisName_] = f"{thisComment_}"
        continue
        # fold here ⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣
    elif thisAX_ == FMAXC_DICTSTRADD:  # SCTN23 name ax dictname val cmnt
        # fold here ⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥
        if thisItemLen_ != 5:
            doErrorItem("not 5 items", thisItem_)
            continue
        thisDictName_ = thisItem_[2]
        thisValue_ = thisItem_[3]
        if thisDictName_ not in FMC_SCTN23DICTDICT:
            FMC_SCTN23DICTDICT[thisDictName_] = ""
        FMC_SCTN22DEFINESDICT[thisName_] = f"{DBLQT}{thisName_}{DBLQT}"
        FMC_SCTN22DEFINESCMNTDICT[thisName_] = f"{thisComment_}"
        FMC_SCTN23DICTDICT[thisDictName_] += f"{NTAB(1)}{thisName_}: {DBLQT}{thisValue_}{DBLQT}{NEWLINE}"
        continue
        # fold here ⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣
    elif thisAX_ == FMAXC_DICTVALADD:  # SCTN23 name ax dictname val cmnt
        # fold here ⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥
        if thisItemLen_ != 5:
            doErrorItem("not 5 items", thisItem_)
            continue
        thisDictName_ = thisItem_[2]
        thisValue_ = thisItem_[3]
        if thisDictName_ not in FMC_SCTN23DICTDICT:
            FMC_SCTN23DICTDICT[thisDictName_] = ""
        FMC_SCTN22DEFINESDICT[thisName_] = f"{DBLQT}{thisName_}{DBLQT}"
        FMC_SCTN22DEFINESCMNTDICT[thisName_] = f"{thisComment_}"
        FMC_SCTN23DICTDICT[thisDictName_] += f"{NTAB(1)}{thisName_}: {thisValue_}{NEWLINE}"
        continue
        # fold here ⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣
    elif thisAX_ == FMAXC_LAMBDADEF:  # SCTN23
        # fold here ⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥
        if thisItemLen_ != 4:
            doErrorItem("not 4 items", thisItem_)
            continue
        thisValue_ = thisItem_[2]
        FMC_SCTN22DEFINESDICT[thisName_] = f"lambda {thisValue_}"
        FMFM_SCTN12DEFINESCMNTDICT[thisName_] = f"{thisComment_}"
        continue
        # fold here ⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣
    elif thisAX_ == FMAXC_LISTDEF:  # SCTN23
        # fold here ⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥
        if thisItemLen_ != 3:
            doErrorItem("not 3 items", thisItem_)
            continue
        if thisName_ not in FMC_SCTN23LISTDICT:
            FMC_SCTN23LISTDICT[thisName_] = ""
        FMC_SCTN23CMNTDICT[thisName_] = f"{thisComment_}"
        continue
        # fold here ⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣
    elif thisAX_ == FMAXC_LISTSTRADD:  # SCTN23
        # fold here ⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥
        if thisItemLen_ != 5:
            doErrorItem("not 5 items", thisItem_)
            continue
        thisObjectName_ = thisItem_[2]
        thisObjectValue_ = thisItem_[3]
        if thisObjectName_ not in FMC_SCTN23LISTDICT:
            FMC_SCTN23LISTDICT[thisObjectName_] = ""
        FMC_SCTN23LISTDICT[thisObjectName_] += f"{NTAB(1)}{DBLQT}{thisObjectValue_}{DBLQT},  # {thisComment_}{NEWLINE}"
        continue
        # fold here ⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣
    elif thisAX_ == FMAXC_LISTVALADD:  # SCTN23
        # fold here ⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥
        if thisItemLen_ != 5:
            doErrorItem("not 5 items", thisItem_)
            continue
        thisObjectName_ = thisItem_[2]
        thisObjectValue_ = thisItem_[3]
        if thisObjectName_ not in FMC_SCTN23LISTDICT:
            FMC_SCTN23LISTDICT[thisObjectName_] = ""
        FMC_SCTN23LISTDICT[thisObjectName_] += f"{NTAB(1)}{thisObjectValue_},  # {thisComment_}{NEWLINE}"
        continue
        # fold here ⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣
    elif thisAX_ == FMAXC_STRDEF:  # SCTN22
        # fold here ⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥
        if thisItemLen_ != 4:
            doErrorItem("not 4 items", thisItem_)
            continue
        thisValue_ = thisItem_[2]
        FMC_SCTN22DEFINESDICT[thisName_] = f"{DBLQT}{thisValue_}{DBLQT}"
        FMC_SCTN22DEFINESCMNTDICT[thisName_] = f"{thisComment_}"
        continue
        # fold here ⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣
    elif thisAX_ == FMAXC_VALDEF:  # SCTN22
        # fold here ⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥
        if thisItemLen_ != 4:
            doErrorItem("not 4 items", thisItem_)
            continue
        thisValue_ = thisItem_[2]
        FMC_SCTN22DEFINESDICT[thisName_] = f"{thisValue_}"
        FMC_SCTN22DEFINESCMNTDICT[thisName_] = f"{thisComment_}"
        continue
        # fold here ⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣
    elif thisAX_ == FMAXC_WRAPPERDEF:  # SCTN21
        # fold here ⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥⥥
        if thisItemLen_ != 4:
            doErrorItem("not 4 items", thisItem_)
            continue
        thisValue_ = thisItem_[2]
        if thisName_ not in FMC_SCTN21EXTERNALWRAPDICT:
            FMC_SCTN21EXTERNALWRAPDICT[thisName_] = ""
        FMC_SCTN21EXTERNALWRAPDICT[thisName_] += f"{thisValue_}"
        FMC_SCTN21EXTERNALWRAPCMNTDICT[thisName_] = f"{thisComment_}"
        continue
        # fold here ⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣⥣

# fold here ⟰⟰⟰⟰⟰⟰⟰⟰⟰⟰⟰⟰⟰⟰⟰⟰⟰⟰⟰⟰⟰⟰⟰⟰⟰⟰⟰⟰⟰⟰⟰⟰⟰⟰⟰⟰⟰⟰⟰⟰⟰⟰⟰⟰⟰⟰⟰⟰⟰⟰⟰⟰⟰⟰⟰⟰⟰⟰⟰⟰⟰⟰⟰⟰⟰⟰⟰⟰⟰⟰⟰⟰⟰⟰⟰⟰⟰⟰⟰⟰⟰⟰⟰⟰⟰⟰⟰⟰
GaelicGrime commented 3 years ago

some partial success reliably repeating this

the error seems to follow a number of operations: swap blocks of text around in code cut a section containing only one end of a fold block paste elsewhere cut another section from that destination, again containing one end paste it back where the first came from

everyone is matched and happy

if I unfold-all, fold-all after each and every swap, I have not seen the error, when I get lax, they are reduced if I manage to remember a fair amount of the time to expand/collapse-all

the only files I have seen the problem in, are ones with the structure as above, no other code which I cut and paste frequently in swapping things around like this way has given me this error

there may be a time involved, I will actually start desktop timers and see if I can shed light on time better