summaryrefslogtreecommitdiffstats
path: root/2022/talks/eev.md
blob: ef922e9d422ea60e6046fbacd198391d6292a2b3 (plain) (blame)
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
[[!sidebar content=""]]
[[!meta title="Bidirectional links with eev"]]
[[!meta copyright="Copyright © 2022 Eduardo Ochs"]]
[[!inline pages="internal(2022/info/eev-nav)" raw="yes"]]

<!-- Initially generated with emacsconf-generate-talk-page and then left alone for manual editing -->
<!-- You can manually edit this file to update the abstract, add links, etc. --->


# Bidirectional links with eev
Eduardo Ochs

[[!inline pages="internal(2022/info/eev-before)" raw="yes"]]

Consider the two sexps below:

    (code-c-d "foobar" "/tmp/foo/bar/" :anchor)
    (code-c-d "fb"     "/tmp/foo/bar/" :anchor)

Each one of them defines several "short hyperlink" functions. After
running them the three sexps below are roughly equivalent:

    (find-file "/tmp/foo/bar/plic.txt")
    (find-foobarfile "plic.txt")
    (find-fbfile "plic.txt")

The "`code-c-d`"s above also define functions with even shorter names
&#x2013; `find-foobar` and `find-fb` - that point to "anchors" in files in
the directory `/tmp/foo/bar/`. The three sexps below are roughly
equivalent -

    (find-fline "/tmp/foo/bar/plic.txt" "«bletch»")
    (find-foobar "plic.txt" "bletch")
    (find-fb "plic.txt" "bletch")

Until feb/2022 the only way that I had to produce these hyperlinks to
anchors quickly required a LOT of muscle memory&#x2026; I had to type this,

    M-1 M-h M-w  M-h M-h  9*<down>  M-h M-2  M-h M-y  M-h M--  M-h M-w  M-k

where the number of "`<down>`"s depended on whether I preferred
`find-foobar` of `find-fb` - i.e., of on what is my preferred "code"
for the "directory" `/tmp/foo/bar/`; either "`foobar`" or "`fb`".

In this presentation I will show a much better way to generate short
hyperlinks to anchors and push these short hyperlinks to the kill
ring, and how I use that to create bidirectional hyperlinks between my
notes on a language $LANGUAGE and programs written in that language.

For more info see [this page](http://angg.twu.net/emacsconf2022-kla.html).


[[!inline pages="internal(2022/info/eev-after)" raw="yes"]]

[[!inline pages="internal(2022/info/eev-nav)" raw="yes"]]

[[!taglink CategoryEEV]]