vim/vim-gtk package for 5+ years but were never properly documented in the downstream patch.This PR is an upstreaming effort based on an existing downstream patch for Vim in Termux.
https://github.com/termux/termux-packages/blob/4f5d80b/packages/vim/src-evalfunc.c.patch
Note
neovim equivalent of this downstream patch as well.I have added two additional authors to the attached commit:
@shadmansaleh as the author of the original downstream patch for Termux's Vim/Vim-GTK package, which this PR is based on.
and @lethal-lisa who initially made me aware of the lack of documentation and helped with research for the revised patch.
This is my first time making a pull request to Vim, I have tried to the best of my ability to follow all contribution guidelines, if I've goofed up significantly anywhere or missed something please let me know and I'll get that resolved as soon as I can.
https://github.com/vim/vim/pull/19623
(3 files)
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
Whoops, I'm doing some nervous post-submission checking right now and I'm pretty sure I misinterpreted what winds up as a +feature in e.g. :version.
has('linux'), has('termux') and has('android') do not show up in there.
And +linux isn't showing up in :version on my PC's vim either.
So those help tags should have been *android* and *termux* instead of *+android* and *+termux*
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
@TomJo2000 pushed 1 commit.
—
View it on GitHub or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
@TomJo2000 pushed 1 commit.
You are receiving this because you are subscribed to this thread.![]()
has() features is sorted alphanumerically, which I hadn't accounted for when initially submitting this patch for upstreaming since the original downstream patch added the "android" and "termux" features unconditionally to the end of the list.I have corrected this now.
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
thanks, makes sense. But what is the reason for termux? I can understand android, but google tells me termux is a terminal emulator for Android? Why would we need a compiled feature flag for a runtime thing?
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
Termux is a terminal app and packaging environment for Android.
There's a large overlap with base Android in terms of tooling and "envrionment personality".
(for lack of me having a better term for it on my mind).
Termux is distinct in that we add a significant amount of additional compatibility tweaks into the Android NDK toolchain to make it behave closer to a standard desktop Linux environment.
Conceptually the closest widely used equivalents would be something like Cygwin, MSys2 or WSL.
Not quite Linux, but distinct from Windows itself.
Termux fills a similar niche on Android to provide a more desktop Linux like software environment for application.
Hence has("android") and has("termux") aren't necessarily synonymous.
We have shipped a version of this patch downstream in our vim and vim-gtk packages for over 5 years due to popular demand.
A has("termux") feature could be substituted by e.g. has("android") && has_key(environ(), 'TERMUX__PID').
But that would break backwards compatibility for our existing users relying on it unless we retain a downstream patch to add a has("termux") feature if this is deemed unsuitable for inclusion in upstream.
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
I see, thanks
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()