You sound great. And on the stream, my eyeball says it looks
great with Leo doing the streaming. So I say let's dive right
in. You got a long, huge line. And in order to be a little more
dialectical, I'll be reading the questions. So first
question, which key was a third party package for a long
time? Is there work to bring any other popular packages into
the core of Emacs for Emacs 31 plus, like Magit or Counsel?
Uh, right. I already answered that one on the, as you can see,
uh, right. Yeah. Do you want to quickly read the answer so
that everyone, I just can read it out again. Um, as far as I
remember, the one package that was being discussed just
around the time that the Emacs 30 branch was cut was macro
step. That's the package that was like, does an overlay, uh,
replaces a macro with the macro expansion using overlays.
So you don't have to pop up another buffer, modified,
modified current buffer. But we didn't manage to address
all the concerns in time for the Emacs 30 cuts and I believe
it's sort of stagnated around that but it might be picked up
anytime someone mentions it on Emacs Devil again. Another
package question mentioned was Magit. That's a constant
discussion regarding Magit. And actually, from the top of
my head, I can't recall if Magit is on NonGNU ELPA or GNU ELPA
right now. It's still on NonGNU ELPA.
For those who don't know, only packages which are in ELPA are
considered for addition, considered to be added to the
Emacs core, to be bundled along with Emacs. And then there's
another totally parallel discussion about having a sort of
fat Emacs distribution, I call it fat Emacs distribution,
where Emacs comes with a lot of ELPA packages or the
pre-installed by default. Part of Emacs itself. Yeah.
Maybe I could jump in with an active listening style,
you know, kind of follow up question almost. You know, I
understand the kind of different repositories. We have
things that aren't maintained by GNU at all, you know, most
notably MELPA. And then we have kind of NonGNU ELPA, which
is sort of an entryway project where it's not necessarily
curated, but there'll be some advice given, which you can
take or leave. And that's the repository where anything
that was the newer repository that represents, you know,
help, you know, help, help supplied from GNU. And then
there's the, actually the GNU, the GNU ELPA, what most of us
are used to calling just ELPA. And that's what you're
talking about there when you say,
I mean, all packages on ELPA are officially considered to be
part of Emacs, they're licensed under the same conditions
as Emacs itself, same license, same everything. And
they're more likely to be, to drop, to kind of be dropping
patched. Oh yeah, it's time for this to move to core. Is that
right? They have the legal conditions for that to be done.
Everything's necessary from a paperwork standpoint. I
mean, but other than that, there's not really a big
difference between GNU ELPA and NonGNU ELPA. It's
really just the main thing is this copyrights notice. So if
you want to add a package to ELPA, to GNU ELPA, then all
significance contributors have to have signed the FSF
copyright assignment and the package script, actually the
ELPA build script, checks if the copyright lines are all
attributed to the Free Software Foundation.
But that's not going to attach, right? So because that's not
in place, it'd be a lot more work to merge it to core. I didn't
hear the beginning. Nevermind. I think I understood. You
made your point well. Okay. All right, moving on to the
second question.
When thinking about using Emacs on
Android, I started realizing all the other software I also
want on it. For example, PDF Tools wants a small additional
Emacs-specific program to be installed on, and notmuch
obviously wants notmuch. Any way to get the goodness of
Emacs for Android with this other stuff, using either Nix OS
or Guix or nix-on-droid to make an APK with extra stuff? Are you
familiar with this topic? Absolutely not. The extent to
which I have used Emacs on Android was entirely
demonstrated in this video, I think. In my previous video. I
mean, I know it does a few scrolling stuff, but I have no idea
how external stuff, because I mean, Android is, it's a Unix
or it's a Linux based system, but it's really heavily
modified to the preferences of Google, which includes not
being able to have your own software on it. Yeah,
definitely. All right, moving on to the next question. Does
package-vc... Oh, no, that's fine. I mean, you can't answer
all the questions. I mean, it wouldn't be fun for me
otherwise.
Does package-vc download a tarball from the
specified Git repository or clone the repository itself?
It clones the repository. That's the VC part in the name.
package-vc uses VC, the C-x v stuff. In Emacs 29, there's a
new command called vc-clone, which in Emacs 31, it was
actually exposed as an interactive command. And when you
clone the repository, or when you, you can give it any URL of a
Git repository or a CVS repository or subversion
repository. Interestingly enough, most people only use
Git, but anything that's, that implements this clone
command for VC, and it could download it. So there's no
tarballs involved. Which is also, one should emphasize,
part of the difficulty of VC packages because when you have
version control and you want to upgrade it, it might be that
the upstream did a force push. For that, you make local
changes and then you have to merge them upstream with the
upstream changes when fetching stuff. It's one of the big
downsides of version-controlled stuff, and I'm saying
this as the guy who actually wrote package-vc. There's
times to use it, there's advantages to it, but that's
something you should keep in mind, why tarballs are
interesting to have, in my opinion. Okay.
How is the new
behavior of M-q in prog mode, prog-fill-reindent-defun
or something like that, different from the behavior
of C-M-q, i.e. indent-pp-sexp in older Emacs
version? My apologies if indent-pp-sexp, it's really tough to
read M-x commands out loud. It's not bound to
C-M-q by default, I can't tell. Let me try that command
out because I've never tried it, never used it before.
You know, that isn't bound by default. I bind that up myself
and I have that binding. I think that's, that's not right. It
says so. I mean, I'm currently executing it here in Emacs and
it says you can also run the commands indent-pp-sexp with
M-q, C-M-q. Apparently it is. I mean, I
didn't set it myself. I don't know what's up with that. to try
and move it. And then each line started with points or pretty
printed. I mean, the difference, the main difference
between that and the command highlighted, what's the name
again? I forget it all the time. The prog-mode command.
prog-fill-reindent-defun is that
it checks if it's in a string or not. If it's in a string or if
it's in a comma, then it will refill. Otherwise, it's going
to re-indent.
That's, I think, as far as I see, that's going to be the main
difference. If we have some long comments somewhere. Let's
try that out. Yeah, that's the difference. I just, you can't
see it, but I did try it. Okay, good. Thank you. You did a
wonderful job describing visually what you're doing. All
right, moving on to the next question, and we have about, we
have just enough time to cover the last three questions,
especially because the next one, I can pretty much surmise
the answer.
Any plans for Emacs running on iOS? Probably not
because it's not, I mean, as I emphasized in the video, the
Emacs port in Android is completely free. And to my
knowledge, that's not something that's currently
possible with iOS. You need Xcode or something like that to
build iOS stuff. So that's a big no-no. I mean, maybe Apple's
going to change their mind on that one. Well, I won't be the
one liaising with Apple to make sure that they do, but PR
welcomes, I guess, or motivated folks welcome. Second to
last question.
I am worried about the situation on non-free
systems. There was talk about the Windows and the macOS
versions being as good as unmaintained. Where do we go from
here? I gather that most users of Emacs are still on non-free
platforms and will remain to be there. I don't know about the
last point, if that's true, because there's no statistics
on that matter. But the main, I mean, someone has to, I know
that Corwin is involved with the Mac, with the Windows
stuff. Modestly. Sure, I'd love to jump in, but I'm far more
interested in your thoughts than mine. Please, please
continue. Someone has to do the work. Eli uses, as far as I
know, Eli's on the Windows XP system. So as long as he's doing
that, there's going to be Windows support for one form or
another, or at least DOS. All right. And now you put a quarter
in me, so I'll jump right back in. That's perfect for where I
guess I would take the question. To me, it's an
accessibility issue. Think about it this way. Maybe that
Windows XP system is what someone can afford. Likewise,
from a freedom versus I have to do my job and I have to use
certain technology to do my job. Maybe Emacs is what
somebody can afford right? It might be the only free tool
that they use and they don't have a lot of choice about the
operating system that they're in most of the day. In fact,
somebody could be in the situation where their computing
device at work is really their internet access, right? All
of those situations are possible. Therefore, I tend to
assume they all exist and when I ask, you know, how much It
definitely is concerning when we hear about kind of black
holes in the brain trust of something like support for the
Windows port. I feel like I've heard a lot of people
answering that call, but the importance of that is that it
doesn't stop echoing, right? Free software goes as long as
there are people that are irritated enough about something
to sort of come hack on it. Yeah. And the same applies to Mac
OS. But I don't know any concrete details about who's
currently working on it. I can't recollect any details on
who's currently working on what.
Okay. And that leaves us with the last question of the day.
I'm a bit confused about what version of Org that I should
write towards because there's Org in Emacs, the one that
ships built-in. There's the one in ELPA. There's the one in
Org, probably the Org ELPA, I assume. Is there a best
practice on what Org to use when following Emacs latest?
when following us latest. It depends on, I think, my rough
heuristic is if you do use Org a lot and if you follow the
newest features, then use the version on Elpa, because the
Elpa version should be the most up-to-date one. The Org Elpa
was deprecated, to my knowledge. If that seems true, please
someone interrupt me before I make a fool of myself.
No one's done that yet.
I think a couple of years ago there were chats and then we
deprecated the all contrib ELPA, but I think all the ELPA is
still alive. I didn't know that about that. Okay, in that
case, that relativizes how absolute my answer is.
Personally, I just use the version in Emacs, which is
bundled with Emacs, which is regularly updated on master
whenever there's a release. But that might take maybe, it
might be a short time behind the ELPA version, or the other
ELPA, the Org ELPA, which we mentioned. But I'm a very light
Org mode user, so please don't take my word for that one. No,
and I'm happy to come to you. Yeah. I
feel like we lost Leo again. OK. Well, that's all right. I
wanted a bite at that, Apple. I'm a little bit. Yeah, I also
describe myself as a light org user, but somehow your
comment made me think, well, maybe I do use it just a little
bit more than you, Philip.
From my standpoint, I'm using it as a technical basis for
dungeon mode in order to keep the game notes for the games
that are made using this game engine I'm making that I talked
about a few years ago. As soon as you said technical grounds,
you definitely use it more. Right, right. So I've studied
its internals a bit, and I have my own thoughts about this or
that. But of course, I'm rolling with the punches because
I'm just grateful that the bear dances. What an amazing
thing is Org Mode. But Leo knows far more than me,
conveniently having his stage right here, so he can't
defend himself from this. But I've had thoughts around this
space. Are you back, Leo? Yeah, sorry, I'm back. You save us
all. Maybe closing remarks. I was trying to clear my throat
to be very inconspicuous about me coming back, but
apparently I was ousted. Yeah, I was trying to answer the
question and I was trying to desperately save you from
answering, Philip, because yes, the thing about Org Mode is
that if you are the kind of people who tend to check out master
on Org Mode, generally it's roughly pretty stable. Like
when we were working with Org Element and stuff like this,
Perhaps there were some elements of stability which
weren't there quite yet, but usually now it's pretty
stable. So I think that if you are really excited about
contributing to Org Mode and stuff like this, I think there
isn't all that many risks to just checking out Org Mode
Master, so cloning the repository and just keeping up to
date. Otherwise, ELPA is a fairly safe bet if you want to have
the latest stable version. And we've got a question about
[??] as with Emacs itself. You can follow whatever is
published in your package archives or in your system
distribution package manager. You can build it yourself if
you want to contribute and fix bugs, add features, and so on.
Yeah, and I don't think perhaps a little more with Emacs,
because the features that tends to get introduced in Emacs
are slightly more wild. Not wild in the sense that they are
less stable, but wild in the sense that they tend to change a
lot more stuff. The core of Org, at least during Bastien's
maintenance ship, was very stable when you think about it.
So things might change with Ihor right now in terms of how he
wants to change some of the core behaviors, but it's usually
pretty stable. And whether you use the latest major
version, the latest minor version, things are probably
going to be pretty stable. It's like you heard me while you
were offline. And I do agree with that, in case you might have
heard both our remarks and think we're talking different
angles. Actually, I think we would tend to agree on this, Leo
and I. For the record, when I'm saying, oh, I have to go keep up
with org, that's because org grows behaviors that I've got
my own. I had to figure out at some point my own way to do it, and
now I'm learning how it's done, right? So I'm like, in my
abstraction, blah, right? And those conversations
usually end at, and somebody else took the time to figure out
how to actually make Emacs do that. Go be quiet. And I do, and I
do consider that under Bastien's tenure, it has been quite
stable. We might notice the occasional like, oh, this
highlights now and that didn't, right? But very often, very
infrequently is it breaking my workflow as a user, any of it.
It's interesting to me that this mirrors my experience with
Emacs itself, where I think, in my perception, Emacs master
is very stable and I might notice the slight changes between
git pulls. But otherwise, in my experience, Org mode
suddenly changes something, I don't know what changed or
what's going on or what caused it, and it seemed... I
perceive it as being a sudden uncontrolled change or
something. I think that's apt. Right. That gets
right at it. If we're following, if we're pulling for more
pretty regularly, cronjob every night or pulling a few
times a day or something like that, we're going to the
internals yeah, we'll have a different experience than,
you know, if we only remember to update Org once every four
months. It really pays to stick with everything. And
suddenly lots of things might change. Whatever broke in my
own config, right? And so a lot of, like a lot of things within
Emacs, but also within the free software tool chain, it's
how much you're going to invent in the config, invest in the
config, might limit you know, and maintaining your config
may limit the depth of how far it makes sense for you to go with
the tool at any given point in time. Actually just looked up
my org config and it's four, I said four options, user
options. So that's, if that's the measurements of org
expertise, that's my level, it's four.
That's all good then. Four of four, I'm assuming that is,
right? Four of what? What was the metric there, four of like a
thousand? Four out of the number of user options that Word
provides. Oh, okay, I see. Four, yeah, more like 10,000. I'm
there. Yeah. All right. On that note, I suggest we move to
what's close because it's fairly late for me and I need to
sleep. And Philip, I think it's pretty late for you as well,
isn't it? I'm in Germany, so it's about... So it is pretty
late. It's the same time zone as me. It's 11 p.m. for you.
Truly, yeah. Yeah, so I suggest we both take the chance to go
to bed as soon as we can. But Philip, thank you so much for
both the presentation and also the answers that you
provided to us and the nice little chat we had at the end. We
look forward to seeing you again next year, perhaps for
Emacs 31. I'm not sure. I was chatting with wasamasa
trying to make prognostics about when Emacs 30 is going to be
released. There's a pre-release coming soon. I should have
mentioned that earlier. Well, there you go. Gone.
All right. Well, thank you so much, Philip. We'll be moving
towards close. Give us about two minutes to get set up in the
other room. And Philip, we'll see you next time. Goodbye.
Bye-bye. Thank you.