bugGNU Octave - Bugs: bug #65209, get() results should be...

 
 

bug #65209: get() results should be alphabetized

Submitter:  Nicholas Jankowski <nrjank>
Submitted:  Wed 24 Jan 2024 09:15:37 PM UTC
   
 
Category:  Octave Function Severity:  2 - Minor
Priority:  5 - Normal Item Group:  Feature Request
Status:  None Assigned to:  None
Originator Name:  Open/Closed:  * Open
Release:  * dev Operating System:  * Any
Fixed Release:  None Planned Release:  None
* Mandatory Fields

Add a New Comment Rich Markup
   

Wed 24 Jan 2024 09:15:37 PM UTC, original submission:  

when scanning through a list of object properties, it's helpful if they're in alphabetical order. get() appears to alphabetize in subsections, first listing all of the properties inherited from a base property set, then listing object specific ones, while set() alphabetizes the full list. e.g. in the following get() resets alphabetization after 'visible':


>> hf = figure(1);
>> get(hf)
ans =

  scalar structure containing the fields:

    beingdeleted = off
    busyaction = queue
    buttondownfcn = [](0x0)
    children = -34.057
    clipping = on
    contextmenu = [](0x0)
    createfcn = [](0x0)
    deletefcn = [](0x0)
    handlevisibility = on
    hittest = on
    interruptible = on
    parent = 0
    pickableparts = visible
    selected = off
    selectionhighlight = on
    tag =
    type = figure
    userdata = [](0x0)
    visible = on
    alphamap =

       1
       1
<snip>

    closerequestfcn = closereq
    color =

       1   1   1

    colormap =

       2.6700e-01   4.8743e-03   3.2942e-01
       2.7265e-01   2.5846e-02   3.5337e-01
       2.7711e-01   5.0914e-02   3.7624e-01
       2.8036e-01   7.4201e-02   3.9790e-01
       2.8239e-01   9.5954e-02   4.1825e-01
       2.8320e-01   1.1689e-01   4.3718e-01
<snip>

    currentaxes = -34.057
    currentcharacter =
    currentobject = [](0x0)
    currentpoint =

       0
       0

    dockcontrols = on
    filename =
    graphicssmoothing = on
    innerposition =

       862    73   560   420

    integerhandle = on
    inverthardcopy = on
    keypressfcn = [](0x0)
    keyreleasefcn = [](0x0)
    menubar = figure
    name =
    number = 1
    nextplot = add
    numbertitle = on
    outerposition =

       862   104   560   472

    paperorientation = portrait
    paperposition =

       1.1129   3.1471   6.2743   4.7057

    paperpositionmode = auto
    papersize =

        8.5000   11.0000

    papertype = usletter
    paperunits = inches
    pointer = arrow
    pointershapecdata =

       1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1
       1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1
<snip>

    pointershapehotspot =

       1   1

    position =

       862    73   560   420

    renderer = opengl
    renderermode = auto
    resize = on
    resizefcn = [](0x0)
    selectiontype = normal
    sizechangedfcn = [](0x0)
    toolbar = auto
    units = pixels
    windowbuttondownfcn = [](0x0)
    windowbuttonmotionfcn = [](0x0)
    windowbuttonupfcn = [](0x0)
    windowkeypressfcn = [](0x0)
    windowkeyreleasefcn = [](0x0)
    windowscrollwheelfcn = [](0x0)
    windowstate = normal
    windowstyle = normal

