all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* ELPA submission: mathjax.el
@ 2024-10-12 14:35 Augusto Stoffel
  2024-10-17  3:54 ` Richard Stallman
  0 siblings, 1 reply; 3+ messages in thread
From: Augusto Stoffel @ 2024-10-12 14:35 UTC (permalink / raw)
  To: emacs-devel@gnu.org

I would like to add the package residing at the following location to
ELPA:

https://github.com/astoff/mathjax.el

There's no need to clarify the necessary header changes, but I would
like to add a technical comment: the package needs an external program
to be useful (Node) but otherwise bundles all other dependencies.

[paste Chico Buarque meme here]

More specifically, there's a 2.3 MB minified JavaScript file that is
committed to the repo and I will take care to update when the "real"
source (also in the repo, of course) changes.

Also, in case there are any JS experts around, I'd be happy to get hints
on how to make things work with other JS engines.  I have at least 3
others in my machine (2 browsers and Gnome's) but it's unclear to me if
they can be used for random purposes like this one.

Best,
Augusto



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: ELPA submission: mathjax.el
  2024-10-12 14:35 ELPA submission: mathjax.el Augusto Stoffel
@ 2024-10-17  3:54 ` Richard Stallman
  2024-10-17  4:27   ` Augusto Stoffel
  0 siblings, 1 reply; 3+ messages in thread
From: Richard Stallman @ 2024-10-17  3:54 UTC (permalink / raw)
  To: Augusto Stoffel; +Cc: emacs-devel

[[[ To any NSA and FBI agents reading my email: please consider    ]]]
[[[ whether defending the US Constitution against all enemies,     ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]

  > I would like to add the package residing at the following location to
  > ELPA:

  > https://github.com/astoff/mathjax.el

As I recall, mathjax does a useful job, but depends on a browser to
run special Javascript code.  It has been some years since I heard
about that -- is my memory right?  If not, could you explain how
things really work?

This raises an issue which is one of the biggest issues in computing
and freedom: how to give users control over the Javascript programs
that run in their browsers.

I have an idea for how perhaps to do that.  I don't know enough
about web browsers and Javascript to be sure whether it can work.
Could you please work with me to explore the possibility?

The first step is to think about how the Mathjax Javascript program
couples to and relates to the Emacs Lisp program.  Could you please
explain how that coupling works now?

-- 
Dr Richard Stallman (https://stallman.org)
Chief GNUisance of the GNU Project (https://gnu.org)
Founder, Free Software Foundation (https://fsf.org)
Internet Hall-of-Famer (https://internethalloffame.org)





^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: ELPA submission: mathjax.el
  2024-10-17  3:54 ` Richard Stallman
@ 2024-10-17  4:27   ` Augusto Stoffel
  0 siblings, 0 replies; 3+ messages in thread
From: Augusto Stoffel @ 2024-10-17  4:27 UTC (permalink / raw)
  To: Richard Stallman; +Cc: emacs-devel

On Wed, 16 Oct 2024 at 23:54, Richard Stallman wrote:

> [[[ To any NSA and FBI agents reading my email: please consider    ]]]
> [[[ whether defending the US Constitution against all enemies,     ]]]
> [[[ foreign or domestic, requires you to follow Snowden's example. ]]]
>
>   > I would like to add the package residing at the following location to
>   > ELPA:
>
>   > https://github.com/astoff/mathjax.el
>
> As I recall, mathjax does a useful job, but depends on a browser to
> run special Javascript code.  It has been some years since I heard
> about that -- is my memory right?  If not, could you explain how
> things really work?

If it was years ago then it was probably right at the time.  In the
meanwhile, however, standalone JS environments have appeared.
Apparently many people like JS and use it to develop regular programs.

MathJax is just a JS library and it can run in those standalone JS
interpreters to produce images from formulas (in TeX or MathML
notation).  So that's what my package does: it runs one of those
standalone JS interpreter and loads the MathJax library in it.

> This raises an issue which is one of the biggest issues in computing
> and freedom: how to give users control over the Javascript programs
> that run in their browsers.

Just to emphasize: MathJax as well as its JS dependencies and the
standalone JS interpreter are all free software.  So for my package this
is not an issue.

> I have an idea for how perhaps to do that.  I don't know enough
> about web browsers and Javascript to be sure whether it can work.
> Could you please work with me to explore the possibility?
>
> The first step is to think about how the Mathjax Javascript program
> couples to and relates to the Emacs Lisp program.  Could you please
> explain how that coupling works now?

The coupling is via good old pipes, with MathJax running as a subprocess
of Emacs (like a non-interactive Comint, basically).



^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2024-10-17  4:27 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-12 14:35 ELPA submission: mathjax.el Augusto Stoffel
2024-10-17  3:54 ` Richard Stallman
2024-10-17  4:27   ` Augusto Stoffel

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.