[[!meta title="Emacs News Highlights"]] [[!meta copyright="Copyright © 2021 Sacha Chua"]] [[!inline pages="internal(2021/info/news-nav)" raw="yes"]] # Emacs News Highlights Sacha Chua - pronouns: she/her Quick overview of Emacs community highlights since the last conference You can find the links and images at Posting the video early to help test formatting. [[!template vidid="mainVideo" id=vid src="https://media.emacsconf.org/2021/emacsconf-2021-news--emacs-news-highlights--sacha-chua--captioned.webm" size="16MB" subtitles="../../captions/emacsconf-2021-news--emacs-news-highlights--sacha-chua.vtt" duration="04:27"]] # Questions, answers, and community-provided links # Transcript [[!template text="I'm Sacha Chua, and here are" start="00:00:00.003" video="mainVideo" id=subtitle]] [[!template text="ten Emacs News highlights for 2021." start="00:00:01.519" video="mainVideo" id=subtitle]] [[!template text="If you want to follow the links," start="00:00:03.754" video="mainVideo" id=subtitle]] [[!template text="check out the wiki page at" start="00:00:05.305" video="mainVideo" id=subtitle]] [[!template text="https://emacsconf.org/2021/talks/news/ ." start="00:00:06.846" video="mainVideo" id=subtitle]] [[!template new="1" text="1\. The Emacs developers are currently" start="00:00:11.024" video="mainVideo" id=subtitle]] [[!template text="working on Emacs 28.1," start="00:00:13.442" video="mainVideo" id=subtitle]] [[!template text="which will be the next major release." start="00:00:15.346" video="mainVideo" id=subtitle]] [[!template text="Native compilation should" start="00:00:17.119" video="mainVideo" id=subtitle]] [[!template text="make everything way faster," start="00:00:18.442" video="mainVideo" id=subtitle]] [[!template text="and emoji support will probably" start="00:00:19.959" video="mainVideo" id=subtitle]] [[!template text="make things more fun. 😎👍" start="00:00:21.476" video="mainVideo" id=subtitle]] [[!template text="John Wiegley will share more Emacs 28 details" start="00:00:22.549" video="mainVideo" id=subtitle]] [[!template text="in his update, so check out his talk." start="00:00:25.133" video="mainVideo" id=subtitle]] [[!template text="Andrea Corallo's giving a talk" start="00:00:26.913" video="mainVideo" id=subtitle]] [[!template text="on native compilation too." start="00:00:28.783" video="mainVideo" id=subtitle]] [[!template new="1" text="2\." start="00:00:30.418" video="mainVideo" id=subtitle]] [[!template text="Org Mode is now at version 9.5." start="00:00:31.206" video="mainVideo" id=subtitle]] [[!template text="New features include" start="00:00:33.732" video="mainVideo" id=subtitle]] [[!template text="a library for managing citations," start="00:00:35.086" video="mainVideo" id=subtitle]] [[!template text="asynchronous session support" start="00:00:36.935" video="mainVideo" id=subtitle]] [[!template text="for code blocks," start="00:00:38.414" video="mainVideo" id=subtitle]] [[!template text="and better control" start="00:00:39.375" video="mainVideo" id=subtitle]] [[!template text="of your agenda's appearance." start="00:00:40.342" video="mainVideo" id=subtitle]] [[!template text="If you've been getting your Org packages" start="00:00:41.595" video="mainVideo" id=subtitle]] [[!template text="from Org ELPA," start="00:00:43.372" video="mainVideo" id=subtitle]] [[!template text="you can update your configuration" start="00:00:44.506" video="mainVideo" id=subtitle]] [[!template text="to get Org from GNU ELPA" start="00:00:46.128" video="mainVideo" id=subtitle]] [[!template text="and org-contrib from NonGNU ELPA." start="00:00:47.896" video="mainVideo" id=subtitle]] [[!template text="The new release of the Org Roam package" start="00:00:50.155" video="mainVideo" id=subtitle]] [[!template text="should be a faster and more consistent way" start="00:00:52.278" video="mainVideo" id=subtitle]] [[!template text="to use Org to manage a knowledgebase," start="00:00:54.185" video="mainVideo" id=subtitle]] [[!template text="and org-roam-ui looks pretty snazzy." start="00:00:56.060" video="mainVideo" id=subtitle]] [[!template text="The best way to keep up with Org changes" start="00:00:58.423" video="mainVideo" id=subtitle]] [[!template text="is to check out the blog This Month in Org." start="00:01:00.531" video="mainVideo" id=subtitle]] [[!template new="1" text="3\." start="00:01:02.556" video="mainVideo" id=subtitle]] [[!template text="New Magit major release!" start="00:01:03.439" video="mainVideo" id=subtitle]] [[!template text="Jonas Bernoulli has split some functionality" start="00:01:05.469" video="mainVideo" id=subtitle]] [[!template text="into other packages so that" start="00:01:07.781" video="mainVideo" id=subtitle]] [[!template text="Emacs Lisp developers can use them, such as" start="00:01:09.557" video="mainVideo" id=subtitle]] [[!template text="magit-section, transient, and forge." start="00:01:11.719" video="mainVideo" id=subtitle]] [[!template text="Here's an example of using magit-section" start="00:01:14.049" video="mainVideo" id=subtitle]] [[!template text="to manage groups of buffers." start="00:01:16.502" video="mainVideo" id=subtitle]] [[!template text="You can learn more about Transient" start="00:01:17.773" video="mainVideo" id=subtitle]] [[!template text="in the talk on self-describing" start="00:01:19.333" video="mainVideo" id=subtitle]] [[!template text="smart domain-specific languages or DSLs." start="00:01:20.842" video="mainVideo" id=subtitle]] [[!template new="1" text="4\." start="00:01:23.538" video="mainVideo" id=subtitle]] [[!template text="In terms of smaller packages, there's been" start="00:01:24.320" video="mainVideo" id=subtitle]] [[!template text="a lot of activity around completion." start="00:01:26.545" video="mainVideo" id=subtitle]] [[!template text="Karthik has a great diagram," start="00:01:28.625" video="mainVideo" id=subtitle]] [[!template text="and Prot explains how things work together." start="00:01:30.292" video="mainVideo" id=subtitle]] [[!template text="I think the idea is that instead of having" start="00:01:32.459" video="mainVideo" id=subtitle]] [[!template text="one large completion system" start="00:01:34.414" video="mainVideo" id=subtitle]] [[!template text="like Helm or Icicles, you can choose" start="00:01:36.066" video="mainVideo" id=subtitle]] [[!template text="a few different, smaller packages" start="00:01:38.344" video="mainVideo" id=subtitle]] [[!template text="and configure them to work together." start="00:01:40.110" video="mainVideo" id=subtitle]] [[!template text="If you're curious about this," start="00:01:41.869" video="mainVideo" id=subtitle]] [[!template text="you might start with either selectrum" start="00:01:43.129" video="mainVideo" id=subtitle]] [[!template text="or vertico, which are both completion interfaces," start="00:01:45.159" video="mainVideo" id=subtitle]] [[!template text="add marginalia for more information," start="00:01:47.871" video="mainVideo" id=subtitle]] [[!template text="and try consult for many useful" start="00:01:50.443" video="mainVideo" id=subtitle]] [[!template text="completing commands." start="00:01:52.222" video="mainVideo" id=subtitle]] [[!template text="There are so many options," start="00:01:53.233" video="mainVideo" id=subtitle]] [[!template text="so it might be useful to check out" start="00:01:54.279" video="mainVideo" id=subtitle]] [[!template text="some discussions." start="00:01:55.867" video="mainVideo" id=subtitle]] [[!template new="1" text="5\." start="00:01:56.714" video="mainVideo" id=subtitle]] [[!template text="Embark is usually mentioned as part of" start="00:01:57.477" video="mainVideo" id=subtitle]] [[!template text="that group of packages," start="00:01:59.531" video="mainVideo" id=subtitle]] [[!template text="but it's well worth looking into" start="00:02:00.607" video="mainVideo" id=subtitle]] [[!template text="even if you use a different system." start="00:02:02.196" video="mainVideo" id=subtitle]] [[!template text="Embark lets you have context-sensitive shortcuts" start="00:02:03.895" video="mainVideo" id=subtitle]] [[!template text="that work on things in buffers, minibuffers," start="00:02:06.417" video="mainVideo" id=subtitle]] [[!template text="and even collections of things." start="00:02:08.796" video="mainVideo" id=subtitle]] [[!template text="You can also use it" start="00:02:10.768" video="mainVideo" id=subtitle]] [[!template text="when you start doing one command" start="00:02:11.737" video="mainVideo" id=subtitle]] [[!template text="and then decide to do a different one instead." start="00:02:12.912" video="mainVideo" id=subtitle]] [[!template text="For more ideas, check out" start="00:02:15.012" video="mainVideo" id=subtitle]] [[!template text="Fifteen Ways to Use Embark." start="00:02:16.271" video="mainVideo" id=subtitle]] [[!template new="1" text="6\." start="00:02:17.495" video="mainVideo" id=subtitle]] [[!template text="Now that there are Emacs Lisp bindings" start="00:02:18.285" video="mainVideo" id=subtitle]] [[!template text="for tree-sitter, we can work more easily" start="00:02:20.163" video="mainVideo" id=subtitle]] [[!template text="with the structure of code instead of" start="00:02:22.139" video="mainVideo" id=subtitle]] [[!template text="just using regular expressions." start="00:02:23.799" video="mainVideo" id=subtitle]] [[!template text="Check out the talk" start="00:02:25.461" video="mainVideo" id=subtitle]] [[!template text="on Tree-edit and structural editing" start="00:02:26.209" video="mainVideo" id=subtitle]] [[!template text="to learn more." start="00:02:27.804" video="mainVideo" id=subtitle]] [[!template text="You can use tree-sitter for" start="00:02:28.593" video="mainVideo" id=subtitle]] [[!template text="intelligent snippets that get information" start="00:02:30.056" video="mainVideo" id=subtitle]] [[!template text="from the code around them," start="00:02:31.951" video="mainVideo" id=subtitle]] [[!template text="editing Lisp expressions," start="00:02:33.169" video="mainVideo" id=subtitle]] [[!template text="and navigating text objects in Evil mode." start="00:02:35.064" video="mainVideo" id=subtitle]] [[!template text="(That's when Emacs is pretending to be Vi.)" start="00:02:37.401" video="mainVideo" id=subtitle]] [[!template text="Dynamic modules help us add more to Emacs" start="00:02:39.670" video="mainVideo" id=subtitle]] [[!template text="than Emacs Lisp easily offers," start="00:02:42.563" video="mainVideo" id=subtitle]] [[!template text="such as structural editing in OCaml" start="00:02:44.388" video="mainVideo" id=subtitle]] [[!template text="and using Rust to figure out parentheses" start="00:02:46.804" video="mainVideo" id=subtitle]] [[!template text="and indentation for Lisp." start="00:02:48.729" video="mainVideo" id=subtitle]] [[!template text="If you're curious," start="00:02:50.086" video="mainVideo" id=subtitle]] [[!template text="check out the talk on" start="00:02:50.999" video="mainVideo" id=subtitle]] [[!template text="Extending Emacs in Rust with Dynamic Modules." start="00:02:51.923" video="mainVideo" id=subtitle]] [[!template new="1" text="7\." start="00:02:54.336" video="mainVideo" id=subtitle]] [[!template text="Collaborative editing is now much easier" start="00:02:55.239" video="mainVideo" id=subtitle]] [[!template text="since the CRDT package is in GNU ELPA." start="00:02:57.294" video="mainVideo" id=subtitle]] [[!template text="It allows multiple people to edit" start="00:02:59.890" video="mainVideo" id=subtitle]] [[!template text="the same file over the network," start="00:03:01.632" video="mainVideo" id=subtitle]] [[!template text="using their own Emacs." start="00:03:03.285" video="mainVideo" id=subtitle]] [[!template text="This means you can keep your own config" start="00:03:05.025" video="mainVideo" id=subtitle]] [[!template text="and keybindings, yay!" start="00:03:06.850" video="mainVideo" id=subtitle]] [[!template text="Watch the Emacs Research Group talk" start="00:03:08.674" video="mainVideo" id=subtitle]] [[!template text="for an example of how several people" start="00:03:10.400" video="mainVideo" id=subtitle]] [[!template text="used it to work together." start="00:03:12.185" video="mainVideo" id=subtitle]] [[!template new="1" text="8\." start="00:03:13.337" video="mainVideo" id=subtitle]] [[!template text="In case you're still under the impression" start="00:03:13.838" video="mainVideo" id=subtitle]] [[!template text="that Emacs is just a text editor," start="00:03:15.401" video="mainVideo" id=subtitle]] [[!template text="some folks have been working on" start="00:03:17.049" video="mainVideo" id=subtitle]] [[!template text="pretty neat graphical experiments." start="00:03:18.560" video="mainVideo" id=subtitle]] [[!template text="These OpenGL bindings for Emacs Lisp" start="00:03:20.254" video="mainVideo" id=subtitle]] [[!template text="use an embedded xwidget," start="00:03:22.432" video="mainVideo" id=subtitle]] [[!template text="while other prototypes use the SVG support" start="00:03:24.195" video="mainVideo" id=subtitle]] [[!template text="that's built into Emacs" start="00:03:26.607" video="mainVideo" id=subtitle]] [[!template text="for Gantt charts," start="00:03:27.700" video="mainVideo" id=subtitle]] [[!template text="scribbles," start="00:03:29.047" video="mainVideo" id=subtitle]] [[!template text="and even diagrams." start="00:03:29.819" video="mainVideo" id=subtitle]] [[!template text="The color-picker from that one" start="00:03:31.320" video="mainVideo" id=subtitle]] [[!template text="looks particularly useful for CSS." start="00:03:32.790" video="mainVideo" id=subtitle]] [[!template text="If you want to play around with adding SVGs" start="00:03:34.841" video="mainVideo" id=subtitle]] [[!template text="to your files and interfaces," start="00:03:37.043" video="mainVideo" id=subtitle]] [[!template text="svg-icon" start="00:03:38.722" video="mainVideo" id=subtitle]] [[!template text="and svg-lib" start="00:03:39.762" video="mainVideo" id=subtitle]] [[!template text="might be good places to start. (Reddit)" start="00:03:40.679" video="mainVideo" id=subtitle]] [[!template text="Of course, there's always a place" start="00:03:42.733" video="mainVideo" id=subtitle]] [[!template text="for ASCII art," start="00:03:44.207" video="mainVideo" id=subtitle]] [[!template text="especially with the new boxy package" start="00:03:45.209" video="mainVideo" id=subtitle]] [[!template text="that you can use for org files," start="00:03:46.933" video="mainVideo" id=subtitle]] [[!template text="imenu navigation," start="00:03:48.433" video="mainVideo" id=subtitle]] [[!template text="and even things in real life." start="00:03:49.753" video="mainVideo" id=subtitle]] [[!template new="1" text="9\." start="00:03:51.418" video="mainVideo" id=subtitle]] [[!template text="There have been a lot of great posts, videos," start="00:03:52.208" video="mainVideo" id=subtitle]] [[!template text="and livestreams about Emacs this year." start="00:03:54.411" video="mainVideo" id=subtitle]] [[!template text="In addition to the ones" start="00:03:56.312" video="mainVideo" id=subtitle]] [[!template text="from System Crafters," start="00:03:57.574" video="mainVideo" id=subtitle]] [[!template text="Emacs Elements," start="00:03:58.973" video="mainVideo" id=subtitle]] [[!template text="and Protesilaos," start="00:04:00.153" video="mainVideo" id=subtitle]] [[!template text="John Kitchin" start="00:04:01.664" video="mainVideo" id=subtitle]] [[!template text="and Mike Zamansky" start="00:04:02.474" video="mainVideo" id=subtitle]] [[!template text="are back, hooray!" start="00:04:03.220" video="mainVideo" id=subtitle]] [[!template text="And Marcin Borkowski has just finished" start="00:04:04.255" video="mainVideo" id=subtitle]] [[!template text="writing an intermediate textbook" start="00:04:06.626" video="mainVideo" id=subtitle]] [[!template text="Emacs Lisp, too!" start="00:04:08.516" video="mainVideo" id=subtitle]] [[!template new="1" text="10\." start="00:04:09.751" video="mainVideo" id=subtitle]] [[!template text="Lastly, if you want to chat" start="00:04:10.422" video="mainVideo" id=subtitle]] [[!template text="with other Emacs folks" start="00:04:11.929" video="mainVideo" id=subtitle]] [[!template text="and get help on Emacs, Org mode," start="00:04:13.083" video="mainVideo" id=subtitle]] [[!template text="or other topics," start="00:04:15.284" video="mainVideo" id=subtitle]] [[!template text="the #emacs and #org-mode" start="00:04:16.211" video="mainVideo" id=subtitle]] [[!template text="Internet Relay Chat or IRC channels" start="00:04:17.436" video="mainVideo" id=subtitle]] [[!template text="are now on the libera.chat network" start="00:04:19.861" video="mainVideo" id=subtitle]] [[!template text="instead of Freenode." start="00:04:21.747" video="mainVideo" id=subtitle]] [[!template new="1" text="If you'd like to add something I've missed," start="00:04:23.013" video="mainVideo" id=subtitle]] [[!template text="please add them to the wiki page," start="00:04:24.888" video="mainVideo" id=subtitle]] [[!template text="or e-mail me at sacha@sachachua.com ." start="00:04:26.583" video="mainVideo" id=subtitle]] [[!template text="That's all for this quick review." start="00:04:29.034" video="mainVideo" id=subtitle]] [[!template text="Enjoy the rest of EmacsConf 2021!" start="00:04:30.554" video="mainVideo" id=subtitle]] [[!inline pages="internal(2021/info/news-schedule)" raw="yes"]] [[!inline pages="internal(2021/info/news-nav)" raw="yes"]]