@@ -177,7 +177,19 @@ This file also defines macros =thunk-let= and =thunk-let*= that are analogous to
177177
178178** Buffers :buffers:
179179
180+ *** Contents
181+ :PROPERTIES:
182+ :TOC: siblings
183+ :END:
184+ - [[#best-practices][Best practices]]
185+ - [[#accessing-buffer-local-variables][Accessing buffer-local variables]]
186+ - [[#inserting-strings][Inserting strings]]
187+ - [[#libraries][Libraries]]
188+
180189*** Best practices :best_practices:
190+ :PROPERTIES:
191+ :TOC: 1
192+ :END:
181193
182194**** Accessing buffer-local variables
183195
@@ -242,6 +254,7 @@ The fastest method here is to call ~insert~ once with the result of calling ~con
242254*** Libraries :libraries:
243255:PROPERTIES:
244256:ID: 523aa766-36a3-4827-a114-6babf72edc6b
257+ :TOC: 0
245258:END:
246259
247260**** [[https://github.com/phillord/m-buffer-el][m-buffer-el: List Oriented Buffer Operations]]
@@ -265,7 +278,20 @@ users, as it provides familiar and intuitive interfaces with usual keys (for mov
265278
266279** Collections (lists, vectors, hash-tables, etc.) :collections:
267280
281+ *** Contents
282+ :PROPERTIES:
283+ :TOC: siblings
284+ :END:
285+ - [[#best-practices][Best practices]]
286+ - [[#examples][Examples]]
287+ - [[#alists][Alists]]
288+ - [[#libraries][Libraries]]
289+ - [[#tools][Tools]]
290+
268291*** Best practices :best_practices:
292+ :PROPERTIES:
293+ :TOC: 0
294+ :END:
269295
270296**** Collecting items into a list :lists:
271297
@@ -357,6 +383,9 @@ Using ~-select~ from =dash.el= seems to be the fastest way:
357383| (-non-nil (--map (when ... | slowest | 0.02903999 | 0 | 0.0 |
358384
359385*** Examples :examples:
386+ :PROPERTIES:
387+ :TOC: 1
388+ :END:
360389
361390**** Alists :alists:
362391
@@ -440,6 +469,9 @@ Using ~-select~ from =dash.el= seems to be the fastest way:
440469#+END_SRC
441470
442471*** Libraries :libraries:
472+ :PROPERTIES:
473+ :TOC: 0
474+ :END:
443475
444476**** [[https://github.com/plexus/a.el][a.el: functions for dealing with association lists and hash tables. Inspired by Clojure.]] :alists:hash_tables:
445477
@@ -505,6 +537,9 @@ Streams could be created from any sequential input data:
505537#+END_QUOTE
506538
507539*** Tools :tools:
540+ :PROPERTIES:
541+ :TOC: 0
542+ :END:
508543
509544**** [[id:f8f0755b-c23b-45ad-98da-780d4044676a][let-alist]]
510545
@@ -947,7 +982,27 @@ A flexible, featureful =curl= wrapper, last updated in 2015.
947982:TOC: ignore-children
948983:END:
949984
985+ *** Contents
986+ :PROPERTIES:
987+ :TOC: siblings
988+ :END:
989+ - [[#best-practices][Best practices]]
990+ - [[#autoloads][Autoloads]]
991+ - [[#integration-with-other-packages][Integration with other packages]]
992+ - [[#httpswwwgnuorgsoftwareemacsmanualhtml_nodeelisplexical-bindinghtmllexical-binding][Lexical binding]]
993+ - [[#template][Template]]
994+ - [[#readme][Readme]]
995+ - [[#version-numbers][Version numbers]]
996+ - [[#libraries][Libraries]]
997+ - [[#reference][Reference]]
998+ - [[#package-headers-and-structure][Package headers and structure]]
999+ - [[#tools][Tools]]
1000+ - [[#package-installationmanagement][Package installation/management]]
1001+
9501002*** Best practices :best_practices:
1003+ :PROPERTIES:
1004+ :TOC: 1
1005+ :END:
9511006
9521007**** Autoloads :autoloads:
9531008
@@ -1331,12 +1386,18 @@ Version numbers which are valid in Emacs are those accepted by the function ~ver
13311386#+END_EXAMPLE
13321387
13331388*** Libraries :libraries:
1389+ :PROPERTIES:
1390+ :TOC: 0
1391+ :END:
13341392
13351393**** =lisp-mnt.el= (=lm=) :built_in:
13361394
13371395This library includes functions helpful for working with and verifying the format of Emacs Lisp package files, including headers, commentary, etc. It's easy to overlook and hard to re-discover this package because of its =lm= symbol prefix. It's listed here because your editor keeps forgetting what it's called.
13381396
13391397*** Reference :reference:
1398+ :PROPERTIES:
1399+ :TOC: 1
1400+ :END:
13401401
13411402**** Package headers and structure
13421403:PROPERTIES:
@@ -1370,6 +1431,9 @@ The [[https://www.gnu.org/software/emacs/manual/html_node/elisp/Simple-Packages.
13701431#+END_EXAMPLE
13711432
13721433*** Tools :tools:
1434+ :PROPERTIES:
1435+ :TOC: 1
1436+ :END:
13731437
13741438**** Package installation/management :installation:management:
13751439
@@ -1401,7 +1465,18 @@ Developed by the current maintainer of Emacs, himself, John Wiegley.
14011465:ID: b699e1a1-e34c-4ce8-a5dd-41161d2a1cbf
14021466:END:
14031467
1468+ *** Contents
1469+ :PROPERTIES:
1470+ :TOC: siblings
1471+ :END:
1472+ - [[#articles][Articles]]
1473+ - [[#libraries][Libraries]]
1474+ - [[#tools][Tools]]
1475+
14041476*** Articles :articles:
1477+ :PROPERTIES:
1478+ :TOC: 0
1479+ :END:
14051480
14061481**** [[http://www.wilfred.me.uk/blog/2017/03/19/pattern-matching-in-emacs-lisp/][Pattern Matching in Emacs Lisp – Wilfred Hughes::Blog]] :pcase:shadchen:cl:dash:
14071482:PROPERTIES:
@@ -1425,6 +1500,9 @@ For the sake of this post, we'll consider both pattern matching and destructurin
14251500John Kitchin demonstrates some [[id:a58f65dc-d4a4-4a40-a573-a66a28f3619c][macros]] that make it easy to access plist values.
14261501
14271502*** Libraries :libraries:
1503+ :PROPERTIES:
1504+ :TOC: 0
1505+ :END:
14281506
14291507**** [[https://github.com/magnars/dash.el][dash.el]] :dash:
14301508
@@ -1475,6 +1553,9 @@ This example shows the use of =pcase-let*= to destructure and bind a nested alis
14751553A powerful, Racket-style pattern-matching library.
14761554
14771555*** Tools :tools:
1556+ :PROPERTIES:
1557+ :TOC: 0
1558+ :END:
14781559
14791560**** let-alist :alists:macros:destructuring:
14801561:PROPERTIES:
@@ -1568,7 +1649,23 @@ And:
15681649
15691650#+END_SRC
15701651
1652+ *** Contents
1653+ :PROPERTIES:
1654+ :TOC: siblings
1655+ :END:
1656+ - [[#articles][Articles]]
1657+ - [[#macros][Macros]]
1658+ - [[#bench][bench]]
1659+ - [[#bench-multi-macros][bench-multi macros]]
1660+ - [[#bench-multi-lexical][bench-multi-lexical]]
1661+ - [[#bench-dynamic-vs-lexical-binding][bench-dynamic-vs-lexical-binding]]
1662+ - [[#bench-multi-lets][bench-multi-lets]]
1663+ - [[#elp-profile][elp-profile]]
1664+
15711665*** Articles :articles:
1666+ :PROPERTIES:
1667+ :TOC: 0
1668+ :END:
15721669
15731670**** [[https://nullprogram.com/blog/2017/01/30/][How to Write Fast(er) Emacs Lisp « null program]]
15741671:PROPERTIES:
@@ -2055,14 +2152,28 @@ Emacs Refactor (EMR) is a framework for providing language-specific refactoring
20552152
20562153** Regular expressions :regular_expressions:
20572154
2155+ *** Contents
2156+ :PROPERTIES:
2157+ :TOC: siblings
2158+ :END:
2159+ - [[#articles][Articles]]
2160+ - [[#libraries][Libraries]]
2161+ - [[#tools][Tools]]
2162+
20582163*** Articles :articles:
2164+ :PROPERTIES:
2165+ :TOC: 0
2166+ :END:
20592167
20602168**** TODO [[http://francismurillo.github.io/2017-03-30-Exploring-Emacs-rx-Macro/][Exploring Emacs rx Macro]] :rx:
20612169:PROPERTIES:
20622170:archive.today: http://archive.today/xPWJP
20632171:END:
20642172
20652173*** Libraries :libraries:
2174+ :PROPERTIES:
2175+ :TOC: 0
2176+ :END:
20662177
20672178**** [[https://elpa.gnu.org/packages/lex.html][lex]]
20682179
@@ -2079,6 +2190,9 @@ Format of regexps is the same as used for `rx' and `sregex'. Additions:
20792190**** TODO [[https://github.com/joddie/pcre2el][pcre2el: Convert between PCRE, Emacs and rx regexp syntax]]
20802191
20812192*** Tools :tools:
2193+ :PROPERTIES:
2194+ :TOC: 0
2195+ :END:
20822196
20832197**** [[https://github.com/immerrr/ample-regexps.el][ample-regexps.el: Compose and reuse regular expressions with ease]]
20842198
@@ -2146,11 +2260,25 @@ This example shows the use of a function to expand a list of strings into a sequ
21462260
21472261** Strings :strings:
21482262
2263+ *** Contents
2264+ :PROPERTIES:
2265+ :TOC: siblings
2266+ :END:
2267+ - [[#libraries][Libraries]]
2268+ - [[#tools][Tools]]
2269+ - [[#format-macro][format$ macro]]
2270+
21492271*** Libraries :libraries:
2272+ :PROPERTIES:
2273+ :TOC: 0
2274+ :END:
21502275
21512276**** [[https://github.com/magnars/s.el][s.el: The long lost Emacs string manipulation library]]
21522277
21532278*** Tools :tools:
2279+ :PROPERTIES:
2280+ :TOC: 1
2281+ :END:
21542282
21552283**** ~format$~ macro :macros:interpolation:
21562284
@@ -2169,8 +2297,14 @@ Expands to:
21692297Since this happens at macro expansion time rather than at runtime, there is no performance penalty, in contrast to using ~s-lex-format~.
21702298
21712299** Testing :testing:
2300+ :PROPERTIES:
2301+ :TOC: 0
2302+ :END:
21722303
21732304*** Libraries :libraries:
2305+ :PROPERTIES:
2306+ :TOC: 0
2307+ :END:
21742308
21752309**** [[https://github.com/phillord/assess][assess: Test support functions]]
21762310
@@ -2197,6 +2331,9 @@ Some interactive functions rely on idle timers to do their work, so you might ne
21972331#+END_QUOTE
21982332
21992333*** Tools :tools:
2334+ :PROPERTIES:
2335+ :TOC: 0
2336+ :END:
22002337
22012338**** [[https://github.com/jorgenschaefer/emacs-buttercup][buttercup: Behavior-Driven Emacs Lisp Testing]]
22022339:PROPERTIES:
0 commit comments