Description: Private variables are not only available in the Module in which they are defined. but even in all Modules of all Libraries except Standard Library. Steps to Reproduce: 1. Create Module1 in Standard Library 'Option Explicit Public varPublicS As Integer 'Library: Standard Global varGlobalS As Integer 'Module: Module1 Private varPrivateS As Integer Dim varDimPrivateS As Integer Sub Main End Sub 2. Create Library1 & Module3 in Library1 'Option Explicit Public varPublicL1 As Integer 'Library: Library1 Global varGlobalL1 As Integer 'Module: Module3 Private varPrivateL1 As Integer Dim varDimPrivateL1 As Integer Sub Main End Sub 3. Create Library2 & Module5 in Libray2 'Library: Library2 'Module: Module5 Sub Show_var_LL2M5_2 MsgBox _ “varDimPrivateS = “ & varDimPrivateS & Chr(10) & _ “varPrivateS = “ & varPrivateS & Chr(10) & _ “varGlobalS = “ & varGlobalS & Chr(10) & _ “varPublicS = “ & varPublicS & Chr(10) & _ “varDimPrivateL1 = “ & varDimPrivateL1 & Chr(10) & _ “varPrivateL1 = “ & varPrivateL1 & Chr(10) & _ “varGlobalL1 = “ & varGlobalL1 & Chr(10) & _ “varPublicL1 = “ & varPublicL1 _ ,,"Sub Show_var_LL2M5_2" End Sub Actual Results: Sub Show_var_LL2M5_2 varDimPrivateL1 = 0 varPrivateS = 0 varGlobalS = 0 varPublicS = 0 varDimPrivateL1 = 0 varPrivateL1 = 0 varGlobalL1 = 0 varPublicL1 = 0 Expected Results: varDimPrivateL1 = varPrivateS = varDimPrivateL1 = varPrivateL1 = Reproducible: Always User Profile Reset: No Additional Info: Version: 7.0.4.2 Build ID: 00(Build:2) CPU threads: 4; OS: Linux 5.9; UI render: default; VCL: gtk3 Locale: en-US (en_US.UTF-8); UI: en-US Calc: threaded
Sorry for typo. Editted: Actual Results: Sub Show_var_LL2M5_2 varDimPrivateS = 0 varPrivateS = 0 varGlobalS = 0 varPublicS = 0 varDimPrivateL1 = 0 varPrivateL1 = 0 varGlobalL1 = 0 varPublicL1 = 0 Expected Results: varDimPrivateS = varPrivateS = varDimPrivateL1 = varPrivateL1 =
Created attachment 176615 [details] Example file with macros Run Module5 from Library2 Reproduced with Arch Linux 64-bit Version: 7.4.0.0.alpha0+ / LibreOffice Community Build ID: d8a526eabe3a7256c1637307e8de74c54e5df4eb CPU threads: 8; OS: Linux 5.15; UI render: default; VCL: kf5 (cairo+xcb) Locale: fi-FI (fi_FI.UTF-8); UI: en-US Calc: threaded Built on 1 December 2021
Indeed, our help promises: Private VarName As TYPENAME The variable is only valid in this module. https://help.libreoffice.org/latest/en-US/text/sbasic/shared/01020300.html?DbPAR=BASIC#bm_id3149456