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