Coder Social home page Coder Social logo

basedirs.jl's Introduction

BaseDirs

This package exists to help you put and look for files in the appropriate place(s).

It is essentially an implementation of the XDG (Cross-Desktop Group) directory specifications, with analogues for Windows and MacOS for cross-platform. More specifically, this is a hybrid of:

Why should I care?

It may be easy to treat file paths haphazardly, but for the user in particular abiding by the standards/conventions of the their platform has a number of major benefits, such as:

  • Improved ease of backups, since it is easier to make rules for which folders need to be backed up.
  • Improved configuration portability, since it is easier to identify and share the relevant configuration files.
  • Ease of isolating application state, by containing state to a single directory it is easy to avoid sharing it.
  • Decreased reliance on hard-coded paths, improving flexibility and composability.

It is worth noting that these considerations apply to both graphical and command-line desktop applications.

basedirs.jl's People

Contributors

tecosaur avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

basedirs.jl's Issues

At Ubuntu installed by Japanese locale setting, the error occurs

When I tried PlutoPlotly, Error was occured like next.

julia> using PlutoPlotly
Precompiling PlutoPlotly
         Info Given PlutoPlotly was explicitly requested, output will be shown live 
ERROR: LoadError: InitError: StringIndexError: invalid index [41], valid nearby indices [39]=>'', [42]=>'\"'
Stacktrace:
  [1] string_index_err(s::String, i::Int64)
    @ Base ./strings/string.jl:12
   [2] SubString{String}(s::String, i::Int64, j::Int64)
    @ Base ./strings/substring.jl:35
  [3] SubString
    @ ./strings/substring.jl:41 [inlined]
  [4] SubString
    @ ./strings/substring.jl:47 [inlined]
  [5] SubString
    @ ./strings/substring.jl:43 [inlined]
  [6] getindex
    @ ./strings/substring.jl:292 [inlined]
  [7] parseuserdirs(configdir::String)
    @ BaseDirs ~/.julia/packages/BaseDirs/tgw06/src/unix.jl:23
  [8] reload()
    @ BaseDirs ~/.julia/packages/BaseDirs/tgw06/src/unix.jl:56
  [9] __init__()
    @ BaseDirs ~/.julia/packages/BaseDirs/tgw06/src/BaseDirs.jl:38

I found the error unix.jl:23 of BaseDirs.jl.
I am using Ubuntu 23.10 installed with Japanese locale.
Default ~/.config/user-dirs.dirs is like next at Japanese locale.

# This file is written by xdg-user-dirs-update
# If you want to change or add directories, just edit the line you're
# interested in. All local changes will be retained on the next run.
# Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped
# homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an
# absolute path. No other format is supported.
# 
XDG_DESKTOP_DIR="$HOME/デスクトップ"
XDG_DOWNLOAD_DIR="$HOME/ダウンロード"
XDG_TEMPLATES_DIR="$HOME/テンプレート"
XDG_PUBLICSHARE_DIR="$HOME/公開"
XDG_DOCUMENTS_DIR="$HOME/ドキュメント"
XDG_MUSIC_DIR="$HOME/ミュージック"
XDG_PICTURES_DIR="$HOME/ピクチャ"
XDG_VIDEOS_DIR="$HOME/ビデオ"

The cause of the error is the value[2:end-1] part.
I tried to reproduce the error with REPL, next.

julia> line="XDG_DESKTOP_DIR=\"\$HOME/デスクトップ\""
"XDG_DESKTOP_DIR=\"\$HOME/デスクトップ\""

julia> key, value = split(line, '=', limit=2)
2-element Vector{SubString{String}}:
 "XDG_DESKTOP_DIR"
 "\"\$HOME/デスクトップ\""

