On Thu, May 7, 2020 at 7:48 PM Vladimir Sedach <
address@hidden> wrote:
Stefan Monnier <address@hidden> writes:
>> ;;; Shorthand: (("vl-" . "very-long-prefix-")
>> ;;; ("yalp-" . "yet-another-long-prefix-"))
>
> Adding such "local, read-time prefix remapping" does sound to me like
> the best approach in the context of Elisp, indeed.
You can do the same thing without breaking grep/TAGS/etc or changing the
reader with overlays and a modified abbrev facility.
All namespacing in all languages systems "break" grep if
you give grep a volatile namespace qualifier. This just comes
with the namespacing.
And in your solution the problem then becomes teaches isearch,
query-replace and its various variants, a (probably very large)
number of tools in the wild about this these overlays. You see
"yalp-" then C-s yalp- and find nothing!. Another medium-size
annoyance would be alignment and keeping to column limits,
like the ones Emacs has.
But most crucially: All this started because there are a zillion
packages in the wild using s.el. They all invoke its functions
with "s-foo". You would ALL need to be massively and
intrusively changed and the authors convinced to use your system
instead. With my system we can mostly (if not entirely) keep their
code untouched, so these files that (require 's) will not know they
are actually working with modern-string.el instead of s.el.
João