vis editor doesn't respect user configuration

  • Open
  • quality assurance status badge
Details
2 participants
  • Gábor Boskovits
  • tsmish
Owner
unassigned
Submitted by
tsmish
Severity
normal

Debbugs page

tsmish wrote 5 years ago
(address . bug-guix@gnu.org)
CAMaATaOz3p7ek4M55wwqe-=-L+xE3U+dt13nSxf6QOZMP3U+-Q@mail.gmail.com
Steps to reproduce:
1. Make file ~/.config/vis/visrc.lua with following text:
```
require('vis')

vis.events.subscribe(vis.events.INIT, function()
vis:command('qall')
end)
```
2. Open vis

vis should immediately close on startup, but it doesn't.

It happens because package defines $VIS_PATH search path to directory
which contains example visrc.lua file and $VIS_PATH is highest
priority directory according to man page.

Suggestions:
1. Remove or rename example visrc.lua in share/vis
2. Remove $VIS_PATH search path from package. This shouldn't break
anything, as it seems share/vis is in later resolution path.
Gábor Boskovits wrote 5 years ago
(name . tsmish)(address . tsymsh@gmail.com)(address . 39394@debbugs.gnu.org)
CAE4v=pguCiEpxD+Bqfy7LPFqirZGdPAC2Z9pVvYJ6kpEU5k-Wg@mail.gmail.com
Thanks for the report.

tsmish <tsymsh@gmail.com> ezt írta (időpont: 2020. febr. 2., Vas 18:57):

Toggle quote (20 lines)
> Steps to reproduce:
> 1. Make file ~/.config/vis/visrc.lua with following text:
> ```
> require('vis')
>
> vis.events.subscribe(vis.events.INIT, function()
> vis:command('qall')
> end)
> ```
> 2. Open vis
>
> vis should immediately close on startup, but it doesn't.
>
> It happens because package defines $VIS_PATH search path to directory
> which contains example visrc.lua file and $VIS_PATH is highest
> priority directory according to man page.
>
> Suggestions:
> 1. Remove or rename example visrc.lua in share/vis
>
I would go for renaming it like visrc.lua.example, or similar.

Would you like to propose a patch?

2. Remove $VIS_PATH search path from package. This shouldn't break
Toggle quote (5 lines)
> anything, as it seems share/vis is in later resolution path.
>
>
>
>
Attachment: file
Gábor Boskovits wrote 5 years ago
(address . control@debbugs.gnu.org)(address . 39394@debbugs.gnu.org)
CAE4v=pjaJueA97LtOpb+6iuhKZBPT_Dhj-aCoy7hvUS2kRS4_g@mail.gmail.com
tag 39394 easy quit
Attachment: file
tsmish wrote 5 years ago
(name . Gábor Boskovits)(address . boskovits@gmail.com)(address . 39394@debbugs.gnu.org)
CAMaATaPLmK-_6wL=SdKxswAr0ubt2aSZ-BE-NuYezVScF08f9w@mail.gmail.com
Toggle quote (2 lines)
> I would go for renaming it like visrc.lua.example, or similar.

I don't really like this solution because while this particular
problem will be fixed, underlying issue of system paths having higher
priority than user ones will stay.
From what I can figure out from the
$VIS_PATH is at the top of package.path which will make requires from
user configuration go there in case of files with same name.
Also this will probably make commands such as "set theme" ignore user
files from configuration directory when there is a file in system one.

Also there is VIS_PATH #define which seems to be intended way to set
path to system directory. It is set to /usr/local/share/vis by
default, but I don't see it
in help, which probably means it gets overwritten with some kind of guix magic.
Gábor Boskovits wrote 5 years ago
(name . tsmish)(address . tsymsh@gmail.com)(address . 39394@debbugs.gnu.org)
CAE4v=piEdnZLWJCWHwddy-ne9CPFG7rFMKwzeZ=hXct4wToRNg@mail.gmail.com
tsmish <tsymsh@gmail.com> ezt írta (időpont: 2020. febr. 2., Vas 22:08):

Toggle quote (14 lines)
> > I would go for renaming it like visrc.lua.example, or similar.
>
> I don't really like this solution because while this particular
> problem will be fixed, underlying issue of system paths having higher
> priority than user ones will stay.
> From what I can figure out from the
> code(
> https://github.com/martanne/vis/blob/a4b64c5c396646bb2f14db3b4145a5482a2ff8bf/vis-lua.c#L2650
> )
> $VIS_PATH is at the top of package.path which will make requires from
> user configuration go there in case of files with same name.
> Also this will probably make commands such as "set theme" ignore user
> files from configuration directory when there is a file in system one
>
Ok, as a real user of vis, I believe you got a better understanding. I will
have a look at the package tomorrow.

Toggle quote (7 lines)
>
> Also there is VIS_PATH #define which seems to be intended way to set
> path to system directory. It is set to /usr/local/share/vis by
> default, but I don't see it
> in help, which probably means it gets overwritten with some kind of guix
> magic.
>
Attachment: file
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 39394@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 39394
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch
You may also tag this issue. See list of standard tags. For example, to set the confirmed and easy tags
mumi command -t +confirmed -t +easy
Or, remove the moreinfo tag and set the help tag
mumi command -t -moreinfo -t +help