julia> value[2:end-1]
ERROR: StringIndexError: invalid index [41], valid nearby indices [39]=>'', [42]=>'\"'
Stacktrace:
 [1] string_index_err(s::String, i::Int64)
   @ Base ./strings/string.jl:12
 [2] SubString{String}(s::String, i::Int64, j::Int64)
   @ Base ./strings/substring.jl:35
 [3] SubString
   @ ./strings/substring.jl:41 [inlined]
 [4] SubString
   @ ./strings/substring.jl:47 [inlined]
 [5] SubString
   @ ./strings/substring.jl:43 [inlined]
 [6] getindex(s::SubString{String}, r::UnitRange{Int64})
   @ Base ./strings/substring.jl:292
 [7] top-level scope
   @ REPL[4]:1

An error occurs when accessing the second and subsequent bytes of a multibyte character using index.

The fixes I can think of are
replace(value, r"^\"" => "", r"\"$" =>"")
or
strip(value, '"').

julia> replace(value, r"^\"" => "", r"\"$" => "")
"\$HOME/デスクトップ"

julia> strip(value, '"')
"\$HOME/デスクトップ"

In environments without Japanese fonts, the characters may not be visible. Sorry.

TagBot trigger issue

This issue is used to trigger TagBot; feel free to unsubscribe.

If you haven't already, you should update your TagBot.yml to include issue comment triggers.
Please see this post on Discourse for instructions and more details.

If you'd like for me to do this for you, comment TagBot fix on this issue.
I'll open a PR within a few hours, please be patient!

Fails to precompile and install on Windows

This looks very promising!

I ran into issues when giving it a spin on Windows, though (both v1.9rc3 and v1.8.5)

(@v1.8) pkg> activate --temp
  Activating new project at `C:\Users\lhellemo\AppData\Local\Temp\jl_c3CFBh`

(jl_c3CFBh) pkg> add BaseDirs
    Updating registry at `C:\Users\lhellemo\.julia\registries\GASSCORegistry`
    Updating git-repo `[email protected]:gassco/gasscoregistry.git`
    Updating registry at `C:\Users\lhellemo\.julia\registries\JuliaOptRegistry`
    Updating git-repo `[email protected]:juliaopt/juliaoptregistry.git`
    Updating registry at `C:\Users\lhellemo\.julia\registries\OneSINTEF`
    Updating git-repo `[email protected]:julia-one-sintef/onesintef.git`
    Updating registry at `C:\Users\lhellemo\.julia\registries\RegistryCleanExport`
    Updating git-repo `[email protected]:clean_export/registrycleanexport.git`
    Updating registry at `C:\Users\lhellemo\.julia\registries\General.toml`
   Resolving package versions...
    Updating `C:\Users\lhellemo\AppData\Local\Temp\jl_c3CFBh\Project.toml`
  [18cc8868] + BaseDirs v1.0.0
    Updating `C:\Users\lhellemo\AppData\Local\Temp\jl_c3CFBh\Manifest.toml`
  [18cc8868] + BaseDirs v1.0.0
Precompiling project...
  ✗ BaseDirs
  0 dependencies successfully precompiled in 7 seconds
  1 dependency errored. To see a full report either run `import Pkg; Pkg.precompile()` or load the package

julia> import Pkg; Pkg.precompile()
Precompiling project...
  ✗ BaseDirs
  0 dependencies successfully precompiled in 7 seconds

ERROR: The following 1 direct dependency failed to precompile:

BaseDirs [18cc8868-cbac-4acf-b575-c8ff214dc66f]

Failed to precompile BaseDirs [18cc8868-cbac-4acf-b575-c8ff214dc66f] to C:\Users\lhellemo\.julia\compiled\v1.8\BaseDirs\jl_9F6D.tmp.
ERROR: LoadError: MethodError: Cannot `convert` an object of type BaseDirs.StupidWindowsGUID to an object of type UInt128
Closest candidates are:
  convert(::Type{T}, ::T) where T<:Number at number.jl:6
  convert(::Type{T}, ::Number) where T<:Number at number.jl:7
  convert(::Type{T}, ::Base.TwicePrecision) where T<:Number at twiceprecision.jl:273
  ...
