GNU bug report logs -
#60753
[PATCH] gnu: home: Add home-emacs-service-type.
Previous Next
Full log
Message #35 received at 60753 <at> debbugs.gnu.org (full text, mbox):
Hi,
Andrew Tropin <andrew <at> trop.in> skribis:
> On 2023-01-17 10:02, Ludovic Courtès wrote:
>
>> Hi,
>>
>> Andrew Tropin <andrew <at> trop.in> skribis:
>>
>>>> What about accepting sexps (or gexps) instead of strings? As in:
>>>>
>>>> (init-file '((require 'whatever) (setq something t)))
>>>
>>> A quick minor note on this approach: it won't be possible to use
>>> #'elisp-function inside such configuration because it will be
>>> interpreted by guile reader, but actually rde lives without this
>>> functionality completely ok.
>>
>> Specifically:
>>
>> (write '#'x)
>> |= (syntax x)
>>
>> But we can use (guix read-print) and ensure that it prints #'.
>>
>
> Do you have any links to docs/sample implementations on the topic of
> extending guile reader, so we have an example to start with?
It’s not the reader but rather the writer that we’d want to tweak.
In (guix read-print), ‘pretty-print-with-comments’ already special cases
quasiquote etc. so that it prints ‘`’ (backtick) and not ‘quasiquote'.
We’d add clauses for ‘syntax’ and ‘quasisyntax’.
> I think it will be cool to hook up a custom reader, ideally comment
> preserving, for emacs lisp inside scheme files.
(guix read-print) is what you want. :-)
>>> Do we want something like this possible?
>>>
>>> (init-file `((require 'whatever)
>>> (setq something t)
>>> (load ,(local-file "old-init.el")))
>>
>> It’d be nice. In that case, we’ll want it to be a gexp though:
>>
>> #~((require 'whatever) (load #$(local-file …)))
>>
>
> gexps are nice, but do we really need/want them here? Do you have any
> thoughts on what are the benifits over quasiquotes in this case? Maybe
> some examples?
The benefit in the example above is that the gexp would actually work
whereas the sexp wouldn’t :-), unless there’s code somewhere to manually
traverse the sexp adn replace the <local-file> record with its store
item (which is what gexps are about).
I hope that makes sense!
Ludo’.
This bug report was last modified 2 years and 117 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.