[INCLUDE TH/speedbar.blogme] [SETFAVICON dednat4/dednat4-icon.png] [SETFAVICON IMAGES/forthsun.png] [# (defun c () (interactive) (find-blogme3-sh0-if "eev-customize")) (defun u () (interactive) (find-blogme-upload-links "eev-customize")) ;; http://anggtwu.net/eev-customize.html ;; file:///home/edrx/TH/L/eev-customize.html ;; ;; «.index» (to "index") ;; «.ee-hyperlink-prefix» (to "ee-hyperlink-prefix") ;; «.find-elinks-elisp» (to "find-elinks-elisp") ;; «.wconfig» (to "wconfig") #] [lua: require "sandwiches-all" -- (find-blogme3 "sandwiches-all.lua") def [[ _ 2 shorthand,text R(short_:expand(shorthand), nilify(text) or shorthand) ]] def [[ __ 1 shorthand short_:expand(shorthand) ]] short_:add [[ emacs-news -> https://sachachua.com/blog/category/emacs-news/ ann-blog -> https://sachachua.com/blog/2022/04/2022-04-04-emacs-news/ ann-et -> https://lists.gnu.org/archive/html/emacs-tangents/2022-04/msg00000.html (find-emacs-tangents-links "2022" "04" "04" "msg00000" "txtZpPgop0qdQ") eev-wconfig -> http://anggtwu.net/eev-current/eev-wconfig.el.html org-for-non-users -> 2021-org-for-non-users.html M-x-customize => (find-enode "Easy Customization") find-here-links => (find-here-links-intro "2. \"Here\"") elisp-customization => (find-elnode "Customization") ee-hyperlink-prefix => (find-eev "eev-elinks.el" "ee-hyperlink-prefix") lisp-2 => (find-elisp-intro "6. Defining functions") byte-compiled => (find-elisp-intro "11. Byte-compiled functions") (find-1stclassvideo-links "2022findeevangg") (find-TH "eev-find-angg") find-elinks-elisp => (find-eev "eev-elinks.el" "find-elinks") find-elinks-elisp-vindex => (find-1stclassvideoindex "eevtempl") (find-1stclassvideo-links "eev2020") (find-1stclassvideo-links "eevtempl") 5-minute-hacks-page -> emacsconf2020.html 5-minute-hacks-index => (find-1stclassvideoindex "eev2020") 5-minute-hacks-b-page -> 2020-some-template-based.html 5-minute-hacks-b-index => (find-1stclassvideoindex "eevtempl") find-red-star-links-src => (find-eev "eev-tlinks.el" "find-red-star-links") find-red-star-links-thumb -> IMAGES/2022-find-red-star-links-small.png find-red-star-links-sshot -> IMAGES/2022-find-red-star-links.png find-angg-es-links-src => (find-eev "eev-tlinks.el" "find-angg-es-links") find-angg-es-links-video => (find-2022findeevanggvideo "11:30" "(find-angg-es-links)") find-angg-es-links-thumb -> IMAGES/2022-find-eev-angg-redef-small.png find-angg-es-links-sshot -> IMAGES/2022-find-eev-angg-redef.png find-angg-es-links-page -> eev-find-angg.html (find-TH "eev-find-angg") find-newbrowser-links-src => (find-eev "eev-tlinks.el" "find-newbrowser-links") find-newbrowser-links-sshot -> IMAGES/2022-find-newbrowser-links.png find-newbrowser-links-thumb -> IMAGES/2022-find-newbrowser-links-small.png find-newpdfviewer-links-thumb -> IMAGES/2022-find-newpdfviewer-links-small.png find-newpdfviewer-links-sshot -> IMAGES/2022-find-newpdfviewer-links.png find-newpdfviewer-links-src => (find-eev "eev-tlinks.el" "find-newpdfviewer-links") ]] def [[ PLEFT 1 body "

$body

" ]] def [[ FIG 2 target,img "" ]] ] [SETHEADSTYLE [LUCIDA]] [htmlize [J Eev and Customize] [P I never liked Emacs's [_ M-x-customize M-x customize]. I always found it very hard to understand, for exactly the same reasons that [_ org-for-non-users I find Org very hard to understand]. The support for Customize in eev is quite minimal - basically `[_ find-here-links M-h M-h]' knows how to handle Customize buffers, and it can generate links like this one,] [NARROW [P # (find-customizegroup 'faces)]] [P that point to a certain Customize buffer - but eev doesn't have functions to display the variables associated to a certain "[_ elisp-customization customization group]" yet.] [# ___ _ # |_ _|_ __ __| | _____ __ # | || '_ \ / _` |/ _ \ \/ / # | || | | | (_| | __/> < # |___|_| |_|\__,_|\___/_/\_\ # #] [NAME0 index «index» (to ".index") ] [lua: def [[ section 3 tag,n,title "$n. $title" ]] def [[ section 3 tag,n,title R("#$tag", "$n. $title") ]] ] [SMALL [P [BF Index:] [LIST3 [section ee-hyperlink-prefix 1. `ee-hyperlink-prefix'] [section find-elinks-elisp 2. `find-elinks-elisp'] [section wconfig 3. eev-wconfig.el] ] ] ] [br] [br ----------------------------------------] [NAME0 ee-hyperlink-prefix «ee-hyperlink-prefix» (to ".ee-hyperlink-prefix") ] [H3 1. `ee-hyperlink-prefix'] [P Eev contains several "experimental alternatives to customize". The oldest, and simplest, of these experiments, is from 2005: we can change the value of the variable `ee-hyperlink-prefix' by running `[_ ee-hyperlink-prefix M-x ee-hyperlink-prefix]'; note that this runs a command that has the [_ lisp-2 same name] as a variable. `M-x ee-hyperlink-prefix' creates a temporary buffer like the one in the screenshot below, in which the `setq' in the second line contains the current value of the variable, and the other setqs contain other common values.] [PLEFT [FIG IMAGES/2022ee-hyperlink-prefix.png IMAGES/2022ee-hyperlink-prefix-small.png] ] [br ----------------------------------------] [NAME0 find-elinks-elisp «find-elinks-elisp» (to ".find-elinks-elisp") ] [H3 2. `find-elinks-elisp'] [P In 2021 and 2022 I added to eev these four customization functions:] [NARROW [P 1. find-red-star-links ([_ find-red-star-links-sshot screenshot], [_ find-red-star-links-src defun]) [BR] 2. find-angg-es-links ([_ find-angg-es-links-sshot screenshot], [_ find-angg-es-links-src defun], [_ find-angg-es-links-page page], [_ find-angg-es-links-video video]) [BR] 3. find-newbrowser-links ([_ find-newbrowser-links-sshot screenshot], [_ find-newbrowser-links-src defun]) [BR] 4. find-newpdfviewer-links ([_ find-newpdfviewer-links-sshot screenshot], [_ find-newpdfviewer-links-src defun]) ]] [P They are "5-minute hacks", in the sense of [_ 5-minute-hacks-page my presentation] at the EmacsConf2020; the only extra trick is that they are written using `[_ find-elinks-elisp]' instead of `find-elinks'; `find-elinks-elisp' puts the temporary buffer in emacs-lisp mode. For more info on "5-minute hacks" see the [_ 5-minute-hacks-b-page other video] that I prepared for the EmacsConf2020, and the indexes for the [_ 5-minute-hacks-index main video] and for the [_ 5-minute-hacks-b-index other one]. Click on the thumbnails below to see full-sized screenshots:] [PLEFT [FIG [__ find-angg-es-links-sshot] [__ find-angg-es-links-thumb]] [FIG [__ find-red-star-links-sshot] [__ find-red-star-links-thumb]] [FIG [__ find-newbrowser-links-sshot] [__ find-newbrowser-links-thumb]] [FIG [__ find-newpdfviewer-links-sshot] [__ find-newpdfviewer-links-thumb]] ] [lua: short_:add [[ init-file => (find-enode "Init File") custom-file => (find-enode "Saving Customizations") IRC => (find-rcirc-intro) ]] ] [P The standard "customize" is intended to be used in this way: we navigate through the customization buffers pressing lots of magic buttons - that I never understood well because [_ org-for-non-users I'm a very bad user] - and the buttons that say "Save for Future Sessions" save some settings in our [_ init-file ~/.emacs] or in our [_ custom-file].] [P My eev-ish alternatives to "customize" are intended to be used in two different ways. If people are willing to chat with me - usually via [_ IRC] of Telegram - then I'll diagnose their problems, run one of the functions that I've described above - for example, `find-newbrowser-links' -, cherry-pick some lines from the temporary buffer, send to the person a small chunk of elisp code like this,] [BE' ;; Generated with: ;; (find-newbrowser-links "g" "iceweasel" "iceweasel-uxp") ;; (defun find-iceweasel (url &rest rest) (find-bgprocess `("iceweasel-uxp" ,url))) (code-brurl 'find-iceweasel :remote 'brg :local 'brgl :dired 'brgd) ;; ;; Test: (brg "http://www.lua.org/start.html") ] [P and say: put that in your ~/.emacs, and when you want to understand the details run the sexp after the "Generated with:"... and ta-da, problem solved in just a few minutes. The second way is for people who don't want to chat: they can run things like `M-x find-newbrowser-links' themselves, spend some hours or days or weeks following the links and running the tests in comments, and then they'll find the right solutions and modify their "~/.emacs"s themselves.] [P Note that many "configurations" in eev are done by redefining functions. This only works well because functions in eev are [_ byte-compiled not byte-compiled].] [br] [NAME0 wconfig «wconfig» (to ".wconfig") ] [H3 3. eev-wconfig.el] [P I finished the page above in 2022-04-04, and in the same day it was [_ ann-blog announced] in [_ emacs-news Emacs News]. [BR] Later in the same month I started to work on [_ eev-wconfig eev-wconfig.el]. ] ] [# # Local Variables: # coding: raw-text-unix # modes: (fundamental-mode blogme-mode) # End: #]