Stacktrace:
 [1] setindex!(h::Dict{Symbol, UInt128}, v0::BaseDirs.StupidWindowsGUID, key::Symbol)
   @ Base .\dict.jl:382
 [2] Dict{Symbol, UInt128}(::Pair{Symbol, BaseDirs.StupidWindowsGUID}, ::Vararg{Pair{Symbol, BaseDirs.StupidWindowsGUID}})
   @ Base .\dict.jl:113
 [3] top-level scope
   @ C:\Users\lhellemo\.julia\packages\BaseDirs\tLfdw\src\nt.jl:11
 [4] include(mod::Module, _path::String)
   @ Base .\Base.jl:419
 [5] include(x::String)
   @ BaseDirs C:\Users\lhellemo\.julia\packages\BaseDirs\tLfdw\src\BaseDirs.jl:1
 [6] top-level scope
   @ C:\Users\lhellemo\.julia\packages\BaseDirs\tLfdw\src\BaseDirs.jl:30
 [7] include
   @ .\Base.jl:419 [inlined]
 [8] include_package_for_output(pkg::Base.PkgId, input::String, depot_path::Vector{String}, dl_load_path::Vector{String}, load_path::Vector{String}, concrete_deps::Vector{Pair{Base.PkgId, UInt64}}, source::Nothing)
   @ Base .\loading.jl:1554
 [9] top-level scope
   @ stdin:1