>> set(hf)

        alphamap:
        beingdeleted:  [ {off} | on ]
        busyaction:  [ cancel | {queue} ]
        buttondownfcn:
        clipping:  [ off | {on} ]
        closerequestfcn:
        color:
        colormap:
        contextmenu:
        createfcn:
        currentaxes:
        deletefcn:
        dockcontrols:  [ off | {on} ]
        filename:
        graphicssmoothing:  [ off | {on} ]
        handlevisibility:  [ callback | off | {on} ]
        hittest:  [ off | {on} ]
        innerposition:
        integerhandle:  [ off | {on} ]
        interruptible:  [ off | {on} ]
        inverthardcopy:  [ off | {on} ]
        keypressfcn:
        keyreleasefcn:
        menubar:  [ {figure} | none ]
        name:
        nextplot:  [ {add} | new | replace | replacechildren ]
        numbertitle:  [ off | {on} ]
        outerposition:
        paperorientation:  [ landscape | {portrait} ]
        paperposition:
        paperpositionmode:  [ {auto} | manual ]
        papersize:
        papertype:  [ <custom> | a | a0 | a1 | a2 | a3 | a4 | a5 | arch-a | arch-b | arch-c | arch-d | arch-e | b | b0 | b1 | b2 | b3 | b4 | b5 | c | d | e | tabloid | uslegal | {usletter} ]
        paperunits:  [ centimeters | {inches} | normalized | points ]
        parent:
        pointer:  [ {arrow} | botl | botr | bottom | circle | cross | crosshair | custom | fleur | hand | ibeam | left | right | top | topl | topr | watch ]
        pointershapecdata:
        pointershapehotspot:
        position:
        renderer:  [ {opengl} | painters ]
        renderermode:  [ {auto} | manual ]
        resize:  [ off | {on} ]
        resizefcn:
        selected:  [ {off} | on ]
        selectionhighlight:  [ off | {on} ]
        selectiontype:  [ alt | extend | {normal} | open ]
        sizechangedfcn:
        tag:
        toolbar:  [ {auto} | figure | none ]
        units:  [ centimeters | characters | inches | normalized | {pixels} | points ]
        userdata:
        visible:  [ off | {on} ]
        windowbuttondownfcn:
        windowbuttonmotionfcn:
        windowbuttonupfcn:
        windowkeypressfcn:
        windowkeyreleasefcn:
        windowscrollwheelfcn:
        windowstate:  [ fullscreen | maximized | minimized | {normal} ]
        windowstyle:  [ docked | modal | {normal} ]
>> gg = get(hf)
gg =

  scalar structure containing the fields:

    beingdeleted = off
    busyaction = queue
    buttondownfcn = [](0x0)
    children = -34.057
    clipping = on
    contextmenu = [](0x0)
    createfcn = [](0x0)
    deletefcn = [](0x0)
    handlevisibility = on
    hittest = on
    interruptible = on
    parent = 0
    pickableparts = visible
    selected = off
    selectionhighlight = on
    tag =
    type = figure
    userdata = [](0x0)
    visible = on
    alphamap =

       1
       1
<snip>

    closerequestfcn = closereq
    color =

       1   1   1

    colormap =

       2.6700e-01   4.8743e-03   3.2942e-01
       2.7265e-01   2.5846e-02   3.5337e-01
<snip>

    currentaxes = -34.057
    currentcharacter =
    currentobject = [](0x0)
    currentpoint =

       0
       0

    dockcontrols = on
    filename =
    graphicssmoothing = on
    innerposition =

       862    73   560   420

    integerhandle = on
    inverthardcopy = on
    keypressfcn = [](0x0)
    keyreleasefcn = [](0x0)
    menubar = figure
    name =
    number = 1
    nextplot = add
    numbertitle = on
    outerposition =

       862   104   560   472

    paperorientation = portrait
    paperposition =

       1.1129   3.1471   6.2743   4.7057

    paperpositionmode = auto
    papersize =

        8.5000   11.0000

    papertype = usletter
    paperunits = inches
    pointer = arrow
    pointershapecdata =

       1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1
       1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1
<snip>

    pointershapehotspot =

       1   1

    position =

       862    73   560   420

    renderer = opengl
    renderermode = auto
    resize = on
    resizefcn = [](0x0)
    selectiontype = normal
    sizechangedfcn = [](0x0)
    toolbar = auto
    units = pixels
    windowbuttondownfcn = [](0x0)
    windowbuttonmotionfcn = [](0x0)
    windowbuttonupfcn = [](0x0)
    windowkeypressfcn = [](0x0)
    windowkeyreleasefcn = [](0x0)
    windowscrollwheelfcn = [](0x0)
    windowstate = normal
    windowstyle = normal

