hello EmacsConf this is john wigley I'm
one of the co-maintainers of Emacs along
with ellie zoretsky
and lars ingebrigston and I wanted to
give you
a technical update on what has been
happening
with the Emacs in the last year so
specifically uh we have a few notes that
I've gotten from
a call with ellie he's been in charge of
directing most of the
technical contributions on the mailing
list and monitoring all the patches
so I'm more here just as a messenger
he says that we have good progress and
support for cairo
this is going to be enabled by default
and emax 28
and cairo plus half buzz is going to be
the preferred rendering combination
so cairo support is not new but in the
past there were a lot of bugs in the
code and so it was made experimental
so most of those bugs have been fixed
recently and now it becomes the default
and the next major version
which will enable several good features
such as color emojis if you're looking
forward to those
xft as a result is deprecated there are
bugs not getting fixed in that code it
doesn't appear to be very well
maintained
it was the most advanced font mac end
and emax before cairo became dependable
so now that we have a more a better
maintained and available solution in
cairo we're going to go from that
go from xft to that native compilation
in lisp
will also be landing soon it's currently
on a branch but there are several people
using it
they say they're very impressed it does
require live gcc
jit to be installed for it to work and
this means you have to have gcc 10
installed
execution of Emacs lisp with native
compilation on
is about 2.5 times faster than the
bytecode
interpreter we don't yet have any
measurements on
memory or how it affects resources
besides cpu so
we do look forward to having more
numbers and analysis to see what the
real impact of that is going to be
also it may vary in compute advantage
based on the type of workload that
you're performing
a downside to the native compilation at
the moment is that it takes a long
time to compile even when you're doing a
16 core build of Emacs
it can still take 15 minutes to compile
Emacs
and all of its in all of its lisp code
with this enabled
also this is going to have to happen on
every user's machine
because we cannot distribute the native
compilation products they are specific
to the compo
to the processor that you might be
running on so
the emax distribution will remain much
as it is now but if you want to have the
benefits of natively compiled
core lisp files you're going to have to
spend that time and have gcc 10
available
to get that compilation support um
the gtk only build is being prepared
for merging so what this does is it
throws away
most of the other tool kits that Emacs
was using
and relies only on gtk making Emacs
much more of a gtk application than it
has been
the main issue here is that we were
abusing gtk in some ways that weren't
really meant
and now we're going to be more of a
first club gtk will be more of a first
class citizen in the
approach and the ways that we use it and
and
be using it in the ways that the gtk
developers intended
there is going to be much more support
for xt mouse
so xt mouse allows you to use your mouse
inside of a terminal window
which you could do before but there were
certain aspects such as menus
that weren't supported so instead of
having kind of partial support for mouse
inside of an x term with xt
mouse you get full support this is going
to allow
changes in the way that things can be
bound the ways that
uh key bindings can the mouse events can
be mapped to key bindings while in
x terms and um yeah little by little
this support is being extended even
further
so we look forward to seeing that
develop in the near term
once this is merged by the way also then
Emacs will have mouse support in every
one of its available configurations
which has not been true until now Emacs
27 will be soon releasing
27.2 and the pretest for that should
begin sometime soon after Emacs comp is
done
and finally Emacs 28 is going to get
better emoji support
right now emojis are registered
internally within Emacs as symbols
which works in some ways but does not
support some of the special features
of of emojis such as different
skin tones for the hand emoji or face
emojis
in Emacs 28 emojis are going to have
their own support within the sequel
c code and then this is going to allow
those types of variations and other
emoji specific font setups so that is
everything for Emacs
in the future I don't have a timeline
for you on when 28 will be available
but 27 is going to keep improving until
we're ready to get there
so have fun with the rest of you max
conf and I hope to see you there
bye