promotional bannermobile promotional banner

GSE: Sequences, Variables, Macros

GSE is an advanced macro compiler that is an alternative to the limits provided by the default macro editor.

File Details

3.3.17

  • R
  • May 17, 2026
  • 1.01 MB
  • 17.5K
  • 12.0.5+6
  • Retail + 3

File Name

GSE-3.3.17.zip

Supported Versions

  • 12.0.5
  • 11.0.5
  • 11.0.2
  • 5.5.4
  • 5.5.3
  • 2.5.5
  • 1.15.8

GSE

3.3.17 (2026-05-16)

Full Changelog Previous Releases

  • #1893 update build script
  • #1890 Statics: register specId 1480 (DH Devourer/Aldrachi) in SpecIDClassList
  • #1890 Colour code corrections — don't rewrite MacroBlock text mid-typing
    The previous patch's macroEditBox OnTextChanged handler called
    sel:SetText(value) to rewrite the visible text when decoded value
    differed from raw input. AceGUI fires OnTextSet after SetText, which
    resets the caret to position 0 and strips editor colour markup —
    producing a visible cursor-jump and lost colouring whenever the user
    typed into a MacroBlock.
    Drop the sel:SetText branch. The handler still decodes value and
    stores the clean form via StoreMacroEditorText(value); we just no
    longer overwrite the live edit box while the user is interacting
    with it. The same change applies to GSE_QoL's CreateSpellEditBox
    override since it mirrors the base GUI implementation.
    Patch from external contributor (Larry, 2026-05-10).
  • #1890 Colour code corrections — UI editor decode/disable-coloring wiring
    Editor.lua:
    - GetCompiledMacroBodyLength — decode before measuring length.
    - Raw editor compile/cancel — decode input before loadstring; disable
    IndentationLib on widget release/cancel so stale colouring doesn't leak.
    - Per-action save (cfg.sourceBox) — StoreMacroEditorText for macro fields,
    DecodeEditorText for everything else.
    - Raw-edit button — sanitize sequence version before opening raw editor.
    - Macro action render — repair leaked markup on action.macro before display,
    decode spelltext for non-macro types, decode in OnTextChanged callbacks.
    - macroEditBox — DisableMultilineEditorColoring on creation/release; decode
    text on change with a recursion guard before storing via StoreMacroEditorText.
    Editor_Actions.lua:
    - Wrap each spellEditBox:GetText() with DecodeEditorText (or
    StoreMacroEditorText for macro radio).
    - Compiled-side-panel + visible-char count both decoded.
    Editor_Macro.lua:
    - Macro template / compiled-template / OnTextChanged paths decode through
    DecodeMacroEditorText / StoreMacroEditorText.
    - Manual macro display SetText decoded.
    Editor_Variable.lua:
    - OnRelease callback disables IndentationLib on the value editor.
    MacroCompare.lua:
    - DisableCompareColoring on close, action button, and OnRelease for both
    diff columns.
    MacroPreview.lua:
    - DisablePreviewColoring on PreviewLabel OnRelease.
    QoL.lua (GameMode > 10 retail-spell editor):
    - Mirrors Editor.lua's macroEditBox pattern: repair-on-display, decode
    OnTextChanged with recursion guard, DisableMultilineEditorColoring on
    create/release, count + side-panel through decode helpers.
  • #1890 Colour code corrections — sanitize on storage and import paths
    Storage.lua:
    - migrateSequenceVersions / ReplaceSequence — call SanitizeSequenceEditorMarkup
    so previously-stored sequences with leaked markup get cleaned on next save.
    - buildAction / CompileMacroText — decode macro text before slash-command
    detection so a leaked colour prefix doesn't hide the leading "/".
    Utils.lua:
    - OOCAddSequenceToCollection / OOCPerformMergeAction — sanitize before storing.
    - processWAGOImport — scrub the imported tree.
    - ImportSerialisedSequence — scrub COLLECTION payloads (with defensive
    or {} on Sequences/Variables/Macros), MACRO, and VARIABLE imports.
    - Adds local helpers scrubImportedEditorMarkup / scrubCollectionPayload that
    recurse using the new GSE.Decode* helpers (with inline fallback if absent).
  • #1890 Colour code corrections — add editor-markup decode helpers
    Adds shared helpers used across the editor, storage, and import paths to
    strip leaked WoW colour markup (|cff…|r and || escape pairs) without
    losing the translator-coloured display text:
    GSE.DecodeEditorText — strip colour markup from any string
    GSE.DecodeMacroEditorText — same + repair |cmd → /cmd at line starts
    GSE.StoreMacroEditorText — decode + recompile-then-decode for storage
    GSE.SanitizeSequenceEditorMarkup — recursive walker over sequence tables
    This commit lands the helpers only; storage/import/UI call-sites follow.
  • #1890 Hide the macro compilation unless the cokmpile template window is open
  • #1893 manage import queue