summaryrefslogblamecommitdiffstats
path: root/2021/captions/emacsconf-2021-news--emacs-news-highlights--sacha-chua.vtt
blob: 3b8f2db3c6f30bf4d1be35ae4e850f83dc5de73e (plain) (tree)





















































                                             
                               
































































































































































































































































































































































































                                                 









                                      

   
                       

                           
                       

                      

                                
 
                       

                
                       

                        
                       

                                   
                       

                                  
                       

                    
                       

                                           
                       

                                 
                       

                                     
                       

                                 
                       
                                 
WEBVTT

00:00.003 --> 00:01.519
I'm Sacha Chua, and here are

00:01.519 --> 00:03.754
ten Emacs News highlights for 2021.

00:03.754 --> 00:05.305
If you want to follow the links,

00:05.305 --> 00:06.846
check out the wiki page at

00:06.846 --> 00:11.024
https://emacsconf.org/2021/talks/news/ .

00:11.024 --> 00:13.442
1. The Emacs developers are currently

00:13.442 --> 00:15.346
working on Emacs 28.1,

00:15.346 --> 00:17.119
which will be the next major release.

00:17.119 --> 00:18.442
Native compilation should

00:18.442 --> 00:19.959
make everything way faster,

00:19.959 --> 00:21.476
and emoji support will probably

00:21.476 --> 00:22.549
make things more fun. 😎👍

00:22.549 --> 00:25.133
John Wiegley will share more Emacs 28 details

00:25.133 --> 00:26.913
in his update, so check out his talk.

00:26.913 --> 00:28.783
Andrea Corallo's giving a talk

00:28.783 --> 00:30.418
on native compilation too.

00:30.418 --> 00:31.206
2.

00:31.206 --> 00:33.732
Org mode is now at version 9.5.

00:33.732 --> 00:35.086
New features include

00:35.086 --> 00:36.935
a library for managing citations,

00:36.935 --> 00:38.414
asynchronous session support

00:38.414 --> 00:39.375
for code blocks,

00:39.375 --> 00:40.342
and better control

00:40.342 --> 00:41.595
of your agenda's appearance.

00:41.595 --> 00:43.372
If you've been getting your Org packages

00:43.372 --> 00:44.506
from Org ELPA,

00:44.506 --> 00:46.128
you can update your configuration

00:46.128 --> 00:47.896
to get Org from GNU ELPA

00:47.896 --> 00:50.155
and org-contrib from NonGNU ELPA.

00:50.155 --> 00:52.278
The new release of the Org Roam package

00:52.278 --> 00:54.185
should be a faster and more consistent way

00:54.185 --> 00:56.060
to use Org to manage a knowledgebase,

00:56.060 --> 00:58.423
and org-roam-ui looks pretty snazzy.

00:58.423 --> 01:00.531
The best way to keep up with Org changes

01:00.531 --> 01:02.556
is to check out the blog This Month in Org.

01:02.556 --> 01:03.439
3.

01:03.439 --> 01:05.469
New Magit major release!

01:05.469 --> 01:07.781
Jonas Bernoulli has split some functionality

01:07.781 --> 01:09.557
into other packages so that

01:09.557 --> 01:11.719
Emacs Lisp developers can use them, such as

01:11.719 --> 01:14.049
magit-section, transient, and forge.

01:14.049 --> 01:16.502
Here's an example of using magit-section

01:16.502 --> 01:17.773
to manage groups of buffers.

01:17.773 --> 01:19.333
You can learn more about Transient

01:19.333 --> 01:20.842
in the talk on self-describing

01:20.842 --> 01:23.538
smart domain-specific languages or DSLs.

01:23.538 --> 01:24.320
4.

01:24.320 --> 01:26.545
In terms of smaller packages, there's been

01:26.545 --> 01:28.625
a lot of activity around completion.

01:28.625 --> 01:30.292
Karthik has a great diagram,

01:30.292 --> 01:32.459
and Prot explains how things work together.

01:32.459 --> 01:34.414
I think the idea is that instead of having

01:34.414 --> 01:36.066
one large completion system

01:36.066 --> 01:38.344
like Helm or Icicles, you can choose

01:38.344 --> 01:40.110
a few different, smaller packages

01:40.110 --> 01:41.869
and configure them to work together.

01:41.869 --> 01:43.129
If you're curious about this,

01:43.129 --> 01:45.159
you might start with either selectrum

01:45.159 --> 01:47.871
or vertico, which are both completion interfaces,

01:47.871 --> 01:50.443
add marginalia for more information,

01:50.443 --> 01:52.222
and try consult for many useful

01:52.222 --> 01:53.233
completing commands.

01:53.233 --> 01:54.279
There are so many options,

01:54.279 --> 01:55.867
so it might be useful to check out

01:55.867 --> 01:56.714
some discussions.

01:56.714 --> 01:57.477
5.

01:57.477 --> 01:59.531
Embark is usually mentioned as part of

01:59.531 --> 02:00.607
that group of packages,

02:00.607 --> 02:02.196
but it's well worth looking into

02:02.196 --> 02:03.895
even if you use a different system.

02:03.895 --> 02:06.417
Embark lets you have context-sensitive shortcuts

02:06.417 --> 02:08.796
that work on things in buffers, minibuffers,

02:08.796 --> 02:10.768
and even collections of things.

02:10.768 --> 02:11.737
You can also use it

02:11.737 --> 02:12.912
when you start doing one command

02:12.912 --> 02:15.012
and then decide to do a different one instead.

02:15.012 --> 02:16.271
For more ideas, check out