in expression starting at C:\Users\lhellemo\.julia\packages\BaseDirs\tLfdw\src\nt.jl:11
in expression starting at C:\Users\lhellemo\.julia\packages\BaseDirs\tLfdw\src\BaseDirs.jl:1
in expression starting at stdin:1
Stacktrace:
 [1] pkgerror(msg::String)
   @ Pkg.Types C:\Users\lhellemo\.julia\juliaup\julia-1.8.5+0.x64.w64.mingw32\share\julia\stdlib\v1.8\Pkg\src\Types.jl:67
 [2] precompile(ctx::Pkg.Types.Context, pkgs::Vector{String}; internal_call::Bool, strict::Bool, warn_loaded::Bool, already_instantiated::Bool, kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
   @ Pkg.API C:\Users\lhellemo\.julia\juliaup\julia-1.8.5+0.x64.w64.mingw32\share\julia\stdlib\v1.8\Pkg\src\API.jl:1435
 [3] precompile
   @ C:\Users\lhellemo\.julia\juliaup\julia-1.8.5+0.x64.w64.mingw32\share\julia\stdlib\v1.8\Pkg\src\API.jl:1072 [inlined]
 [4] #precompile#225
   @ C:\Users\lhellemo\.julia\juliaup\julia-1.8.5+0.x64.w64.mingw32\share\julia\stdlib\v1.8\Pkg\src\API.jl:1071 [inlined]
 [5] precompile (repeats 2 times)
   @ C:\Users\lhellemo\.julia\juliaup\julia-1.8.5+0.x64.w64.mingw32\share\julia\stdlib\v1.8\Pkg\src\API.jl:1071 [inlined]
 [6] top-level scope
   @ REPL[3]:1

julia> versioninfo()
Julia Version 1.8.5
Commit 17cfb8e65e (2023-01-08 06:45 UTC)
Platform Info:
  OS: Windows (x86_64-w64-mingw32)
  CPU: 8 × Intel(R) Core(TM) i7-8665U CPU @ 1.90GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-13.0.1 (ORCJIT, skylake)
  Threads: 4 on 8 virtual cores
Environment:
  JULIA_NUM_THREADS = 4
  JULIA_PKG_SERVER = pkg.julialang.org

Intermittant crashing on Windows

It's been reported on slack that on Windows, accessor functions like BaseDirs.fonts() will fail on some systems, and calling the docstring for BaseDirs.RelevantFolders can cause a segfault.

Apparently disabling GC around the invocation of BaseDirs can fix this, but I'm at a complete loss here.

Please send help.

Excerpt from the Slack thread

Terminal session
========================================

Brand new Julia tab in Windows Terminal

========================================

               _

   _       _ _(_)_     |  Documentation: https://docs.julialang.org

  (_)     | (_) (_)    |

   _ _   _| |_  __ _   |  Type "?" for help, "]?" for Pkg help.

  | | | | | | |/ _` |  |

  | | |_| | | | (_| |  |  Version 1.9.0 (2023-05-07)

 _/ |\__'_|_|_|\__'_|  |  Official https://julialang.org/ release

|__/                   |

(@v1.9) pkg> activate .

  Activating project at `C:\Users\mosullivan\Documents\Julia\BaseDirs_Troubleshooting - Upstream`

julia> GC.enable(false)

true

julia> using BaseDirs

julia> BaseDirs.fonts()

2-element Vector{String}:

 "C:\\WINDOWS\\Fonts"

 "C:\\Users\\mosullivan\\AppData\\Local\\Microsoft\\Windows\\Fonts"

help?> BaseDirs.RelevantFolders

  No documentation found.

  Summary

  ≡≡≡≡≡≡≡≡≡

  mutable struct BaseDirs.RelevantFolders

  Fields

  ≡≡≡≡≡≡≡≡

  SystemDrive    :: String

  SystemRoot     :: String

  ProgramData    :: String

  Programs       :: String

  CommonPrograms :: String

  UserProfiles   :: String

  RoamingAppData :: String

  LocalAppData   :: String

  Desktop        :: String

  Downloads      :: String

  Documents      :: String

  Music          :: String

  Pictures       :: String

  Videos         :: String

  Templates      :: String

  Public         :: String

  Fonts          :: String

  

  

========================================

Brand new Julia tab in Windows Terminal

========================================

               _

   _       _ _(_)_     |  Documentation: https://docs.julialang.org

  (_)     | (_) (_)    |

   _ _   _| |_  __ _   |  Type "?" for help, "]?" for Pkg help.

  | | | | | | |/ _` |  |

  | | |_| | | | (_| |  |  Version 1.9.0 (2023-05-07)

 _/ |\__'_|_|_|\__'_|  |  Official https://julialang.org/ release

|__/                   |

(@v1.9) pkg> activate .

  Activating project at `C:\Users\mosullivan\Documents\Julia\BaseDirs_Troubleshooting - Upstream`

julia> using BaseDirs

julia> BaseDirs.fonts()

2-element Vector{String}:

Please submit a bug report with steps to reproduce this fault, and any error messages that follow (in their entirety). Thanks.

Exception: EXCEPTION_ACCESS_VIOLATION at 0x7ffe5fe2e43a -- memset at C:\WINDOWS\SYSTEM32\ntdll.dll (unknown line)

in expression starting at none:0

memset at C:\WINDOWS\SYSTEM32\ntdll.dll (unknown line)

RtlFreeHeap at C:\WINDOWS\SYSTEM32\ntdll.dll (unknown line)

free at C:\WINDOWS\System32\msvcrt.dll (unknown line)

jl_gc_free_array at C:/workdir/src\gc.c:1348 [inlined]

sweep_malloced_arrays at C:/workdir/src\gc.c:1373 [inlined]

gc_sweep_other at C:/workdir/src\gc.c:1729 [inlined]

_jl_gc_collect at C:/workdir/src\gc.c:3537

ijl_gc_collect at C:/workdir/src\gc.c:3707

maybe_collect at C:/workdir/src\gc.c:1078 [inlined]

jl_gc_pool_alloc_inner at C:/workdir/src\gc.c:1443 [inlined]

ijl_gc_pool_alloc at C:/workdir/src\gc.c:1494

setindex! at .\essentials.jl:578 [inlined]

setindex! at .\compiler/ssair\ir.jl:246 [inlined]

process_node! at .\compiler/ssair\ir.jl:1385

iterate_compact at .\compiler/ssair\ir.jl:1593

iterate at .\compiler/ssair\ir.jl:1516 [inlined]

compact! at .\compiler/ssair\ir.jl:1782

compact! at .\compiler/ssair\ir.jl:1780 [inlined]

run_passes at .\compiler\optimize.jl:539

run_passes at .\compiler\optimize.jl:554 [inlined]

optimize at .\compiler\optimize.jl:503 [inlined]

_typeinf at .\compiler\typeinfer.jl:273

typeinf at .\compiler\typeinfer.jl:216

typeinf_edge at .\compiler\typeinfer.jl:933

abstract_call_method at .\compiler\abstractinterpretation.jl:611

abstract_call_gf_by_type at .\compiler\abstractinterpretation.jl:152

abstract_call_known at .\compiler\abstractinterpretation.jl:1949

abstract_call at .\compiler\abstractinterpretation.jl:2020

abstract_call at .\compiler\abstractinterpretation.jl:1999

abstract_eval_statement_expr at .\compiler\abstractinterpretation.jl:2183

abstract_eval_statement at .\compiler\abstractinterpretation.jl:2396

abstract_eval_basic_statement at .\compiler\abstractinterpretation.jl:2684

typeinf_local at .\compiler\abstractinterpretation.jl:2869

typeinf_nocycle at .\compiler\abstractinterpretation.jl:2957

_typeinf at .\compiler\typeinfer.jl:246

typeinf at .\compiler\typeinfer.jl:216

typeinf_edge at .\compiler\typeinfer.jl:933

abstract_call_method at .\compiler\abstractinterpretation.jl:611

abstract_call_gf_by_type at .\compiler\abstractinterpretation.jl:152

abstract_call_known at .\compiler\abstractinterpretation.jl:1949

abstract_call at .\compiler\abstractinterpretation.jl:2020

abstract_call at .\compiler\abstractinterpretation.jl:1999

abstract_eval_statement_expr at .\compiler\abstractinterpretation.jl:2183

abstract_eval_statement at .\compiler\abstractinterpretation.jl:2396

abstract_eval_basic_statement at .\compiler\abstractinterpretation.jl:2684

typeinf_local at .\compiler\abstractinterpretation.jl:2869

typeinf_nocycle at .\compiler\abstractinterpretation.jl:2957

_typeinf at .\compiler\typeinfer.jl:246

typeinf at .\compiler\typeinfer.jl:216

typeinf_edge at .\compiler\typeinfer.jl:933

abstract_call_method at .\compiler\abstractinterpretation.jl:611

abstract_call_gf_by_type at .\compiler\abstractinterpretation.jl:152

abstract_call_known at .\compiler\abstractinterpretation.jl:1949

abstract_call at .\compiler\abstractinterpretation.jl:2020

abstract_call at .\compiler\abstractinterpretation.jl:1999

abstract_eval_statement_expr at .\compiler\abstractinterpretation.jl:2183

abstract_eval_statement at .\compiler\abstractinterpretation.jl:2396

abstract_eval_basic_statement at .\compiler\abstractinterpretation.jl:2684

typeinf_local at .\compiler\abstractinterpretation.jl:2869

typeinf_nocycle at .\compiler\abstractinterpretation.jl:2957

_typeinf at .\compiler\typeinfer.jl:246

typeinf at .\compiler\typeinfer.jl:216

typeinf_edge at .\compiler\typeinfer.jl:933

abstract_call_method at .\compiler\abstractinterpretation.jl:611

abstract_call_gf_by_type at .\compiler\abstractinterpretation.jl:152

abstract_call_known at .\compiler\abstractinterpretation.jl:1949

abstract_call at .\compiler\abstractinterpretation.jl:2020

abstract_call at .\compiler\abstractinterpretation.jl:1999

abstract_eval_statement_expr at .\compiler\abstractinterpretation.jl:2183

abstract_eval_statement at .\compiler\abstractinterpretation.jl:2396

abstract_eval_basic_statement at .\compiler\abstractinterpretation.jl:2684

typeinf_local at .\compiler\abstractinterpretation.jl:2869

typeinf_nocycle at .\compiler\abstractinterpretation.jl:2957

_typeinf at .\compiler\typeinfer.jl:246

typeinf at .\compiler\typeinfer.jl:216

typeinf_edge at .\compiler\typeinfer.jl:933

abstract_call_method at .\compiler\abstractinterpretation.jl:611

abstract_call_gf_by_type at .\compiler\abstractinterpretation.jl:152

abstract_call_known at .\compiler\abstractinterpretation.jl:1949

abstract_call at .\compiler\abstractinterpretation.jl:2020

abstract_call at .\compiler\abstractinterpretation.jl:1999

abstract_eval_statement_expr at .\compiler\abstractinterpretation.jl:2183

abstract_eval_statement at .\compiler\abstractinterpretation.jl:2396

abstract_eval_basic_statement at .\compiler\abstractinterpretation.jl:2684

typeinf_local at .\compiler\abstractinterpretation.jl:2869

typeinf_nocycle at .\compiler\abstractinterpretation.jl:2957

_typeinf at .\compiler\typeinfer.jl:246

typeinf at .\compiler\typeinfer.jl:216

typeinf_edge at .\compiler\typeinfer.jl:933

abstract_call_method at .\compiler\abstractinterpretation.jl:611

abstract_call_gf_by_type at .\compiler\abstractinterpretation.jl:152

abstract_call_known at .\compiler\abstractinterpretation.jl:1949

abstract_call at .\compiler\abstractinterpretation.jl:2020

abstract_call at .\compiler\abstractinterpretation.jl:1999

abstract_eval_statement_expr at .\compiler\abstractinterpretation.jl:2183

abstract_eval_statement at .\compiler\abstractinterpretation.jl:2396

abstract_eval_basic_statement at .\compiler\abstractinterpretation.jl:2684

typeinf_local at .\compiler\abstractinterpretation.jl:2869

typeinf_nocycle at .\compiler\abstractinterpretation.jl:2957

_typeinf at .\compiler\typeinfer.jl:246

typeinf at .\compiler\typeinfer.jl:216

typeinf_ext at .\compiler\typeinfer.jl:1058

typeinf_ext_toplevel at .\compiler\typeinfer.jl:1091

typeinf_ext_toplevel at .\compiler\typeinfer.jl:1087

jfptr_typeinf_ext_toplevel_18220.clone_1 at C:\Users\mosullivan\.julia\juliaup\julia-1.9.0+0.x64.w64.mingw32\lib\julia\sys.dll (unknown line)

_jl_invoke at C:/workdir/src\gf.c:2758 [inlined]

ijl_apply_generic at C:/workdir/src\gf.c:2940 [inlined]

jl_apply at C:/workdir/src\julia.h:1879 [inlined]

jl_type_infer at C:/workdir/src\gf.c:320

jl_generate_fptr_impl at C:/workdir/src\jitlayers.cpp:444

jl_compile_method_internal at C:/workdir/src\gf.c:2348

jl_compile_method_internal at C:/workdir/src\gf.c:2241 [inlined]

_jl_invoke at C:/workdir/src\gf.c:2750 [inlined]

ijl_apply_generic at C:/workdir/src\gf.c:2940

jl_apply at C:/workdir/src\julia.h:1879 [inlined]

do_apply at C:/workdir/src\builtins.c:730

#sprint#484 at .\strings\io.jl:112

sprint at .\strings\io.jl:107 [inlined]

print_matrix_row at .\arrayshow.jl:108

_print_matrix at .\arrayshow.jl:213

print_matrix at .\arrayshow.jl:171

print_matrix at .\arrayshow.jl:171 [inlined]

print_array at .\arrayshow.jl:358 [inlined]

show at .\arrayshow.jl:399

unknown function (ip: 00000223cec93b2a)

#55 at C:\workdir\usr\share\julia\stdlib\v1.9\REPL\src\REPL.jl:276

jfptr_YY.55_62600.clone_1 at C:\Users\mosullivan\.julia\juliaup\julia-1.9.0+0.x64.w64.mingw32\lib\julia\sys.dll (unknown line)

with_repl_linfo at C:\workdir\usr\share\julia\stdlib\v1.9\REPL\src\REPL.jl:557

jfptr_with_repl_linfo_62532.clone_1 at C:\Users\mosullivan\.julia\juliaup\julia-1.9.0+0.x64.w64.mingw32\lib\julia\sys.dll (unknown line)

display at C:\workdir\usr\share\julia\stdlib\v1.9\REPL\src\REPL.jl:262

display at C:\workdir\usr\share\julia\stdlib\v1.9\REPL\src\REPL.jl:281 [inlined]

display at .\multimedia.jl:340

jfptr_display_51271.clone_1 at C:\Users\mosullivan\.julia\juliaup\julia-1.9.0+0.x64.w64.mingw32\lib\julia\sys.dll (unknown line)

jl_apply at C:/workdir/src\julia.h:1879 [inlined]

jl_f__call_latest at C:/workdir/src\builtins.c:774

#invokelatest#2 at .\essentials.jl:816 [inlined]

invokelatest at .\essentials.jl:813 [inlined]

print_response at C:\workdir\usr\share\julia\stdlib\v1.9\REPL\src\REPL.jl:305

#57 at C:\workdir\usr\share\julia\stdlib\v1.9\REPL\src\REPL.jl:287

jfptr_YY.57_61082.clone_1 at C:\Users\mosullivan\.julia\juliaup\julia-1.9.0+0.x64.w64.mingw32\lib\julia\sys.dll (unknown line)

with_repl_linfo at C:\workdir\usr\share\julia\stdlib\v1.9\REPL\src\REPL.jl:557

jfptr_with_repl_linfo_62532.clone_1 at C:\Users\mosullivan\.julia\juliaup\julia-1.9.0+0.x64.w64.mingw32\lib\julia\sys.dll (unknown line)

print_response at C:\workdir\usr\share\julia\stdlib\v1.9\REPL\src\REPL.jl:285

do_respond at C:\workdir\usr\share\julia\stdlib\v1.9\REPL\src\REPL.jl:899

jfptr_do_respond_61160.clone_1 at C:\Users\mosullivan\.julia\juliaup\julia-1.9.0+0.x64.w64.mingw32\lib\julia\sys.dll (unknown line)

jl_apply at C:/workdir/src\julia.h:1879 [inlined]

jl_f__call_latest at C:/workdir/src\builtins.c:774

#invokelatest#2 at .\essentials.jl:816 [inlined]

invokelatest at .\essentials.jl:813 [inlined]

run_interface at C:\workdir\usr\share\julia\stdlib\v1.9\REPL\src\LineEdit.jl:2647

jfptr_run_interface_61945.clone_1 at C:\Users\mosullivan\.julia\juliaup\julia-1.9.0+0.x64.w64.mingw32\lib\julia\sys.dll (unknown line)

run_frontend at C:\workdir\usr\share\julia\stdlib\v1.9\REPL\src\REPL.jl:1300

#62 at .\task.jl:514

jfptr_YY.62_62758.clone_1 at C:\Users\mosullivan\.julia\juliaup\julia-1.9.0+0.x64.w64.mingw32\lib\julia\sys.dll (unknown line)

jl_apply at C:/workdir/src\julia.h:1879 [inlined]

start_task at C:/workdir/src\task.c:1092

Allocations: 687880 (Pool: 687267; Big: 613); GC: 0

create kwarg does not seem to be respected

I was trying to use this package to organize my files but the create kwarg (tested specifically for BaseDirs.User.data does not seem to work.

The following code does return false for me both in Linux and Windows:

BaseDirs.User.data("test"; create=true) |> isdir

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.