[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gambas-bugtracker] Bug #2900: Make enum.index available between the opening for and closing next within the program


http://gambaswiki.org/bugtracker/edit?object=BUG.2900&from=L21haW4-

Brian G reported a new bug.

Summary
-------

Make enum.index available between the opening for and closing next within the program

Type             : Request
Priority         : Medium
Gambas version   : Master
Product          : Language


Description
-----------

Is it possible to make the enum.index for the current for next loop available to the program between the for and next statements and not just available withing the _next procedure in a class.

This would allow nested key values by accessing the current enum.index to dynamically generate the key from the index content.

allowing something like

for each i as integer in myclass use index2
               print i, index2.key
               for each j as integer in myclass use index3
                    if  index2.key == index3.tag and index3.tag <> index2.tag then
                       print index3.key
                    endif
              next
              print i,index2.key
next 

Sort of like that ??? of course the inner loop usually is is some other obscure call to a function.
or perhaps some other method of denoting which enum.index to use. Currently In reality when the inner loop completes and returns,
the data the outer loop was processing has been destroyed. 

I guess the other option is to copy always all the information being used to another variable, always just in case.


System information
------------------

[System]
Gambas=3.19.90
OperatingSystem=Linux
Distribution=Linux Mint 21.3 (Virginia)
Kernel=6.5.0-35-generic
Architecture=x86_64
Cores=8
Memory=13918M
Language=en_US.UTF-8
Platform=x11
Desktop=MATE
DesktopResolution=96
DesktopScale=7
WidgetTheme=proxy
Font=Ubuntu,10
[Programs]
appimage-builder=appimage-builder: 1.1.0
clang=Ubuntu clang version 14.0.0-1ubuntu1.1
dpkg=Debian 'dpkg' package management program version 1.21.1 (amd64).
gcc=gcc (Ubuntu 12.3.0-1ubuntu1~22.04) 12.3.0
git=git version 2.34.1
msgmerge=msgmerge (GNU gettext-tools) 0.21
rpmbuild=RPM version 4.17.0
[Libraries]
Cairo=libcairo.so.2.11600.0
Curl=libcurl.so.4.7.0
DBus=libdbus-1.so.3.19.13
GDK2=libgdk-x11-2.0.so.0.2400.33
GDK3=libgdk-3.so.0.2404.29
GStreamer=libgstreamer-1.0.so.0.2003.0
GTK+2=libgtk-x11-2.0.so.0.2400.33
GTK+3=libgtk-3.so.0.2404.29
OpenGL=libGL.so.1.7.0
Poppler=libpoppler.so.118.0.0
Poppler=libpoppler.so.97.0.0
QT5=libQt5Core.so.5.15.3
QT6=libQt6Core.so.6.2.4
RSvg=librsvg-2.so.2.48.0
SDL=libSDL2-2.0.so.0.18.2
SQLite3=libsqlite3.so.0.8.6
[Environment]
CLUTTER_BACKEND=x11
CLUTTER_IM_MODULE=ibus
COMPIZ_CONFIG_PROFILE=mint
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
DESKTOP_SESSION=mate
DISPLAY=:0
EDIGB_GUI=gb.qt5
EDITOR=pluma
GB_GUI=gb.qt5
GDMSESSION=mate
GDM_LANG=en_US
GIO_LAUNCHED_DESKTOP_FILE_PID=15709
GPG_AGENT_INFO=/run/user/1000/gnupg/S.gpg-agent:0:1
GTK3_MODULES=xapp-gtk3-module
GTK_IM_MODULE=ibus
GTK_MODULES=gail:atk-bridge
GTK_OVERLAY_SCROLLING=0
HOME=<home>
LANG=en_US.UTF-8
LANGUAGE=en_US.UTF-8
LC_ADDRESS=en_US.UTF-8
LC_ALL=en_US.UTF-8
LC_IDENTIFICATION=en_US.UTF-8
LC_MEASUREMENT=en_US.UTF-8
LC_MONETARY=en_US.UTF-8
LC_NAME=en_US.UTF-8
LC_NUMERIC=en_US.UTF-8
LC_PAPER=en_US.UTF-8
LC_TELEPHONE=en_US.UTF-8
LC_TIME=en_US.UTF-8
LIBVIRT_DEFAULT_URI=qemu:///system
LOGNAME=<user>
MATE_DESKTOP_SESSION_ID=this-is-deprecated
PAM_KWALLET5_LOGIN=/run/user/1000/kwallet5.socket
PAPERSIZE=a4
PATH=<home>/.config/emacs/bin:<home>/.local/bin:<home>/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
PICO_SDK_PATH=<home>/Projects/picomite/pico/pico-sdk
PWD=<home>
QT_ACCESSIBILITY=1
QT_FONT_DPI=96
QT_IM_MODULE=ibus
QT_LOGGING_RULES=*.debug=false
QT_QPA_PLATFORMTHEME=qt5ct
QT_SCALE_FACTOR=1
SESSION_MANAGER=local/<hostname>:@/tmp/.ICE-unix/10197,unix/<hostname>:/tmp/.ICE-unix/10197
SHELL=/usr/bin/gsh
SHLVL=0
SSH_AUTH_SOCK=/run/user/1000/keyring/ssh
TZ=:/etc/localtime
USER=<user>
XAUTHORITY=<home>/.Xauthority
XDG_CONFIG_DIRS=/etc/xdg/xdg-mate:/etc/xdg
XDG_CURRENT_DESKTOP=MATE
XDG_DATA_DIRS=/usr/share/mate:/usr/share/mate:/usr/share/gnome:<home>/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share
XDG_GREETER_DATA_DIR=/var/lib/lightdm-data/<user>
XDG_RUNTIME_DIR=/run/user/1000
XDG_SEAT=seat0
XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0
XDG_SESSION_CLASS=user
XDG_SESSION_DESKTOP=mate
XDG_SESSION_ID=c2
XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session0
XDG_SESSION_TYPE=x11
XDG_VTNR=7
XMODIFIERS=@im=ibus
gshlibrary=<home>/Projects/gshlibrary
gshproject=<home>/Projects/gsh


----[ Gambas bugtracker-list is hosted by https://www.hostsharing.net ]----