Add editors/sly-named-readtables

SLY support for multiple named readtables in the same file

PR:		253993
Submitted by:	Olivier Certner <olivier.freebsd@free.fr>
This commit is contained in:
Li-Wen Hsu 2021-03-16 10:36:51 +00:00
parent 17ef49165a
commit 978085e31e
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=568550
7 changed files with 108 additions and 0 deletions

View file

@ -232,6 +232,7 @@
SUBDIR += shed
SUBDIR += slime
SUBDIR += sly
SUBDIR += sly-named-readtables
SUBDIR += ssed
SUBDIR += sted
SUBDIR += tamago

View file

@ -0,0 +1,58 @@
# $FreeBSD$
PORTNAME= sly-named-readtables
PORTVERSION= 20191013
CATEGORIES= editors elisp
PKGNAMESUFFIX= ${EMACS_PKGNAMESUFFIX}
MAINTAINER= olce.freebsd.ports@certner.fr
COMMENT= Support different readtables in the same file for SLY
LICENSE= PD
MY_DEPENDS= ${PREFIX}/${EMACS_VERSION_SITE_LISPDIR}/sly/sly.el:editors/sly
BUILD_DEPENDS= ${MY_DEPENDS}
RUN_DEPENDS= ${MY_DEPENDS}
USES= emacs
USE_GITHUB= yes
GH_ACCOUNT= joaotavora
GH_TAGNAME= a5a42674ccffa97ccd5e4e9742beaf3ea719931f
NO_ARCH= yes
EMACS_COMPILE= ${EMACS_CMD} --batch --no-site-file -L ${WRKSRC} -f batch-byte-compile
PLIST_THIS_LISPDIR= ${EMACS_VERSION_SITE_LISPDIR}/${PORTNAME}
THIS_LISPDIR= ${PREFIX}/${PLIST_THIS_LISPDIR}
PLIST_SUB+= THIS_LISPDIR=${PLIST_THIS_LISPDIR}
# File is buggy and can't be used as documented upstream
EXCLUDED_FILES= ${PORTNAME}-autoloads.el
OPTIONS_DEFINE= DOCS EXAMPLES
PORTDOCS= README.md screenshot.png
PORTEXAMPLES= example.lisp
do-build:
cd ${WRKSRC} && ${EMACS_COMPILE} sly-*.el
do-install:
@${MKDIR} ${STAGEDIR}${THIS_LISPDIR}
(cd ${WRKSRC} && \
${COPYTREE_SHARE} . ${STAGEDIR}${THIS_LISPDIR} \
"! ( -depth 1 ( ${EXCLUDED_FILES:C/^(.*)$/-name \1 -o/} \
${PORTDOCS:C/^(.*)$/-name \1 -o/} \
${PORTEXAMPLES:C/^(.*)$/-name \1 -o/} \
-name LICENSE -o -name *\.md -o -name \.[^.]* ) )")
post-install-DOCS-on:
${MKDIR} ${STAGEDIR}${DOCSDIR}
${INSTALL_DATA} ${PORTDOCS:%=${WRKSRC}/%} ${STAGEDIR}${DOCSDIR}
post-install-EXAMPLES-on:
${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
${INSTALL_DATA} ${PORTEXAMPLES:%=${WRKSRC}/%} ${STAGEDIR}${EXAMPLESDIR}
.include <bsd.port.mk>

View file

@ -0,0 +1,3 @@
TIMESTAMP = 1613660267
SHA256 (joaotavora-sly-named-readtables-20191013-a5a42674ccffa97ccd5e4e9742beaf3ea719931f_GH0.tar.gz) = 4ec6067b74a2126ddae5275629358a6d58fe85a4de63717b66b80af121858183
SIZE (joaotavora-sly-named-readtables-20191013-a5a42674ccffa97ccd5e4e9742beaf3ea719931f_GH0.tar.gz) = 28276

View file

@ -0,0 +1,12 @@
--- sly-named-readtables.el.orig 2019-10-13 21:38:43 UTC
+++ sly-named-readtables.el
@@ -107,9 +107,5 @@
(defun sly-named-readtables--pass-readtable ()
(list :named-readtable (sly-named-readtables--grok-current-table)))
-;;;###autoload
-(with-eval-after-load 'sly
- (add-to-list 'sly-contribs 'sly-named-readtables 'append))
-
(provide 'sly-named-readtables)
;;; sly-named-readtables.el ends here

View file

@ -0,0 +1,4 @@
sly-named-readtables is an external contrib for SLY that enables
different readtables to be active in different parts of the same file.
WWW: https://github.com/joaotavora/sly-named-readtables

View file

@ -0,0 +1,26 @@
[
{ type: install
message: <<EOM
To use the sly-named-readtables contrib, you must:
1. Register sly-named-readtables into SLY. You just have to add this line to
some init file:
(require 'sly-named-readtables)
Doing this is not strictly necessary if you want to automatically activate
this contrib using `sly-contribs' (see below), but it never hurts.
This contrib's automatic activation at load was disabled, contrary to what
upstream does. Upstream's autoloads file is consequently not necessary, and
not included in this package.
2. Ensure that system NAMED-READTABLES is loaded by your Common Lisp
implementation.
If you want sly-named-readtables to be automatically activated on each new SLY
session, put it in the `sly-contribs' list. E.g., you can add something like
this in some Emacs' init file:
(setq sly-contribs '(sly-fancy sly-named-readtables))
or customize the variable.
To enable it on demand in already running SLY sessions instead, just use the
`sly-enable-contrib' command, or modify `sly-contribs' and run `sly-setup'.
EOM
}
]

View file

@ -0,0 +1,4 @@
%%THIS_LISPDIR%%/sly-named-readtables.el
%%THIS_LISPDIR%%/sly-named-readtables.elc
%%THIS_LISPDIR%%/slynk-named-readtables.asd
%%THIS_LISPDIR%%/slynk-named-readtables.lisp