[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#60753] [PATCH] gnu: home: Add home-emacs-service-type.
From: |
Ludovic Courtès |
Subject: |
[bug#60753] [PATCH] gnu: home: Add home-emacs-service-type. |
Date: |
Mon, 23 Jan 2023 11:18:47 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux) |
Hi,
Andrew Tropin <andrew@trop.in> skribis:
> On 2023-01-17 10:02, Ludovic Courtès wrote:
>
>> Hi,
>>
>> Andrew Tropin <andrew@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’.
- [bug#60753] [PATCH] gnu: home: Add home-emacs-service-type., David Wilson, 2023/01/12
- [bug#60753] [PATCH] gnu: home: Add home-emacs-service-type., (, 2023/01/12
- [bug#60753] [PATCH] gnu: home: Add home-emacs-service-type., David Wilson, 2023/01/12
- [bug#60753] [PATCH] gnu: home: Add home-emacs-service-type., Ludovic Courtès, 2023/01/14
- [bug#60753] [PATCH] gnu: home: Add home-emacs-service-type., Andrew Tropin, 2023/01/15
- [bug#60753] [PATCH] gnu: home: Add home-emacs-service-type., Ludovic Courtès, 2023/01/17
- [bug#60753] [PATCH] gnu: home: Add home-emacs-service-type., Andrew Tropin, 2023/01/17
- [bug#60753] [PATCH] gnu: home: Add home-emacs-service-type.,
Ludovic Courtès <=
- [bug#60753] [PATCH] gnu: home: Add home-emacs-service-type., Andrew Tropin, 2023/01/26
- [bug#60753] [PATCH] gnu: home: Add home-emacs-service-type., Ludovic Courtès, 2023/01/31
- [bug#60753] [PATCH] gnu: home: Add home-emacs-service-type., Reily Siegel, 2023/01/26
- [bug#60753] [PATCH] gnu: home: Add home-emacs-service-type., David Wilson, 2023/01/16
[bug#60753] file like parameters not working, benoit, 2023/01/14
[bug#60753] issue with file-like init file, benoit, 2023/01/14