From 4f5b5ed84ef1ce98bfc820d3e3cc9ccd9762e9e6 Mon Sep 17 00:00:00 2001 From: Sacha Chua Date: Sat, 3 Dec 2022 12:52:35 -0500 Subject: add captions --- ...acs-development-updates--john-wiegley--main.vtt | 473 +++++++++++++++++++++ 1 file changed, 473 insertions(+) create mode 100644 2022/captions/emacsconf-2022-devel--emacs-development-updates--john-wiegley--main.vtt (limited to '2022/captions/emacsconf-2022-devel--emacs-development-updates--john-wiegley--main.vtt') diff --git a/2022/captions/emacsconf-2022-devel--emacs-development-updates--john-wiegley--main.vtt b/2022/captions/emacsconf-2022-devel--emacs-development-updates--john-wiegley--main.vtt new file mode 100644 index 00000000..a55331b2 --- /dev/null +++ b/2022/captions/emacsconf-2022-devel--emacs-development-updates--john-wiegley--main.vtt @@ -0,0 +1,473 @@ +WEBVTT + +1 +00:00:00.000 --> 00:00:05.320 +Hello, it's time for another Emacs development update. + +2 +00:00:05.320 --> 00:00:07.800 +I want to thank the organizers of EmacsConf + +3 +00:00:07.800 --> 00:00:10.160 +for putting this together + +4 +00:00:10.160 --> 00:00:12.280 +and also the maintainers of Emacs + +5 +00:00:12.280 --> 00:00:14.240 +with a special thanks to Eli Zaretskii. + +6 +00:00:14.240 --> 00:00:16.560 +It's really he who gave me this information + +7 +00:00:16.560 --> 00:00:19.320 +so that I could pass it along to you. + +8 +00:00:19.320 --> 00:00:21.720 +The main thing to discuss this time + +9 +00:00:21.720 --> 00:00:25.880 +with regard to what's been going on with Emacs is Emacs 29. + +10 +00:00:25.880 --> 00:00:29.840 +The release cycle for Emacs 29 should begin in December + +11 +00:00:29.840 --> 00:00:32.720 +when a branch will be cut and the release work will start. + +12 +00:00:32.720 --> 00:00:36.640 +We should be seeing Emacs 29 coming out fairly soon. + +13 +00:00:36.640 --> 00:00:38.120 +Here's just a brief overview + +14 +00:00:38.120 --> 00:00:39.680 +of some of the things to look forward to + +15 +00:00:39.680 --> 00:00:42.400 +coming up in Emacs 29. + +16 +00:00:42.400 --> 00:00:45.680 +Overlays have been re-implemented. + +17 +00:00:45.680 --> 00:00:47.240 +If you haven't used them before, + +18 +00:00:47.240 --> 00:00:51.040 +overlays are a way to apply a set of properties + +19 +00:00:51.040 --> 00:00:53.680 +over a range of text so that + +20 +00:00:53.680 --> 00:00:55.840 +you can have things like mouse clicks + +21 +00:00:55.840 --> 00:00:57.920 +take on different behavior + +22 +00:00:57.920 --> 00:00:59.520 +depending on where it happens in the text. + +23 +00:00:59.520 --> 00:01:01.720 +This is different than text properties + +24 +00:01:01.720 --> 00:01:04.080 +which associate the properties with the text itself. + +25 +00:01:04.080 --> 00:01:07.200 +Overlays do not alter the text in any way + +26 +00:01:07.200 --> 00:01:09.320 +and they simply, as the name suggests, + +27 +00:01:09.320 --> 00:01:10.920 +overlay on the buffer. + +28 +00:01:10.920 --> 00:01:14.040 +Now previously, overlays were implemented as linear lists + +29 +00:01:14.040 --> 00:01:15.800 +which got very slow when there were + +30 +00:01:15.800 --> 00:01:17.840 +a lot of overlays in a buffer. + +31 +00:01:17.840 --> 00:01:19.880 +Now they're being re-implemented as trees, + +32 +00:01:19.880 --> 00:01:21.880 +so that searching should be very fast, and + +33 +00:01:21.880 --> 00:01:24.400 +in fact, comparable to text properties. + +34 +00:01:24.400 --> 00:01:26.520 +This is already on the master branch + +35 +00:01:26.520 --> 00:01:29.080 +and (more or less) is ready for release. + +36 +00:01:29.080 --> 00:01:32.200 +Eglot has been ported into Emacs. + +37 +00:01:32.200 --> 00:01:35.560 +Eglot is an LSP [Language Server Protocol] client for Emacs, + +38 +00:01:35.560 --> 00:01:38.480 +one of the two that are often used. + +39 +00:01:38.480 --> 00:01:40.840 +But now it's going to be included in core, + +40 +00:01:40.840 --> 00:01:42.800 +so it's considered official + +41 +00:01:42.800 --> 00:01:46.480 +and will be well integrated with other Emacs features. + +42 +00:01:46.480 --> 00:01:48.720 +There's going to be a Tree-sitter library. + +43 +00:01:48.720 --> 00:01:53.200 +Tree-sitter is a way of building fast incremental parsers. + +44 +00:01:53.200 --> 00:01:56.040 +There's a website on Tree-sitter if you Google for that. + +45 +00:01:56.040 --> 00:01:57.760 +This can be used for various features, + +46 +00:01:57.760 --> 00:01:59.760 +but first and foremost, it'll be used + +47 +00:01:59.760 --> 00:02:02.920 +for fontification and indentation in Emacs. + +48 +00:02:02.920 --> 00:02:05.600 +Instead of heuristics and regular expressions, + +49 +00:02:05.600 --> 00:02:07.400 +you can now build your fontifications + +50 +00:02:07.400 --> 00:02:08.720 +based on a parse tree. + +51 +00:02:08.720 --> 00:02:10.640 +There's a branch now that supports this + +52 +00:02:10.640 --> 00:02:13.600 +for several modes already, like Python, TypeScript, + +53 +00:02:13.600 --> 00:02:15.080 +and JavaScript. + +54 +00:02:15.080 --> 00:02:18.160 +We don't have anyone yet working on it for C mode + +55 +00:02:18.160 --> 00:02:20.480 +but Eli has challenged whether anyone + +56 +00:02:20.480 --> 00:02:21.960 +in the community is interested. + +57 +00:02:21.960 --> 00:02:25.960 +He would love to see Tree-sitter support added for C mode, + +58 +00:02:25.960 --> 00:02:27.880 +because this has been quite slow + +59 +00:02:27.880 --> 00:02:29.640 +when dealing with very, very large files + +60 +00:02:29.640 --> 00:02:30.840 +and Tree-sitter should help that. + +61 +00:02:30.840 --> 00:02:34.320 +There have been significant improvements + +62 +00:02:34.320 --> 00:02:36.560 +in dealing with very long lines. + +63 +00:02:36.560 --> 00:02:38.160 +This is something that has been + +64 +00:02:38.160 --> 00:02:40.480 +a long time frequent complaint. + +65 +00:02:40.480 --> 00:02:42.840 +Emacs becomes rather unusable + +66 +00:02:42.840 --> 00:02:45.560 +if you open a giant file that's a single long line. + +67 +00:02:45.560 --> 00:02:49.560 +Anyone who's ever tried to open a 30 megabyte JSON file + +68 +00:02:49.560 --> 00:02:52.200 +that's all on one line will know this pain. + +69 +00:02:52.200 --> 00:02:55.960 +Some modes, however, will have to adapt to this change, + +70 +00:02:55.960 --> 00:02:58.320 +because sometimes access to the whole buffer + +71 +00:02:58.320 --> 00:03:00.480 +is now forcefully restricted. + +72 +00:03:00.480 --> 00:03:04.400 +If the mode requires access to the entire buffer + +73 +00:03:04.400 --> 00:03:07.960 +at all times to work, then the developer of that mode + +74 +00:03:07.960 --> 00:03:10.240 +will need to devise some simplifications + +75 +00:03:10.240 --> 00:03:13.160 +so that they don't require that complete access. + +76 +00:03:13.160 --> 00:03:15.760 +For example, if a mode used to go way back + +77 +00:03:15.760 --> 00:03:16.880 +to the beginning of the buffer + +78 +00:03:16.880 --> 00:03:19.520 +in order to determine if there's an unbalanced parenthesis, + +79 +00:03:19.520 --> 00:03:23.160 +this won't work in the new long lines support mode, + +80 +00:03:23.160 --> 00:03:25.640 +because the entire buffer is not always available. + +81 +00:03:25.640 --> 00:03:27.680 +Emacs is sort of doing some + +82 +00:03:27.680 --> 00:03:29.920 +restricting of the buffer heuristically + +83 +00:03:29.920 --> 00:03:32.200 +in order to keep the visible range working + +84 +00:03:32.200 --> 00:03:35.240 +very, very quickly now. + +85 +00:03:35.240 --> 00:03:39.040 +Emacs can now build directly with SQLite. + +86 +00:03:39.040 --> 00:03:42.360 +This means that SQLite databases + +87 +00:03:42.360 --> 00:03:44.840 +can be directly accessible from Emacs. + +88 +00:03:44.840 --> 00:03:47.360 +Should be nice for anyone whose mode wants to + +89 +00:03:47.360 --> 00:03:50.080 +cache or store some queryable data. + +90 +00:03:50.080 --> 00:03:54.960 +The XInput extension is now up to version 2. + +91 +00:03:54.960 --> 00:03:58.160 +There are many extensions in this specification. + +92 +00:03:58.160 --> 00:03:59.600 +From the user's point of view, + +93 +00:03:59.600 --> 00:04:02.920 +it enables things like smooth scrolling and touch devices. + +94 +00:04:02.920 --> 00:04:06.320 +Emacs will now use this by default on all systems + +95 +00:04:06.320 --> 00:04:08.360 +where the library is installed. + +96 +00:04:08.360 --> 00:04:11.320 +It should be on every modern system that uses X. + +97 +00:04:11.320 --> 00:04:15.560 +There's also a pure GTK build in Emacs 29. + +98 +00:04:15.560 --> 00:04:17.560 +The purpose of this is to allow Emacs + +99 +00:04:17.560 --> 00:04:21.160 +on systems without X, such as Wayland or Broadway, + +100 +00:04:21.160 --> 00:04:24.640 +to be able to have a graphical build of Emacs. + +101 +00:04:24.640 --> 00:04:27.280 +There's also lots of improvements to drag and drop + +102 +00:04:27.280 --> 00:04:31.400 +on X systems, for people who like drag and drop. + +103 +00:04:31.400 --> 00:04:35.240 +And there's support for double buffering on Microsoft Windows. + +104 +00:04:35.240 --> 00:04:38.480 +The last of the headline features + +105 +00:04:38.480 --> 00:04:41.640 +coming for Emacs 29 is emoji input. + +106 +00:04:41.640 --> 00:04:43.520 +So there will now be a prefix key, + +107 +00:04:43.520 --> 00:04:47.320 +C-x 8 e for emoji input, + +108 +00:04:47.320 --> 00:04:50.240 +along with several new commands to insert emoji + +109 +00:04:50.240 --> 00:04:52.480 +by various forms of shorthand. + +110 +00:04:52.480 --> 00:04:54.360 +There will even be an input method + +111 +00:04:54.360 --> 00:04:57.600 +where you can write the plain English names of emojis + +112 +00:04:57.600 --> 00:05:00.080 +and have the symbol inserted. + +113 +00:05:00.080 --> 00:05:02.160 +So that rounds out some of the features + +114 +00:05:02.160 --> 00:05:03.680 +coming up for Emacs 29. + +115 +00:05:03.680 --> 00:05:05.680 +Sounds like an exciting release + +116 +00:05:05.680 --> 00:05:07.360 +and it should be headed your way soon. + +117 +00:05:07.360 --> 00:05:09.880 +I hope everybody has fun at the conference + +118 +00:05:09.880 --> 00:05:15.280 +and enjoy yourselves. -- cgit v1.2.3