>> ss = set(hf)
ss =

  scalar structure containing the fields:

    alphamap = {}(0x0)
    beingdeleted =
    {
      [1,1] = off
      [2,1] = on
    }

    busyaction =
    {
      [1,1] = cancel
      [2,1] = queue
    }

    buttondownfcn = {}(0x0)
    clipping =
    {
      [1,1] = off
      [2,1] = on
    }

    closerequestfcn = {}(0x0)
    color = {}(0x0)
    colormap = {}(0x0)
    contextmenu = {}(0x0)
    createfcn = {}(0x0)
    currentaxes = {}(0x0)
    deletefcn = {}(0x0)
    dockcontrols =
    {
      [1,1] = off
      [2,1] = on
    }

    filename = {}(0x0)
    graphicssmoothing =
    {
      [1,1] = off
      [2,1] = on
    }

    handlevisibility =
    {
      [1,1] = callback
      [2,1] = off
      [3,1] = on
    }

    hittest =
    {
      [1,1] = off
      [2,1] = on
    }

    innerposition = {}(0x0)
    integerhandle =
    {
      [1,1] = off
      [2,1] = on
    }

    interruptible =
    {
      [1,1] = off
      [2,1] = on
    }

    inverthardcopy =
    {
      [1,1] = off
      [2,1] = on
    }

    keypressfcn = {}(0x0)
    keyreleasefcn = {}(0x0)
    menubar =
    {
      [1,1] = figure
      [2,1] = none
    }

    name = {}(0x0)
    nextplot =
    {
      [1,1] = add
      [2,1] = new
      [3,1] = replace
      [4,1] = replacechildren
    }

    numbertitle =
    {
      [1,1] = off
      [2,1] = on
    }

    outerposition = {}(0x0)
    paperorientation =
    {
      [1,1] = landscape
      [2,1] = portrait
    }

    paperposition = {}(0x0)
    paperpositionmode =
    {
      [1,1] = auto
      [2,1] = manual
    }

    papersize = {}(0x0)
    papertype =
    {
      [1,1] = <custom>
      [2,1] = a
      [3,1] = a0
      [4,1] = a1
      [5,1] = a2
      [6,1] = a3
      [7,1] = a4
      [8,1] = a5
      [9,1] = arch-a
      [10,1] = arch-b
      [11,1] = arch-c
      [12,1] = arch-d
      [13,1] = arch-e
      [14,1] = b
      [15,1] = b0
      [16,1] = b1
      [17,1] = b2
      [18,1] = b3
      [19,1] = b4
      [20,1] = b5
      [21,1] = c
      [22,1] = d
      [23,1] = e
      [24,1] = tabloid
      [25,1] = uslegal
      [26,1] = usletter
    }

    paperunits =
    {
      [1,1] = centimeters
      [2,1] = inches
      [3,1] = normalized
      [4,1] = points
    }

    parent = {}(0x0)
    pointer =
    {
      [1,1] = arrow
      [2,1] = botl
      [3,1] = botr
      [4,1] = bottom
      [5,1] = circle
      [6,1] = cross
      [7,1] = crosshair
      [8,1] = custom
      [9,1] = fleur
      [10,1] = hand
      [11,1] = ibeam
      [12,1] = left
      [13,1] = right
      [14,1] = top
      [15,1] = topl
      [16,1] = topr
      [17,1] = watch
    }

    pointershapecdata = {}(0x0)
    pointershapehotspot = {}(0x0)
    position = {}(0x0)
    renderer =
    {
      [1,1] = opengl
      [2,1] = painters
    }

    renderermode =
    {
      [1,1] = auto
      [2,1] = manual
    }

    resize =
    {
      [1,1] = off
      [2,1] = on
    }

    resizefcn = {}(0x0)
    selected =
    {
      [1,1] = off
      [2,1] = on
    }

    selectionhighlight =
    {
      [1,1] = off
      [2,1] = on
    }

    selectiontype =
    {
      [1,1] = alt
      [2,1] = extend
      [3,1] = normal
      [4,1] = open
    }

    sizechangedfcn = {}(0x0)
    tag = {}(0x0)
    toolbar =
    {
      [1,1] = auto
      [2,1] = figure
      [3,1] = none
    }

    units =
    {
      [1,1] = centimeters
      [2,1] = characters
      [3,1] = inches
      [4,1] = normalized
      [5,1] = pixels
      [6,1] = points
    }

    userdata = {}(0x0)
    visible =
    {
      [1,1] = off
      [2,1] = on
    }

    windowbuttondownfcn = {}(0x0)
    windowbuttonmotionfcn = {}(0x0)
    windowbuttonupfcn = {}(0x0)
    windowkeypressfcn = {}(0x0)
    windowkeyreleasefcn = {}(0x0)
    windowscrollwheelfcn = {}(0x0)
    windowstate =
    {
      [1,1] = fullscreen
      [2,1] = maximized
      [3,1] = minimized
      [4,1] = normal
    }

    windowstyle =
    {
      [1,1] = docked
      [2,1] = modal
      [3,1] = normal
    }


Nicholas Jankowski <nrjank>
Group Member

 

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

Attach Files:
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by nrjank (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only group members can vote.

     

    No changes have been made to this item

    Back to the top

    Powered by Savane 3.13-caa5.
    Corresponding source code