1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
|
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!
|