joaotavora / sly

Sylvester the Cat's Common Lisp IDE
1.23k stars 139 forks source link

Package Hyperspec as Info manual with SLY? #573

Open amno1 opened 1 year ago

amno1 commented 1 year ago

Hi Joao; first, thank you for the SLY!

I have a question/suggestion: is it of interest to package Hyperspec as info manual to be installed together with SLY?

I would like if I had it in Emacs already, but I had to search for it on the net. I have found at least two different conversions from ANSI draft in info, one from old gcl compiler, and one in J. Wigley's ready-lisp.

I was able to install both manually, but the one from Wiegley seems cleaner and nicer and comes with ASDF manual as well.

Any chance they could make into SLY, alongside SLY's own info manual?

I can help with PR, if it is of interest.

joaotavora commented 1 year ago

There is interest, i think this is a really nice thing. Package size doesn't really matter like it used to. But I have little time to work on this, practically 0, and it's important to update (or maybe rewrite) the hyperspec.el lib, its shortcuts etc, to work with the new format.

Ideally, i envision the info version working a lot like Emacs's own manual, supporting C-h S, for example.

amno1 commented 1 year ago

Package size doesn't really matter like it used to.

Yeah; the one in ready-lisp is 2.7 megabyte uncompressed; in today's world it is really nothing :).

it's important to update (or maybe rewrite) the hyperspec.el lib, its shortcuts etc, to work with the new format

I agree with that one, however, I am not sure if I know all the differences. I don't see anything in Info manual, but I have just glanced over it in Emacs. If there is some elisp/shell/whatever script or at least a set of conversion rules, I could give it a shot and try to process them, if I can write a script; manually is out of question; it is like tens of thousands of lines together :).

I am aware of dpans2texi, but it requires tex-sources which nobody seems to have, and also asks for some missing file. I am also not sure how "modern" it is; seems to be from 2004.

By the way; I have looked through Emacs sources, and I don't see anything useful there, but they must have used something themselves?

monnier commented 1 year ago

There is interest, i think this is a really nice thing. Package size doesn't really matter like it used to. But I have little time to work on this, practically 0, and it's important to update (or maybe rewrite) the hyperspec.el lib, its shortcuts etc, to work with the new format.

I'd urge you to make it a separate package. You can have it in the Package-Requires: if you want to make sure your users all have it without any extra effort.

[ It might even qualify for GNU ELPA. ]

joaotavora commented 1 year ago

On Fri, Feb 24, 2023 at 2:53 PM monnier @.***> wrote:

There is interest, i think this is a really nice thing. Package size doesn't really matter like it used to. But I have little time to work on this, practically 0, and it's important to update (or maybe rewrite) the hyperspec.el lib, its shortcuts etc, to work with the new format.

I'd urge you to make it a separate package. You can have it in the Package-Requires: if you want to make sure your users all have it without any extra effort.

[ It might even qualify for GNU ELPA. ]

But Stefan, I really want Sly to be usable through git clones. A lot of people I know, including me, use it like that. And Hyperspec is pretty important reference. So we can make a GNU ELPA package, that's fine, but the installation recipe for Sly must keep working:

(add-to-list 'load-path "~/dir/to/cloned/sly") (require 'sly-autoloads) (setq inferior-lisp-program "/opt/sbcl/bin/sbcl")

M-x sly

monnier commented 1 year ago

But Stefan, I really want Sly to be usable through git clones.

package-vc-install ?

joaotavora commented 1 year ago

On Fri, Feb 24, 2023 at 4:36 PM monnier @.***> wrote:

But Stefan, I really want Sly to be usable through git clones.

package-vc-install ?

Hmmm. Last I checked Sly still worked with Emacs 24 (prolly not anymore), and I'm fairly sure some people around at least two companies are using it in Emacs 25. I need that basic recipe to work, I need for things to work without package.el, that's just the reality of this tool.

It has inherited this trait from SLIME, which also bundles hyperspec.el and even cl-lib.el because of that. SLIME/SLY users traditionally like to run from git master. At least they used to (but I certainly still do).

But we can still make the package regardless and somehow bundle it.

amno1 commented 1 year ago

Packaging is the least of all problems. It can be included with Sly, and live as a separate package in elpa or melpa.

The big issue is if there is some script to help convert between "old" and "new" info style. I personally don't even know the difference to be honest. I can write a script myself if there is some text I can read about the differences so I know how and what to transform.

amno1 commented 1 year ago

I have looked at hyperspec.el, and I think I understand what to do. I do have a question:

Do you imagine sly having customizable option for users to choose between web or info docs; or just use info instead?

port19x commented 6 months ago

I have looked at hyperspec.el, and I think I understand what to do. I do have a question:

Do you imagine sly having customizable option for users to choose between web or info docs; or just use info instead?

If in doubt, make it a customizable option and retain previous defaults