Back to the schedule
Previous: Opening remarks
Next: The True Frownies are the Friends We Made Along the Way: An Anecdote of Emacs's Malleability

Emacs News Highlights

Sacha Chua sacha@sachachua.com - pronouns: she/her, pronunciation: SA-shah CHEW-ah - https://sachachua.com

Q&A: answering after the conference
Duration: 4:24

This talk was also streamed at an alternate time for APAC hours: https://libreau.org/past.html#emacsconf21

If you have questions and the speaker has not indicated public contact information on this page, please feel free to e-mail us at emacsconf-submit@gnu.org and we'll forward your question to the speaker.

00:00 Introduction 00:11 Upcoming Emacs 28 release 00:24 Org mode 9.5 00:57 Magit major release 01:18 Completion 01:51 Embark 02:12 tree-sitter 02:44 Collaborative editing 03:03 Graphical experiments 03:41 Community 04:00 libera.chat

Description

Quick overview of Emacs community highlights since the last conference

You can find the links and images at https://github.com/sachac/emacsconf-2021-emacs-news-highlights

Discussion

  • how do I "type" an emoji? I know how to copy them from ~/bigsrc/emacs28/admin/unidata/emoji-test.txt, but there must be better ways...
    • you could use emojify-mode (there's M-x emojify-insert-emoji)
  • Other notes:
    • Oh wow, I didn't actually know about embark
      • Yeah, switch to "smaller" turned out to be quite nice
      • but noticed projectile greps faster than consult/counsel in a lot of cases
    • Oh wow, the color picker!!!
    • a huge thank you for such an understandable yet detailed summary of what's happening in the Emacs world!
    • From YouTube: Excellent summary!! Thanks for the timestamps as well.

Transcript

[00:00:00.003] I'm Sacha Chua, and here are ten Emacs News highlights for 2021. If you want to follow the links, check out the wiki page at https://emacsconf.org/2021/talks/news/ .

[00:00:11.024] 1. The Emacs developers are currently working on Emacs 28.1, which will be the next major release. John Wiegley will share more Emacs 28 details in his update, so check out his talk. Andrea Corallo's giving a talk on native compilation too.

[00:00:24.988] 2. Org Mode is now at version 9.5. New features include a library for managing citations, asynchronous session support for code blocks, and better control of your agenda's appearance. If you've been getting your Org packages from Org ELPA, you can update your configuration to get Org from GNU ELPA and org-contrib from NonGNU ELPA. The new release of the Org Roam package should be a faster and more consistent way to use Org to manage a knowledgebase, and org-roam-ui looks pretty snazzy. The best way to keep up with Org changes is to check out the blog This Month in Org.

[00:00:57.126] 3. New Magit major release! Jonas Bernoulli has split some functionality into other packages so that Emacs Lisp developers can use them, such as magit-section, transient, and forge. Here's an example of using magit-section to manage groups of buffers. You can learn more about Transient in the talk on self-describing smart domain-specific languages or DSLs.

[00:01:18.108] 4. In terms of smaller packages, there's been a lot of activity around completion. Karthik has a great diagram, and Prot explains how things work together. I think the idea is that instead of having one large completion system like Helm or Icicles, you can choose a few different, smaller packages and configure them to work together. If you're curious about this, you might start with either selectrum or vertico, which are both completion interfaces, add marginalia for more information, and try consult for many useful completing commands. There are so many options, so it might be useful to check out some discussions.

[00:01:51.284] 5. Embark is usually mentioned as part of that group of packages, but it's well worth looking into even if you use a different system. Embark lets you have context-sensitive shortcuts that work on things in buffers, minibuffers, and even collections of things. You can also use it when you start doing one command and then decide to do a different one instead. For more ideas, check out Fifteen Ways to Use Embark.

[00:02:12.065] 6. Now that there are Emacs Lisp bindings for tree-sitter, we can work more easily with the structure of code instead of just using regular expressions. Check out the talk on Tree-edit and structural editing to learn more. You can use tree-sitter for intelligent snippets that get information from the code around them, editing Lisp expressions, and navigating text objects in Evil mode. (That's when Emacs is pretending to be Vi.) Dynamic modules help us add more to Emacs than Emacs Lisp easily offers, such as structural editing in OCaml and using Rust to figure out parentheses and indentation for Lisp.

[00:02:44.656] 7. Collaborative editing is now much easier since the CRDT package is in GNU ELPA. It allows multiple people to edit the same file over the network, using their own Emacs. This means you can keep your own config and keybindings, yay! Watch the Emacs Research Group talk for an example of how several people used it to work together.

[00:03:03.657] 8. In case you're still under the impression that Emacs is just a text editor, some folks have been working on pretty neat graphical experiments. These OpenGL bindings for Emacs Lisp use an embedded xwidget, while other prototypes use the SVG support that's built into Emacs for Gantt charts, scribbles, and even diagrams. The color-picker from that one looks particularly useful for CSS. If you want to play around with adding SVGs to your files and interfaces, svg-icon and svg-lib might be good places to start. (Reddit) Of course, there's always a place for ASCII art, especially with the new boxy package that you can use for org files, imenu navigation, and even things in real life.

[00:03:41.738] 9. There have been a lot of great posts, videos, and livestreams about Emacs this year. In addition to the ones from System Crafters, Emacs Elements, and Protesilaos, John Kitchin and Mike Zamansky are back, hooray! And Marcin Borkowski has just finished writing an intermediate textbook Emacs Lisp, too!

[00:04:00.071] 10. Lastly, if you want to chat with other Emacs folks and get help on Emacs, Org Mode, or other topics, the #emacs and #org-mode Internet Relay Chat or IRC channels are now on the libera.chat network instead of Freenode. If you'd like to add something I've missed, please add them to the wiki page, or e-mail me at sacha@sachachua.com . That's all for this quick review. Enjoy the rest of EmacsConf 2021!

Back to the schedule
Previous: Opening remarks
Next: The True Frownies are the Friends We Made Along the Way: An Anecdote of Emacs's Malleability