[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: #]