02:16.271 --> 02:17.495
Fifteen Ways to Use Embark.

02:17.495 --> 02:18.285
6.

02:18.285 --> 02:20.163
Now that there are Emacs Lisp bindings

02:20.163 --> 02:22.139
for tree-sitter, we can work more easily

02:22.139 --> 02:23.799
with the structure of code instead of

02:23.799 --> 02:25.461
just using regular expressions.

02:25.461 --> 02:26.209
Check out the talk

02:26.209 --> 02:27.804
on Tree-edit and structural editing

02:27.804 --> 02:28.593
to learn more.

02:28.593 --> 02:30.056
You can use tree-sitter for

02:30.056 --> 02:31.951
intelligent snippets that get information

02:31.951 --> 02:33.169
from the code around them,

02:33.169 --> 02:35.064
editing Lisp expressions,

02:35.064 --> 02:37.401
and navigating text objects in Evil mode.

02:37.401 --> 02:39.670
(That's when Emacs is pretending to be Vi.)

02:39.670 --> 02:42.563
Dynamic modules help us add more to Emacs

02:42.563 --> 02:44.388
than Emacs Lisp easily offers,

02:44.388 --> 02:46.804
such as structural editing in OCaml

02:46.804 --> 02:48.729
and using Rust to figure out parentheses

02:48.729 --> 02:50.086
and indentation for Lisp.

02:50.086 --> 02:50.999
If you're curious,

02:50.999 --> 02:51.923
check out the talk on

02:51.923 --> 02:54.336
Extending Emacs in Rust with Dynamic Modules.

02:54.336 --> 02:55.239
7.

02:55.239 --> 02:57.294
Collaborative editing is now much easier

02:57.294 --> 02:59.890
since the CRDT package is in GNU ELPA.

02:59.890 --> 03:01.632
It allows multiple people to edit

03:01.632 --> 03:03.285
the same file over the network,

03:03.285 --> 03:05.025
using their own Emacs.

03:05.025 --> 03:06.850
This means you can keep your own config

03:06.850 --> 03:08.674
and keybindings, yay!

03:08.674 --> 03:10.400
Watch the Emacs Research Group talk

03:10.400 --> 03:12.185
for an example of how several people

03:12.185 --> 03:13.337
used it to work together.

03:13.337 --> 03:13.838
8.

03:13.838 --> 03:15.401
In case you're still under the impression

03:15.401 --> 03:17.049
that Emacs is just a text editor,

03:17.049 --> 03:18.560
some folks have been working on

03:18.560 --> 03:20.254
pretty neat graphical experiments.

03:20.254 --> 03:22.432
These OpenGL bindings for Emacs Lisp

03:22.432 --> 03:24.195
use an embedded xwidget,

03:24.195 --> 03:26.607
while other prototypes use the SVG support

03:26.607 --> 03:27.700
that's built into Emacs

03:27.700 --> 03:29.047
for Gantt charts,

03:29.047 --> 03:29.819
scribbles,

03:29.819 --> 03:31.320
and even diagrams.

03:31.320 --> 03:32.790
The color-picker from that one

03:32.790 --> 03:34.841
looks particularly useful for CSS.

03:34.841 --> 03:37.043
If you want to play around with adding SVGs

03:37.043 --> 03:38.722
to your files and interfaces,

03:38.722 --> 03:39.762
svg-icon

03:39.762 --> 03:40.679
and svg-lib

03:40.679 --> 03:42.733
might be good places to start. (Reddit)

03:42.733 --> 03:44.207
Of course, there's always a place

03:44.207 --> 03:45.209
for ASCII art,

03:45.209 --> 03:46.933
especially with the new boxy package

03:46.933 --> 03:48.433
that you can use for org files,

03:48.433 --> 03:49.753
imenu navigation,

03:49.753 --> 03:51.418
and even things in real life.

03:51.418 --> 03:52.208
9.

03:52.208 --> 03:54.411
There have been a lot of great posts, videos,

03:54.411 --> 03:56.312
and livestreams about Emacs this year.

03:56.312 --> 03:57.574
In addition to the ones

03:57.574 --> 03:58.973
from System Crafters,

03:58.973 --> 04:00.153
Emacs Elements,

04:00.153 --> 04:01.664
and Protesilaos,

04:01.664 --> 04:02.474
John Kitchin

04:02.474 --> 04:03.220
and Mike Zamansky

04:03.220 --> 04:04.255
are back, hooray!

04:04.255 --> 04:06.626
And Marcin Borkowski has just finished

04:06.626 --> 04:08.516
writing an intermediate textbook

04:08.516 --> 04:09.751
Emacs Lisp, too!

04:09.751 --> 04:10.422
10.

04:10.422 --> 04:11.929
Lastly, if you want to chat

04:11.929 --> 04:13.083
with other Emacs folks

04:13.083 --> 04:15.284
and get help on Emacs, Org mode,

04:15.284 --> 04:16.211
or other topics,

04:16.211 --> 04:17.436
the #emacs and #org-mode

04:17.436 --> 04:19.861
Internet Relay Chat or IRC channels

04:19.861 --> 04:21.747
are now on the libera.chat network

04:21.747 --> 04:23.013
instead of Freenode.

04:23.013 --> 04:24.888
If you'd like to add something I've missed,

04:24.888 --> 04:26.583
please add them to the wiki page,

04:26.583 --> 04:29.034
or e-mail me at sacha@sachachua.com .

04:29.034 --> 04:30.554
That's all for this quick review.

04:30.554 --> 04:33.104
Enjoy the rest of EmacsConf 2021!