From 131cc86d9bacfcf3634e48a8aab60e776386c5b2 Mon Sep 17 00:00:00 2001 From: Bhavin Gandhi Date: Fri, 8 Jan 2021 22:35:33 +0530 Subject: Add subtitles and transcript for talk 38 --- 2020/info/38.md | 89 +++- 2020/organizers-notebook.md | 6 +- 2020/organizers-notebook.org | 6 +- ...cs-development-update--john-wiegley-autogen.vtt | 460 --------------------- ...--38-emacs-development-update--john-wiegley.vtt | 454 ++++++++++++++++++++ 5 files changed, 548 insertions(+), 467 deletions(-) delete mode 100644 2020/subtitles/emacsconf-2020--38-emacs-development-update--john-wiegley-autogen.vtt create mode 100644 2020/subtitles/emacsconf-2020--38-emacs-development-update--john-wiegley.vtt (limited to '2020') diff --git a/2020/info/38.md b/2020/info/38.md index ad987bc0..de667557 100644 --- a/2020/info/38.md +++ b/2020/info/38.md @@ -1,8 +1,9 @@ # Emacs development update John Wiegley -[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--38-emacs-development-update--john-wiegley.webm"]] +[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--38-emacs-development-update--john-wiegley.webm" size="75M" subtitles="/2020/subtitles/emacsconf-2020--38-emacs-development-update--john-wiegley.vtt" duration="5:07"]] [Download compressed .webm video (8.4M)](https://mirror.csclub.uwaterloo.ca/emacsconf/2020/smaller/emacsconf-2020--38-emacs-development-update--john-wiegley--vp9-q56-video-original-audio.webm) +[View transcript](#transcript) - Actual start and end time (EST): Start 2020-11-29T09.12.40; End: 2020-11-29T09.17.51 @@ -27,4 +28,90 @@ John Wiegley - Emacs 27.2 will be released soon - Emacs 28 will have better emoji support 🎉 (within C code). No timeline for 28 currently. + + +# Transcript + +Hello EmacsConf! This is John Wiegley, I'm one of the co-maintainers +of Emacs along with Eli Zaretskii and Lars Ingebrigtsen, and I wanted +to give you a technical update on what has been happening with the +Emacs in the last year. So, specifically we have a few notes that +I've gotten from a call with Eli, 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. + +(00:33) He says that we have good progress and support for Cairo, this +is going to be enabled by default in Emacs 28, and Cairo plus HarfBuzz +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. Most of those bugs have been fixed +recently, and now it becomes the default in 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 backend in Emacs 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. + +(01:21) 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 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 processor that you might be running +on. So, the Emacs 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. + +(02:45) The GTK only build is being prepared for merging. 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 be using it +in the ways that the GTK developers intended. + +(03:21) 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 XTerm, with xt-mouse, you get full +support. This is going to allow changes in the way that things can be +bound, the ways that key bindings can…, the mouse events can be mapped +to key bindings while in XTerms, and 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. + +(04:12) Emacs 27 will be soon releasing 27.2, and the pretest for that +should begin sometime soon after EmacsConf is done. + +(04:20) 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 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 C code, and then this is going to allow those types of +variations and other emoji specific font setups. + +(04:51) 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 EmacsConf, and I hope to see you there, Bye. + + diff --git a/2020/organizers-notebook.md b/2020/organizers-notebook.md index 492e3b71..bf6f7c6f 100644 --- a/2020/organizers-notebook.md +++ b/2020/organizers-notebook.md @@ -63,9 +63,9 @@ I modified the `subed` package to work with VTT files. The modified version is a - [ ] <./subtitles/emacsconf-2020--31-lakota-language-and-emacs--questions--grant-shangreaux-autogen.vtt> - [ ] <./subtitles/emacsconf-2020--32-object-oriented-code-in-the-gnus-newsreader--eric-abrahamsen-autogen.vtt> - [ ] <./subtitles/emacsconf-2020--33-maxima-a-computer-algebra-system-in-emacs--fermin.vtt> -- [ ] <./subtitles/emacsconf-2020--34-extend-emacs-to-modern-gui-applications-with-eaf--matthew-zeng-autogen.vtt> -- [ ] <./subtitles/emacsconf-2020--35-waveing-at-repetitive-repetitive-repetitive-music-zmusic--questions--zachary-kanfer-autogen.vtt> -- [ ] bhavin192 <./subtitles/emacsconf-2020--38-emacs-development-update--john-wiegley-autogen.vtt> +- [ ] bhavin192 <./subtitles/emacsconf-2020--34-extend-emacs-to-modern-gui-applications-with-eaf--matthew-zeng-autogen.vtt> +- [ ] bhavin192 <./subtitles/emacsconf-2020--35-waveing-at-repetitive-repetitive-repetitive-music-zmusic--questions--zachary-kanfer-autogen.vtt> +- [X] bhavin192 <./info/38.md> <./subtitles/emacsconf-2020--38-emacs-development-update--john-wiegley.vtt> - [X] bhavin192 <./info/39.md> <./subtitles/emacsconf-2020--39-nongnu-elpa--questions--richard-stallman.vtt> - [X] bhavin192 <./info/39.md> <./subtitles/emacsconf-2020--39-nongnu-elpa--richard-stallman.vtt> - [ ] <./subtitles/emacsconf-2020--40-closing-remarks-part-1-autogen.vtt> diff --git a/2020/organizers-notebook.org b/2020/organizers-notebook.org index bf730103..5138285c 100644 --- a/2020/organizers-notebook.org +++ b/2020/organizers-notebook.org @@ -63,9 +63,9 @@ I modified the =subed= package to work with VTT files. The modified version is a - [ ] [[./subtitles/emacsconf-2020--31-lakota-language-and-emacs--questions--grant-shangreaux-autogen.vtt]] - [ ] [[./subtitles/emacsconf-2020--32-object-oriented-code-in-the-gnus-newsreader--eric-abrahamsen-autogen.vtt]] - [ ] [[./subtitles/emacsconf-2020--33-maxima-a-computer-algebra-system-in-emacs--fermin.vtt]] -- [ ] [[./subtitles/emacsconf-2020--34-extend-emacs-to-modern-gui-applications-with-eaf--matthew-zeng-autogen.vtt]] -- [ ] [[./subtitles/emacsconf-2020--35-waveing-at-repetitive-repetitive-repetitive-music-zmusic--questions--zachary-kanfer-autogen.vtt]] -- [ ] bhavin192 [[./subtitles/emacsconf-2020--38-emacs-development-update--john-wiegley-autogen.vtt]] +- [ ] bhavin192 [[./subtitles/emacsconf-2020--34-extend-emacs-to-modern-gui-applications-with-eaf--matthew-zeng-autogen.vtt]] +- [ ] bhavin192 [[./subtitles/emacsconf-2020--35-waveing-at-repetitive-repetitive-repetitive-music-zmusic--questions--zachary-kanfer-autogen.vtt]] +- [X] bhavin192 [[./info/38.md]] [[./subtitles/emacsconf-2020--38-emacs-development-update--john-wiegley.vtt]] - [X] bhavin192 [[./info/39.md]] [[./subtitles/emacsconf-2020--39-nongnu-elpa--questions--richard-stallman.vtt]] - [X] bhavin192 [[./info/39.md]] [[./subtitles/emacsconf-2020--39-nongnu-elpa--richard-stallman.vtt]] - [ ] [[./subtitles/emacsconf-2020--40-closing-remarks-part-1-autogen.vtt]] diff --git a/2020/subtitles/emacsconf-2020--38-emacs-development-update--john-wiegley-autogen.vtt b/2020/subtitles/emacsconf-2020--38-emacs-development-update--john-wiegley-autogen.vtt deleted file mode 100644 index 7c0d9ed5..00000000 --- a/2020/subtitles/emacsconf-2020--38-emacs-development-update--john-wiegley-autogen.vtt +++ /dev/null @@ -1,460 +0,0 @@ -WEBVTT - -00:00:00.080 --> 00:00:03.040 -hello EmacsConf this is john wigley I'm - -00:00:03.040 --> 00:00:04.960 -one of the co-maintainers of Emacs along - -00:00:04.960 --> 00:00:06.319 -with ellie zoretsky - -00:00:06.319 --> 00:00:09.280 -and lars ingebrigston and I wanted to - -00:00:09.280 --> 00:00:09.840 -give you - -00:00:09.840 --> 00:00:12.639 -a technical update on what has been - -00:00:12.639 --> 00:00:14.960 -happening - -00:00:14.960 --> 00:00:18.400 -with the Emacs in the last year so - -00:00:18.400 --> 00:00:20.640 -specifically uh we have a few notes that - -00:00:20.640 --> 00:00:21.600 -I've gotten from - -00:00:21.600 --> 00:00:24.480 -a call with ellie he's been in charge of - -00:00:24.480 --> 00:00:25.840 -directing most of the - -00:00:25.840 --> 00:00:28.000 -technical contributions on the mailing - -00:00:28.000 --> 00:00:30.160 -list and monitoring all the patches - -00:00:30.160 --> 00:00:33.200 -so I'm more here just as a messenger - -00:00:33.200 --> 00:00:35.840 -he says that we have good progress and - -00:00:35.840 --> 00:00:37.120 -support for cairo - -00:00:37.120 --> 00:00:39.040 -this is going to be enabled by default - -00:00:39.040 --> 00:00:40.320 -and emax 28 - -00:00:40.320 --> 00:00:42.480 -and cairo plus half buzz is going to be - -00:00:42.480 --> 00:00:44.800 -the preferred rendering combination - -00:00:44.800 --> 00:00:46.879 -so cairo support is not new but in the - -00:00:46.879 --> 00:00:48.719 -past there were a lot of bugs in the - -00:00:48.719 --> 00:00:51.440 -code and so it was made experimental - -00:00:51.440 --> 00:00:52.960 -so most of those bugs have been fixed - -00:00:52.960 --> 00:00:54.960 -recently and now it becomes the default - -00:00:54.960 --> 00:00:56.320 -and the next major version - -00:00:56.320 --> 00:00:58.320 -which will enable several good features - -00:00:58.320 --> 00:01:00.320 -such as color emojis if you're looking - -00:01:00.320 --> 00:01:01.680 -forward to those - -00:01:01.680 --> 00:01:04.720 -xft as a result is deprecated there are - -00:01:04.720 --> 00:01:06.560 -bugs not getting fixed in that code it - -00:01:06.560 --> 00:01:07.760 -doesn't appear to be very well - -00:01:07.760 --> 00:01:08.720 -maintained - -00:01:08.720 --> 00:01:10.960 -it was the most advanced font mac end - -00:01:10.960 --> 00:01:13.760 -and emax before cairo became dependable - -00:01:13.760 --> 00:01:15.920 -so now that we have a more a better - -00:01:15.920 --> 00:01:17.840 -maintained and available solution in - -00:01:17.840 --> 00:01:19.360 -cairo we're going to go from that - -00:01:19.360 --> 00:01:23.200 -go from xft to that native compilation - -00:01:23.200 --> 00:01:23.840 -in lisp - -00:01:23.840 --> 00:01:26.400 -will also be landing soon it's currently - -00:01:26.400 --> 00:01:28.080 -on a branch but there are several people - -00:01:28.080 --> 00:01:28.799 -using it - -00:01:28.799 --> 00:01:31.040 -they say they're very impressed it does - -00:01:31.040 --> 00:01:32.479 -require live gcc - -00:01:32.479 --> 00:01:35.600 -jit to be installed for it to work and - -00:01:35.600 --> 00:01:37.439 -this means you have to have gcc 10 - -00:01:37.439 --> 00:01:38.960 -installed - -00:01:38.960 --> 00:01:41.040 -execution of Emacs lisp with native - -00:01:41.040 --> 00:01:42.240 -compilation on - -00:01:42.240 --> 00:01:45.280 -is about 2.5 times faster than the - -00:01:45.280 --> 00:01:46.159 -bytecode - -00:01:46.159 --> 00:01:48.399 -interpreter we don't yet have any - -00:01:48.399 --> 00:01:49.439 -measurements on - -00:01:49.439 --> 00:01:51.600 -memory or how it affects resources - -00:01:51.600 --> 00:01:52.960 -besides cpu so - -00:01:52.960 --> 00:01:54.720 -we do look forward to having more - -00:01:54.720 --> 00:01:56.399 -numbers and analysis to see what the - -00:01:56.399 --> 00:01:58.320 -real impact of that is going to be - -00:01:58.320 --> 00:02:01.360 -also it may vary in compute advantage - -00:02:01.360 --> 00:02:02.799 -based on the type of workload that - -00:02:02.799 --> 00:02:04.320 -you're performing - -00:02:04.320 --> 00:02:06.240 -a downside to the native compilation at - -00:02:06.240 --> 00:02:08.080 -the moment is that it takes a long - -00:02:08.080 --> 00:02:10.720 -time to compile even when you're doing a - -00:02:10.720 --> 00:02:12.720 -16 core build of Emacs - -00:02:12.720 --> 00:02:14.959 -it can still take 15 minutes to compile - -00:02:14.959 --> 00:02:15.760 -Emacs - -00:02:15.760 --> 00:02:17.840 -and all of its in all of its lisp code - -00:02:17.840 --> 00:02:19.520 -with this enabled - -00:02:19.520 --> 00:02:21.840 -also this is going to have to happen on - -00:02:21.840 --> 00:02:23.120 -every user's machine - -00:02:23.120 --> 00:02:25.360 -because we cannot distribute the native - -00:02:25.360 --> 00:02:27.520 -compilation products they are specific - -00:02:27.520 --> 00:02:28.319 -to the compo - -00:02:28.319 --> 00:02:29.760 -to the processor that you might be - -00:02:29.760 --> 00:02:31.440 -running on so - -00:02:31.440 --> 00:02:33.920 -the emax distribution will remain much - -00:02:33.920 --> 00:02:35.680 -as it is now but if you want to have the - -00:02:35.680 --> 00:02:37.760 -benefits of natively compiled - -00:02:37.760 --> 00:02:39.599 -core lisp files you're going to have to - -00:02:39.599 --> 00:02:41.519 -spend that time and have gcc 10 - -00:02:41.519 --> 00:02:42.400 -available - -00:02:42.400 --> 00:02:45.840 -to get that compilation support um - -00:02:45.840 --> 00:02:48.959 -the gtk only build is being prepared - -00:02:48.959 --> 00:02:52.160 -for merging so what this does is it - -00:02:52.160 --> 00:02:52.959 -throws away - -00:02:52.959 --> 00:02:55.120 -most of the other tool kits that Emacs - -00:02:55.120 --> 00:02:56.000 -was using - -00:02:56.000 --> 00:02:59.280 -and relies only on gtk making Emacs - -00:02:59.280 --> 00:03:01.760 -much more of a gtk application than it - -00:03:01.760 --> 00:03:03.920 -has been - -00:03:03.920 --> 00:03:06.480 -the main issue here is that we were - -00:03:06.480 --> 00:03:08.480 -abusing gtk in some ways that weren't - -00:03:08.480 --> 00:03:09.360 -really meant - -00:03:09.360 --> 00:03:10.879 -and now we're going to be more of a - -00:03:10.879 --> 00:03:12.879 -first club gtk will be more of a first - -00:03:12.879 --> 00:03:14.080 -class citizen in the - -00:03:14.080 --> 00:03:17.040 -approach and the ways that we use it and - -00:03:17.040 --> 00:03:17.440 -and - -00:03:17.440 --> 00:03:19.280 -be using it in the ways that the gtk - -00:03:19.280 --> 00:03:21.200 -developers intended - -00:03:21.200 --> 00:03:23.360 -there is going to be much more support - -00:03:23.360 --> 00:03:24.640 -for xt mouse - -00:03:24.640 --> 00:03:27.280 -so xt mouse allows you to use your mouse - -00:03:27.280 --> 00:03:29.120 -inside of a terminal window - -00:03:29.120 --> 00:03:30.799 -which you could do before but there were - -00:03:30.799 --> 00:03:33.120 -certain aspects such as menus - -00:03:33.120 --> 00:03:36.159 -that weren't supported so instead of - -00:03:36.159 --> 00:03:38.239 -having kind of partial support for mouse - -00:03:38.239 --> 00:03:39.840 -inside of an x term with xt - -00:03:39.840 --> 00:03:42.879 -mouse you get full support this is going - -00:03:42.879 --> 00:03:44.959 -to allow - -00:03:44.959 --> 00:03:46.720 -changes in the way that things can be - -00:03:46.720 --> 00:03:48.159 -bound the ways that - -00:03:48.159 --> 00:03:51.200 -uh key bindings can the mouse events can - -00:03:51.200 --> 00:03:53.200 -be mapped to key bindings while in - -00:03:53.200 --> 00:03:56.879 -x terms and um yeah little by little - -00:03:56.879 --> 00:03:58.480 -this support is being extended even - -00:03:58.480 --> 00:03:59.040 -further - -00:03:59.040 --> 00:04:01.599 -so we look forward to seeing that - -00:04:01.599 --> 00:04:04.080 -develop in the near term - -00:04:04.080 --> 00:04:06.239 -once this is merged by the way also then - -00:04:06.239 --> 00:04:08.080 -Emacs will have mouse support in every - -00:04:08.080 --> 00:04:09.840 -one of its available configurations - -00:04:09.840 --> 00:04:12.720 -which has not been true until now Emacs - -00:04:12.720 --> 00:04:14.680 -27 will be soon releasing - -00:04:14.680 --> 00:04:17.519 -27.2 and the pretest for that should - -00:04:17.519 --> 00:04:19.919 -begin sometime soon after Emacs comp is - -00:04:19.919 --> 00:04:20.880 -done - -00:04:20.880 --> 00:04:23.360 -and finally Emacs 28 is going to get - -00:04:23.360 --> 00:04:24.800 -better emoji support - -00:04:24.800 --> 00:04:26.479 -right now emojis are registered - -00:04:26.479 --> 00:04:29.120 -internally within Emacs as symbols - -00:04:29.120 --> 00:04:31.759 -which works in some ways but does not - -00:04:31.759 --> 00:04:33.759 -support some of the special features - -00:04:33.759 --> 00:04:37.360 -of of emojis such as different - -00:04:37.360 --> 00:04:40.000 -skin tones for the hand emoji or face - -00:04:40.000 --> 00:04:41.120 -emojis - -00:04:41.120 --> 00:04:43.280 -in Emacs 28 emojis are going to have - -00:04:43.280 --> 00:04:45.199 -their own support within the sequel - -00:04:45.199 --> 00:04:47.199 -c code and then this is going to allow - -00:04:47.199 --> 00:04:49.360 -those types of variations and other - -00:04:49.360 --> 00:04:52.720 -emoji specific font setups so that is - -00:04:52.720 --> 00:04:54.639 -everything for Emacs - -00:04:54.639 --> 00:04:56.720 -in the future I don't have a timeline - -00:04:56.720 --> 00:04:59.120 -for you on when 28 will be available - -00:04:59.120 --> 00:05:01.520 -but 27 is going to keep improving until - -00:05:01.520 --> 00:05:02.720 -we're ready to get there - -00:05:02.720 --> 00:05:04.479 -so have fun with the rest of you max - -00:05:04.479 --> 00:05:06.479 -conf and I hope to see you there - -00:05:06.479 --> 00:05:09.199 -bye diff --git a/2020/subtitles/emacsconf-2020--38-emacs-development-update--john-wiegley.vtt b/2020/subtitles/emacsconf-2020--38-emacs-development-update--john-wiegley.vtt new file mode 100644 index 00000000..43c39857 --- /dev/null +++ b/2020/subtitles/emacsconf-2020--38-emacs-development-update--john-wiegley.vtt @@ -0,0 +1,454 @@ +WEBVTT + +00:00:00.080 --> 00:00:03.040 +Hello EmacsConf! This is John Wiegley, I'm + +00:00:03.040 --> 00:00:04.960 +one of the co-maintainers of Emacs along + +00:00:04.960 --> 00:00:06.319 +with Eli Zaretskii + +00:00:06.319 --> 00:00:09.280 +and Lars Ingebrigtsen, and I wanted to + +00:00:09.280 --> 00:00:09.840 +give you + +00:00:09.840 --> 00:00:12.639 +a technical update on what has been + +00:00:12.639 --> 00:00:14.960 +happening + +00:00:14.960 --> 00:00:17.573 +with the Emacs in the last year. + +00:00:17.573 --> 00:00:20.640 +So, specifically we have a few notes that + +00:00:20.640 --> 00:00:21.600 +I've gotten from + +00:00:21.600 --> 00:00:24.480 +a call with Eli, he's been in charge of + +00:00:24.480 --> 00:00:25.840 +directing most of the + +00:00:25.840 --> 00:00:28.000 +technical contributions on the mailing + +00:00:28.000 --> 00:00:30.160 +list and monitoring all the patches. + +00:00:30.160 --> 00:00:33.200 +So, I'm more here just as a messenger. + +00:00:33.200 --> 00:00:35.840 +He says that we have good progress and + +00:00:35.840 --> 00:00:37.120 +support for Cairo, + +00:00:37.120 --> 00:00:39.040 +this is going to be enabled by default + +00:00:39.040 --> 00:00:40.320 +in Emacs 28, + +00:00:40.320 --> 00:00:42.480 +and Cairo plus HarfBuzz is going to be + +00:00:42.480 --> 00:00:44.800 +the preferred rendering combination. + +00:00:44.800 --> 00:00:46.879 +So, Cairo support is not new, but in the + +00:00:46.879 --> 00:00:48.719 +past there were a lot of bugs in the + +00:00:48.719 --> 00:00:51.440 +code, and so it was made experimental. + +00:00:51.440 --> 00:00:52.960 +Most of those bugs have been fixed + +00:00:52.960 --> 00:00:54.960 +recently, and now it becomes the default + +00:00:54.960 --> 00:00:56.320 +in the next major version, + +00:00:56.320 --> 00:00:58.320 +which will enable several good features + +00:00:58.320 --> 00:01:00.320 +such as color emojis, if you're looking + +00:01:00.320 --> 00:01:01.680 +forward to those. + +00:01:01.680 --> 00:01:04.720 +Xft, as a result is deprecated. There are + +00:01:04.720 --> 00:01:06.560 +bugs not getting fixed in that code, it + +00:01:06.560 --> 00:01:07.760 +doesn't appear to be very well + +00:01:07.760 --> 00:01:08.720 +maintained. + +00:01:08.720 --> 00:01:10.960 +It was the most advanced font backend + +00:01:10.960 --> 00:01:13.760 +in Emacs before Cairo became dependable. + +00:01:13.760 --> 00:01:15.920 +So, now that we have a more a better + +00:01:15.920 --> 00:01:17.840 +maintained and available solution in + +00:01:17.840 --> 00:01:19.360 +Cairo, we're going to go from that, + +00:01:19.360 --> 00:01:21.839 +go from Xft to that. + +00:01:21.839 --> 00:01:23.840 +Native compilation in Lisp + +00:01:23.840 --> 00:01:26.400 +will also be landing soon. It's currently + +00:01:26.400 --> 00:01:28.080 +on a branch, but there are several people + +00:01:28.080 --> 00:01:28.799 +using it, + +00:01:28.799 --> 00:01:31.040 +they say, they're very impressed. It does + +00:01:31.040 --> 00:01:32.479 +require live GCC + +00:01:32.479 --> 00:01:35.600 +JIT to be installed for it to work, and + +00:01:35.600 --> 00:01:37.439 +this means you have to have GCC 10 + +00:01:37.439 --> 00:01:38.960 +installed. + +00:01:38.960 --> 00:01:41.040 +Execution of Emacs Lisp with native + +00:01:41.040 --> 00:01:42.240 +compilation on + +00:01:42.240 --> 00:01:45.280 +is about 2.5 times faster than the + +00:01:45.280 --> 00:01:46.159 +bytecode + +00:01:46.159 --> 00:01:48.399 +interpreter, we don't yet have any + +00:01:48.399 --> 00:01:49.439 +measurements on + +00:01:49.439 --> 00:01:51.600 +memory or how it affects resources + +00:01:51.600 --> 00:01:52.960 +besides CPU, so, + +00:01:52.960 --> 00:01:54.720 +we do look forward to having more + +00:01:54.720 --> 00:01:56.399 +numbers and analysis to see what the + +00:01:56.399 --> 00:01:58.320 +real impact of that is going to be, + +00:01:58.320 --> 00:02:01.360 +also, it may vary in compute advantage + +00:02:01.360 --> 00:02:02.799 +based on the type of workload that + +00:02:02.799 --> 00:02:04.320 +you're performing. + +00:02:04.320 --> 00:02:06.240 +A downside to the native compilation at + +00:02:06.240 --> 00:02:08.080 +the moment is that, it takes a long + +00:02:08.080 --> 00:02:10.720 +time to compile even when you're doing a + +00:02:10.720 --> 00:02:12.720 +16 core build of Emacs, + +00:02:12.720 --> 00:02:14.959 +it can still take 15 minutes to compile + +00:02:14.959 --> 00:02:15.760 +Emacs + +00:02:15.760 --> 00:02:17.840 +and all of its Lisp code + +00:02:17.840 --> 00:02:19.520 +with this enabled. + +00:02:19.520 --> 00:02:21.840 +Also, this is going to have to happen on + +00:02:21.840 --> 00:02:23.120 +every user's machine + +00:02:23.120 --> 00:02:25.360 +because we cannot distribute the native + +00:02:25.360 --> 00:02:27.520 +compilation products, they are specific + +00:02:27.520 --> 00:02:29.760 +to the processor that you might be + +00:02:29.760 --> 00:02:30.806 +running on. + +00:02:30.806 --> 00:02:33.920 +So, the Emacs distribution will remain much + +00:02:33.920 --> 00:02:35.680 +as it is now, but if you want to have the + +00:02:35.680 --> 00:02:37.760 +benefits of natively compiled + +00:02:37.760 --> 00:02:39.599 +core Lisp files, you're going to have to + +00:02:39.599 --> 00:02:41.519 +spend that time and have GCC 10 + +00:02:41.519 --> 00:02:42.400 +available + +00:02:42.400 --> 00:02:45.840 +to get that compilation support. + +00:02:45.840 --> 00:02:48.959 +The GTK only build is being prepared + +00:02:48.959 --> 00:02:52.160 +for merging. What this does is, it + +00:02:52.160 --> 00:02:52.959 +throws away + +00:02:52.959 --> 00:02:55.120 +most of the other tool kits that Emacs + +00:02:55.120 --> 00:02:56.000 +was using + +00:02:56.000 --> 00:02:59.280 +and relies only on GTK, making Emacs + +00:02:59.280 --> 00:03:01.760 +much more of a GTK application than it + +00:03:01.760 --> 00:03:03.920 +has been. + +00:03:03.920 --> 00:03:06.480 +The main issue here is that we were + +00:03:06.480 --> 00:03:08.480 +abusing GTK in some ways that weren't + +00:03:08.480 --> 00:03:09.360 +really meant, + +00:03:09.360 --> 00:03:10.879 +and now we're going to be more of a + +00:03:10.879 --> 00:03:12.879 +first club…, GTK will be more of a first + +00:03:12.879 --> 00:03:14.080 +class citizen in the + +00:03:14.080 --> 00:03:17.440 +approach and the ways that we use it, and + +00:03:17.440 --> 00:03:19.280 +be using it in the ways that the GTK + +00:03:19.280 --> 00:03:21.200 +developers intended. + +00:03:21.200 --> 00:03:23.360 +There is going to be much more support + +00:03:23.360 --> 00:03:24.640 +for xt-mouse. + +00:03:24.640 --> 00:03:27.280 +So, xt-mouse allows you to use your mouse + +00:03:27.280 --> 00:03:29.120 +inside of a terminal window, + +00:03:29.120 --> 00:03:30.799 +which you could do before, but there were + +00:03:30.799 --> 00:03:33.120 +certain aspects such as menus + +00:03:33.120 --> 00:03:36.159 +that weren't supported. So, instead of + +00:03:36.159 --> 00:03:38.239 +having kind of partial support for mouse + +00:03:38.239 --> 00:03:40.473 +inside of an XTerm, with xt-mouse, + +00:03:40.473 --> 00:03:42.879 +you get full support. This is going + +00:03:42.879 --> 00:03:44.959 +to allow + +00:03:44.959 --> 00:03:46.720 +changes in the way that things can be + +00:03:46.720 --> 00:03:48.159 +bound, the ways that + +00:03:48.159 --> 00:03:51.200 +key bindings can…, the mouse events can + +00:03:51.200 --> 00:03:53.200 +be mapped to key bindings while in + +00:03:53.200 --> 00:03:56.879 +XTerms, and yeah, little by little + +00:03:56.879 --> 00:03:58.480 +this support is being extended even + +00:03:58.480 --> 00:03:59.040 +further, + +00:03:59.040 --> 00:04:01.599 +so we look forward to seeing that + +00:04:01.599 --> 00:04:04.080 +develop in the near term. + +00:04:04.080 --> 00:04:06.239 +Once this is merged by the way, also then + +00:04:06.239 --> 00:04:08.080 +Emacs will have mouse support in every + +00:04:08.080 --> 00:04:09.840 +one of its available configurations, + +00:04:09.840 --> 00:04:12.173 +which has not been true until now. + +00:04:12.173 --> 00:04:14.680 +Emacs 27 will be soon releasing + +00:04:14.680 --> 00:04:17.519 +27.2, and the pretest for that should + +00:04:17.519 --> 00:04:19.919 +begin sometime soon after EmacsConf is + +00:04:19.919 --> 00:04:20.880 +done. + +00:04:20.880 --> 00:04:23.360 +And finally Emacs 28 is going to get + +00:04:23.360 --> 00:04:24.800 +better emoji support, + +00:04:24.800 --> 00:04:26.479 +right now emojis are registered + +00:04:26.479 --> 00:04:29.120 +internally within Emacs as symbols + +00:04:29.120 --> 00:04:31.759 +which works in some ways but does not + +00:04:31.759 --> 00:04:33.759 +support some of the special features + +00:04:33.759 --> 00:04:37.360 +of emojis such as different + +00:04:37.360 --> 00:04:40.000 +skin tones for the hand emoji or face + +00:04:40.000 --> 00:04:41.120 +emojis. + +00:04:41.120 --> 00:04:43.280 +In Emacs 28, emojis are going to have + +00:04:43.280 --> 00:04:45.199 +their own support within the + +00:04:45.199 --> 00:04:47.199 +C code, and then this is going to allow + +00:04:47.199 --> 00:04:49.360 +those types of variations and other + +00:04:49.360 --> 00:04:51.439 +emoji specific font setups. + +00:04:51.439 --> 00:04:54.639 +So, that is everything for Emacs + +00:04:54.639 --> 00:04:56.720 +in the future, I don't have a timeline + +00:04:56.720 --> 00:04:59.120 +for you on when 28 will be available, + +00:04:59.120 --> 00:05:01.520 +but 27 is going to keep improving until + +00:05:01.520 --> 00:05:02.720 +we're ready to get there. + +00:05:02.720 --> 00:05:04.906 +So, have fun with the rest of EmacsConf, + +00:05:04.906 --> 00:05:06.479 +and I hope to see you there, + +00:05:06.479 --> 00:05:09.199 +Bye. -- cgit v1.2.3