[INCLUDE TH/speedbar.blogme]
[SETFAVICON dednat4/dednat4-icon.png]
[SETFAVICON IMAGES/forthsun.png]
[#
(defun c () (interactive) (find-blogme3-sh0-if "2021-ffll"))
(defun u () (interactive) (find-blogme-upload-links "2021-ffll"))
;; http://angg.twu.net/2021-ffll.html
;; file:///home/edrx/TH/L/2021-ffll.html
#]
[lua:
require "defs-2022" -- (find-blogme3 "defs-2022.lua")
-- require "sandwiches-all" -- (find-blogme3 "sandwiches-all.lua")
def [[ _ 2 shorthand,text R(short_:expand(shorthand), nilify(text) or shorthand) ]]
short_:add [[
eeit => (find-eepitch-intro "3. Test blocks")
find-eeit-links => (find-eepitch-intro "3.1. `find-eeit-links'")
eepitch-block => (find-eev-quick-intro "6. Controlling shell-like programs")
dofile => (find-lua51manual "#pdf-dofile")
dofile -> http://angg.twu.net/IMAGES/2021-square-cube-3.png
languages => (find-eev "eev-testblocks.el" "examples")
Dednat6 -> http://angg.twu.net/dednat6/tug-slides.pdf
Quiver -> https://varkor.github.io/blog/2020/11/25/announcing-quiver.html
nav -> 2020-list-packages-eev-nav.html
thispage -> http://angg.twu.net/emacsconf2021.html
slides -> http://angg.twu.net/LATEX/2021emacsconf.pdf
preprocess => (find-eepitch-intro "3.3. `eepitch-preprocess-line'")
emacsconf2020 -> emacsconf2020.html
find-find-links-links-new => (find-eev "eev-tlinks.el" "find-find-links-links-new")
backquote => (find-elisp-intro "10. Backquote")
ee-template0 => (find-eev "eev-template0.el")
find-elinks => (find-eev "eev-elinks.el" "find-elinks")
apply => (find-elnode "Calling Functions" "apply")
foo.el => (find-angg "2021-ffll/foo.el")
index => (find-angg ".emacs.videos" "2021ffll")
eval-defun => (find-enode "Lisp Eval")
]]
-- (find-2021ffllvideo)
def [[ PLEFT 1 body "
$body
" ]]
def [[ FIG 2 target,img "
" ]]
]
[SETHEADSTYLE [LUCIDA]]
[htmlize [J How I write 5-minute hacks in eev with `M-x
find-find-links-links-new' - DO try this at home!!!]
[P In my [_ emacsconf2020 presentation] at the EmacsConf2020 I showed
that many of the functions of eev started as 5-minute hacks and I [IT
mentioned] that I used `M-x [_ find-find-links-links-new]' to create
their first versions, but I didn't explain how people can learn how to
use find-find-links-links-new themselves, because that's hard...
people need to understand [_ apply], [_ backquote], [_ ee-template0],
and [_ find-elinks], and there isn't an easy way to check what small
changes do.]
[P In this video I show a series of exercises - [IT most] of them very
easy - that people can run to learn how to use
find-find-links-links-new. They are all in the file [_ foo.el].]
[P ...to be more precise: all the exercises in the first 43 minutes of
the video are like "try this sexp and understand what it does", and
they only need basic keys - and this include the steps that let us
create a function called find-mytaskC-links, that is our 5-minute
hack. Then things become harder: we need to see how the behavior of
find-mytaskC-links changes after small changes in its code, and for
that I define a bizarre hack that makes M-9j eval both the (defun
find-mytaskC-links ...) and the sexp that shows its behavior.]
[NARROW [P [STANDOUT ^ Update:] the "bizarre hack" in the second part of
the video - from 43:00 onwards - can be rewritten in a much simpler
way using [_ eval-defun], but when I recorded the video I didn't know
that eval-defun existed. =(]]
[P This video was inspired by a question by Bruno Macedo. I recorded
it in 2021dec25.]
[P Important: I don't know if this way of explaining things is clear
or not - I haven't tested it on humans yet, and I would love to have
feedback on it. So: if you get stuck get in touch, and let's try to
arrange a chat by IRC!]
[PLEFT
[FIG http://angg.twu.net/eev-videos/2021-ffll.mp4
IMAGES/2021-ffll-small.png]
]
[P Index of the video (elisp [_ index here]):
[BR]
[NARROW [videolines
;; (find-2021ffllvideo "0:00" "")
;; (find-2021ffllvideo "9:06" "find-latex-links")
;; (find-2021ffllvideo "18:17" "eev-mode and eev-mode-map")
;; (find-2021ffllvideo "18:42" "Mouse-2 in the mode line")
;; (find-2021ffllvideo "19:40" "For better lists, see...")
;; (find-2021ffllvideo "19:57" "find-ekeymapdescr")
;; (find-2021ffllvideo "20:20" "several obscure functions")
;; (find-2021ffllvideo "20:32" "find-eface-links")
;; (find-2021ffllvideo "21:41" "M-h M-k M-h M-s")
;; (find-2021ffllvideo "22:04" "(find-efunction 'find-eface-links)")
;; (find-2021ffllvideo "22:17" "it has a test here")
;; (find-2021ffllvideo "23:15" "these mysterious hyperlinks")
;; (find-2021ffllvideo "23:34" "find-ecolor-links")
;; (find-2021ffllvideo "24:14" "but let me go back to red")
;; (find-2021ffllvideo "24:22" "(insert (propertize ...))")
;; (find-2021ffllvideo "25:05" "So we were looking in details")
;; (find-2021ffllvideo "25:57" "a sample of chocolate1")
;; (find-2021ffllvideo "26:05" "lists all colors")
;; (find-2021ffllvideo "26:24" "as always you can look at the source code")
;; (find-2021ffllvideo "26:42" "find-epackage-links")
;; (find-2021ffllvideo "27:25" "find-epp")
;; (find-2021ffllvideo "28:03" "find-estruct")
;; (find-2021ffllvideo "28:18" "and this sequence of sexps")
;; (find-2021ffllvideo "28:26" "when someone mentions a package")
;; (find-2021ffllvideo "28:55" "find-epackage shows the description")
;; (find-2021ffllvideo "29:19" "find-epackage")
;; (find-2021ffllvideo "29:31" "and also the official website of the package")
;; (find-2021ffllvideo "29:47" "(ee-package-dir 'magit)")
;; (find-2021ffllvideo "30:06" "btw, just a parenthesis: ...")
;; (find-2021ffllvideo "30:42" "if people want to know what find-epp does")
;; (find-2021ffllvideo "30:50" "I can go here, to the source code")
;; (find-2021ffllvideo "31:19" "(ee-package-url 'magit)")
;; (find-2021ffllvideo "31:40" "this one inserts a line")
;; (find-2021ffllvideo "31:48" "and I can visit the URL with M-x brg")
;; (find-2021ffllvideo "31:55" "package-delete")
;; (find-2021ffllvideo "32:09" "a hack: the `t' in the 3rd argument")
;; (find-2021ffllvideo "32:39" "regenerate this buffer using the directory")
;; (find-2021ffllvideo "33:39" "all these lines are indented")
;; (find-2021ffllvideo "34:08" "how did I do that?")
;; (find-2021ffllvideo "34:14" "execute this sexp to show the source code")
;; (find-2021ffllvideo "43:10" "Tricks with eek")
;; (find-2021ffllvideo "56:40" "M-9 M-j")
]]]
[BE'
E-script: http://angg.twu.net/2021-ffll/foo.el.html
http://angg.twu.net/2021-ffll/foo.el
]
]
[#
# Local Variables:
# coding: raw-text-unix
# modes: (fundamental-mode blogme-mode)
# End:
#]