<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:base="http://xahlee.info/emacs/emacs/">

 <title>Xah Emacs Blog</title>
 <subtitle>A hole to fall in.</subtitle>
 <link rel="self" href="http://xahlee.info/emacs/emacs/blog.xml"/>
 <link rel="alternate" href="http://xahlee.info/emacs/emacs/blog.html"/>
 <updated>2026-08-31T19:30:23-07:00</updated>
 <author>
   <name>Xah Lee</name>
   <uri>http://xahlee.info/</uri>
 </author>
 <id>http://xahlee.info/emacs/emacs/blog.html</id>
 <icon>http://xahlee.info/favicon.svg</icon>
 <rights>© 2026, Xah Lee</rights>

<entry>
<title>Emacs: Regular Expression Syntax</title>
<id>urn:uuid:b83044bd-8fb9-4e1d-8d87-eed0f7f60f5f</id>
<updated>2026-08-31T19:30:24-07:00</updated>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml"><section>

<div class="date_xl"><time>2026-08-31</time></div>


<p>added <code>[^🦋]</code></p>

<ul>
<li><a href="http://xahlee.info/emacs/emacs/emacs_regex_syntax.html">Emacs: Regular Expression Syntax</a></li>
</ul>

</section></div>
 </content>
<link rel="alternate" href="http://xahlee.info/emacs/emacs/blog.html"/>
</entry>

<entry>
<title>Elisp: Add HTML markup to syntax color computer language code (2007)</title>
<id>urn:uuid:80715a2d-54c8-4947-9540-89e8a3df9d1b</id>
<updated>2026-08-25T17:51:53-07:00</updated>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml"><section>

<div class="date_xl"><time>2026-08-25</time></div>


<p>old article.
repost.
(still good.)
by the way, i sometimes repost, only because i came across it, either searching something and run into it.
was changing the title.</p>

<ul>
<li><a href="http://xahlee.info/emacs/emacs/elisp_htmlize.html">Elisp: Add HTML markup to syntax color computer language code (2007)</a></li>
</ul>

</section></div>
 </content>
<link rel="alternate" href="http://xahlee.info/emacs/emacs/blog.html"/>
</entry>

<entry>
<title>redesign nav panel and re-org emacs and emacs lisp Tutorial</title>
<id>urn:uuid:1ddf84a3-2491-49f2-9f15-3e6bb7232f8a</id>
<updated>2026-08-25T13:19:28-07:00</updated>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml"><section>

<div class="date_xl"><time>2026-08-23</time></div>


<p>Major re-org of the nav panels.
Simplified.
Removed lots links to emacs and elisp chapters.
Each page in the chapter just have the side nav panel for that chapter.
</p>

<p>Also removed table of contents in all main chapters.
Rely on side panel for section.
Much simpler.
The lots links in table of contents makes it confusing.
Especially on phone screen.</p>

<ul>
<li><a href="http://xahlee.info/emacs/emacs/emacs.html">Practical Emacs Tutorial</a></li>
<li><a href="http://xahlee.info/emacs/emacs/emacs_init_index.html">Emacs Init Setup</a></li>
<li><a href="http://xahlee.info/emacs/emacs/emacs_keys_index.html">Emacs Keys</a></li>
</ul>

<ul>
<li><a href="http://xahlee.info/emacs/emacs/elisp.html">Elisp: Lisp Basics</a></li>
<li><a href="http://xahlee.info/emacs/emacs/practical_elisp.html">Practical Emacs Lisp</a></li>
<li><a href="http://xahlee.info/emacs/emacs/elisp_write_major_mode_index.html">Elisp: Create Major Mode</a></li>
</ul>

<p>created new index to hold all links, for now.</p>

<ul>
<li><a href="http://xahlee.info/emacs/emacs/emacs_all_index.html">Emacs. All. Index</a></li>
</ul>

</section></div>
 </content>
<link rel="alternate" href="http://xahlee.info/emacs/emacs/blog.html"/>
</entry>

<entry>
<title>emacs init: Variable Pitch Mode (Proportional Font)</title>
<id>urn:uuid:79955f5b-576f-4f4d-b55c-7b9b032a1923</id>
<updated>2026-08-18T13:31:50-07:00</updated>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml"><section>

<div class="date_xl"><time>2026-08-18</time></div>


<ul>
<li><a href="http://xahlee.info/emacs/emacs/emacs_init_variable_pitch.html">emacs init: Variable Pitch Mode (Proportional Font)</a></li>
</ul>

</section></div>
 </content>
<link rel="alternate" href="http://xahlee.info/emacs/emacs/blog.html"/>
</entry>

<entry>
<title>ai stole xah lee emacs lisp code down to the honeydew color. (2026)</title>
<id>urn:uuid:47623317-0d03-42e8-851e-51f2ce8d8936</id>
<updated>2026-08-17T10:01:22-07:00</updated>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml"><section>

<div class="date_xl"><time>2026-08-17</time></div>


<ul>
<li><a href="http://xahlee.info/comp/ai_xah_lee_code_honeydew.html">ai stole xah lee emacs lisp code down to the honeydew color. (2026)</a></li>
</ul>

</section></div>
 </content>
<link rel="alternate" href="http://xahlee.info/emacs/emacs/blog.html"/>
</entry>

<entry>
<title>Emacs: HTML. Add Paragraph Tags 📜</title>
<id>urn:uuid:82d0222e-d330-4003-badd-c10bbf32df7f</id>
<updated>2026-08-14T17:40:58-07:00</updated>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml"><section>

<div class="date_xl"><time>2026-08-13</time></div>


<p>updated</p>

<ul>
<li><a href="http://xahlee.info/emacs/emacs/emacs_html_wrap_tags.html">Emacs: HTML. Add Paragraph Tags 📜</a></li>
</ul>

</section></div>
 </content>
<link rel="alternate" href="http://xahlee.info/emacs/emacs/blog.html"/>
</entry>

<entry>
<title>emacs init: Set Background Color</title>
<id>urn:uuid:778ece7b-dde0-47d2-9b36-33653f54e6d6</id>
<updated>2026-08-10T22:15:45-07:00</updated>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml"><section>

<div class="date_xl"><time>2026-08-10</time></div>

<p>
minor update.
</p>

<ul>
<li><a href="http://xahlee.info/emacs/emacs/emacs_init_background_color.html">emacs init: Set Background Color</a></li>
</ul>

</section></div>
 </content>
<link rel="alternate" href="http://xahlee.info/emacs/emacs/blog.html"/>
</entry>

<entry>
<title>AI Art: Emacs vs AI (2026)</title>
<id>urn:uuid:8f70d37f-eea8-4369-be92-db9a435f064d</id>
<updated>2026-08-08T20:48:32-07:00</updated>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml"><section>

<div class="date_xl"><time>2026-08-08</time></div>

<h3>AI Art: Emacs vs AI (2026)</h3>

<ul class="flowxl">
<li><a href="http://xahlee.info/emacs/misc/xah_emacs_vs_ai.html">
<img src="http://xahlee.info/emacs/misc/i/xah_emacs_vs_ai_2026-08-06_ls-s250.webp" alt="thumbnail" width="280" height="224" />
Emacs vs AI (2026)</a></li>
</ul>

</section></div>
 </content>
<link rel="alternate" href="http://xahlee.info/emacs/emacs/blog.html"/>
</entry>

<entry>
<title>Emacs: CSS toggle px rem 📜</title>
<id>urn:uuid:d75acbb1-1ffb-440d-b8b3-be92591e0522</id>
<updated>2026-08-04T19:12:45-07:00</updated>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml"><section>

<div class="date_xl"><time>2026-08-04</time></div>

<ul>
<li><a href="http://xahlee.info/emacs/emacs/emacs_css_toggle_px_rem.html">Emacs: CSS toggle px rem 📜</a></li>
</ul>

</section></div>
 </content>
<link rel="alternate" href="http://xahlee.info/emacs/emacs/blog.html"/>
</entry>

<entry>
<title>xah-css-toggle-px-rem</title>
<id>urn:uuid:b1e73a3d-1c3f-4976-a522-6b06ff762fe9</id>
<updated>2026-08-03T23:22:09-07:00</updated>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml"><section>

<div class="date_xl"><time>2026-08-03</time></div>

<h2>xah-css-toggle-px-rem</h2>

<p>
emacs lisp power.
insta write a command to convert css pixel to rem or vice versa.
</p>

<figure>
<img src="http://xahlee.info/emacs/emacs/i/xah-css-toggle-px-rem_2026-08-03_33eee_ll.webp" alt="xah-css-toggle-px-rem 2026-08-03 33eee ll" width="1075" height="1062" />
<figcaption>
xah-css-toggle-px-rem 2026-08-03 33eee ll
</figcaption>
</figure>

<ul>
<li><a href="http://xahlee.info/js/css_media_query.html">CSS: @media query (responsive design)</a></li>
</ul>

</section></div>
 </content>
<link rel="alternate" href="http://xahlee.info/emacs/emacs/blog.html"/>
</entry>

<entry>
<title>Elisp: get image width height 📜</title>
<id>urn:uuid:5550e24b-5f69-4263-b160-a7153e0b01b0</id>
<updated>2026-08-03T10:17:16-07:00</updated>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml"><section>

<div class="date_xl"><time>2026-08-03</time></div>

<ul>
<li><a href="http://xahlee.info/emacs/emacs/elisp_get_image_width_height.html">Elisp: get image width height 📜</a></li>
</ul>

</section></div>
 </content>
<link rel="alternate" href="http://xahlee.info/emacs/emacs/blog.html"/>
</entry>

<entry>
<title>Emacs: Open Python Doc 📜</title>
<id>urn:uuid:13168d39-7fe9-486d-a205-25fbe9513362</id>
<updated>2026-08-02T15:07:11-07:00</updated>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml"><section>

<div class="date_xl"><time>2026-08-02</time></div>

minor update.

<ul>
<li><a href="http://xahlee.info/emacs/emacs/emacs_open_python_doc.html">Emacs: Open Python Doc 📜</a></li>
</ul>

</section></div>
 </content>
<link rel="alternate" href="http://xahlee.info/emacs/emacs/blog.html"/>
</entry>

<entry>
<title>Emacs: Format Python Code 📜</title>
<id>urn:uuid:81c2312f-e43a-4fd0-9129-11fd0d42ae2f</id>
<updated>2026-07-30T10:31:01-07:00</updated>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml"><section>

<div class="date_xl"><time>2026-07-30</time></div>

<ul>
<li><a href="http://xahlee.info/emacs/emacs/xah_format_python_code.html">Emacs: Format Python Code 📜</a></li>
</ul>

</section></div>
 </content>
<link rel="alternate" href="http://xahlee.info/emacs/emacs/blog.html"/>
</entry>

<entry>
<title>Emacs: Ugly Redisplay Internals Hack (Buttery Smooth Emacs) By Daniel Colascione (2016)</title>
<id>urn:uuid:c5abdad6-6ea1-4dad-a625-77356fe29418</id>
<updated>2026-07-27T09:27:35-07:00</updated>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml"><section>

<div class="date_xl"><time>2026-07-27</time></div>

<ul>
<li><a href="http://xahlee.info/emacs/misc/emacs_redisplay_internals_and_js_mode_war.html">Emacs: Ugly Redisplay Internals Hack (Buttery Smooth Emacs) By Daniel Colascione (2016)</a></li>
</ul>

</section></div>
 </content>
<link rel="alternate" href="http://xahlee.info/emacs/emacs/blog.html"/>
</entry>

<entry>
<title>neomacs. emacs in rust.</title>
<id>urn:uuid:d7043e00-865d-4ea3-ac64-7e975440881d</id>
<updated>2026-07-27T08:25:57-07:00</updated>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml"><section>

<div class="date_xl"><time>2026-07-27</time></div>

<h2>neomacs. emacs in rust.</h2>

<ul>
<li>Please, let this project fly. Neomacs.</li>
<li>There were rust effort of rewriting emacs before. I.e. Remacs. But that failed.</li>
<li>As well as a couple other trying to rewrite emacs in past 10 years.</li>
<li>But this one, seems going somewhere.</li>
</ul>

<figure>
<img src="http://xahlee.info/emacs/emacs/i/neomacs_2026-07-27_138a5_ll.webp" alt="neomacs 2026-07-27 138a5 ll" width="592" height="635" />
<figcaption>
neomacs 2026-07-27 138a5 ll
</figcaption>
</figure>

</section></div>
 </content>
<link rel="alternate" href="http://xahlee.info/emacs/emacs/blog.html"/>
</entry>

<entry>
<title>Emacs: Xah CSS Mode 📦</title>
<id>urn:uuid:d1b74462-8173-4020-ac1e-a2f5a110c133</id>
<updated>2026-07-13T11:22:26-07:00</updated>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml"><section>

<div class="date_xl"><time>2026-07-13</time></div>

<ul>
<li>mega emacs lisp css abbrev power.</li>
<li>interesting here, is the categorization of abbrevs.</li>
</ul>

<figure>
<img src="http://xahlee.info/emacs/emacs/i/emacs_css_abbrevs_2026-07-13_1b4c7_ll.webp" alt="emacs css abbrevs 2026-07-13 1b4c7 ll" width="1075" height="1062" />
<figcaption>
emacs css abbrevs 2026-07-13 1b4c7 ll
</figcaption>
</figure>

<ul>
<li><a href="http://xahlee.info/emacs/emacs/xah-css-mode.html">Emacs: Xah CSS Mode 📦</a></li>
</ul>

</section></div>
 </content>
<link rel="alternate" href="http://xahlee.info/emacs/emacs/blog.html"/>
</entry>

<entry>
<title>Emacs: Select Text Between Quotes 📜</title>
<id>urn:uuid:7d152124-e97b-4125-affd-677be4e331d8</id>
<updated>2026-07-09T15:30:53-07:00</updated>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml"><section>

<div class="date_xl"><time>2026-07-09</time></div>

<p>
update code.
</p>

<ul>
<li><a href="http://xahlee.info/emacs/emacs/emacs_select_quote_text.html">Emacs: Select Text Between Quotes 📜</a></li>

<li><a href="http://xahlee.info/emacs/emacs/emacs_navigating_keys_for_brackets.html">Emacs: Move Cursor to Bracket 📜</a></li>

<li><a href="http://xahlee.info/emacs/emacs/emacs_goto_matching_brackets.html">Emacs: Jump to Matching Bracket 📜</a></li>
</ul>

<hr />

<ul>
<li><a href="http://xahlee.info/emacs/emacs/elisp_find_matching_bracket_char.html">Elisp: Find Matching Bracket Character</a></li>
</ul>

</section></div>
 </content>
<link rel="alternate" href="http://xahlee.info/emacs/emacs/blog.html"/>
</entry>

<entry>
<title>Xah Fly Keys News</title>
<id>urn:uuid:ed224111-b464-4135-a468-49b90f0bc3da</id>
<updated>2026-07-09T13:23:34-07:00</updated>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml"><section>

<div class="date_xl"><time>2026-07-09</time></div>

<ul>
<li><a href="http://xahlee.info/emacs/misc/xah-fly-keys_news.html">Xah Fly Keys News</a></li>
</ul>

</section></div>
 </content>
<link rel="alternate" href="http://xahlee.info/emacs/emacs/blog.html"/>
</entry>

<entry>
<title>Unicode in Carbon Emacs 22 vs Emacs 23 (2009)</title>
<id>urn:uuid:f4dcda3f-fd33-4d2b-aa4c-d2de06b81182</id>
<updated>2026-07-05T13:13:21-07:00</updated>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml"><section>

<div class="date_xl"><time>2026-07-05</time></div>

<ul>
<li><a href="http://xahlee.info/UnixResource_dir/writ/mac_emacs_unicode.html">Unicode in Carbon Emacs 22 vs Emacs 23 (2009)</a></li>
</ul>

</section></div>
 </content>
<link rel="alternate" href="http://xahlee.info/emacs/emacs/blog.html"/>
</entry>

<entry>
<title>camelCase and Source Code Formatting in Emacs Lisp (2010)</title>
<id>urn:uuid:b4126a10-b4e8-447d-895d-0cf5ae503e69</id>
<updated>2026-07-05T13:11:21-07:00</updated>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml"><section>

<div class="date_xl"><time>2026-07-05</time></div>

<ul>
<li><a href="http://xahlee.info/UnixResource_dir/writ/camelCase_code_formatting.html">camelCase and Source Code Formatting in Emacs Lisp (2010)</a></li>
</ul>

</section></div>
 </content>
<link rel="alternate" href="http://xahlee.info/emacs/emacs/blog.html"/>
</entry>

<entry>
<title>Emacs: Glob Pattern (wildcards) vs Regular Expression</title>
<id>urn:uuid:37c3678e-6dea-4cc2-a45d-69d7b5602cec</id>
<updated>2026-07-05T13:05:20-07:00</updated>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml"><section>

<div class="date_xl"><time>2026-07-05</time></div>

<ul>
<li><a href="http://xahlee.info/emacs/emacs/emacs_wildcard_vs_regex.html">Emacs: Glob Pattern (wildcards) vs Regular Expression</a></li>
</ul>

</section></div>
 </content>
<link rel="alternate" href="http://xahlee.info/emacs/emacs/blog.html"/>
</entry>

<entry>
<title>Emacs Switching to Guile Scheme Lisp? (2010)</title>
<id>urn:uuid:c66be871-7c95-4cee-9cdb-9e36a1f9ba9a</id>
<updated>2026-07-05T12:47:53-07:00</updated>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml"><section>

<div class="date_xl"><time>2026-07-05</time></div>

<p>
history. old essays.
minor touch-up.
</p>

<ul>
<li>Emacs Switching to Guile Scheme Lisp? (2010)</li>
<li>for 30 years, every few years there's huge excitement.</li>
<li>never done.</li>
</ul>

<ul>
<li><a href="http://xahlee.info/UnixResource_dir/writ/emacs_switch_to_scheme.html">Emacs Switching to Guile Scheme Lisp? (2010)</a></li>
</ul>

<ul>
<li>sometimes u wonder, 30 years plus of coding industry.</li>
<li>the billions of discussions and problems and fixes.</li>
<li>what are they about?</li>
</ul>

<ul>
<li><a href="http://xahlee.info/comp/emacs_cygwin_gunzip_problem.html">Emacs in Cygwin bug, gunzip not found? (2011)</a></li>
</ul>

</section></div>
 </content>
<link rel="alternate" href="http://xahlee.info/emacs/emacs/blog.html"/>
</entry>

<entry>
<title>emacs lisp doc bug downcase-region</title>
<id>urn:uuid:1e686901-59d4-4bb0-920b-5c7ef3b677f9</id>
<updated>2026-06-29T14:56:21-07:00</updated>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml"><section>

<div class="date_xl"><time>2026-06-29</time></div>

<h2>emacs lisp doc bug downcase-region</h2>

<ul>
<li><a href="http://xahlee.info/talk_show/xah_talk_show_ep799.html">Xah Talk Show 2026-06-27 Ep799. Milk, Tits, Caryatids. Emacs lisp command to change title case.</a></li>
</ul>

</section></div>
 </content>
<link rel="alternate" href="http://xahlee.info/emacs/emacs/blog.html"/>
</entry>

<entry>
<title>Xah Talk Show 2026-06-26 Ep798. write JavaScript to create CSS OKLCH colors</title>
<id>urn:uuid:651d6ead-4b43-46c0-bfe2-ba344254e215</id>
<updated>2026-06-28T17:44:55-07:00</updated>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml"><section>

<div class="date_xl"><time>2026-06-28</time></div>

<ul>
<li>what about lisp? common lisp, racket scheme lisp, emacs lisp, clojure.</li>
<li><a href="https://youtu.be/gYTQFBPTA1Y?t=3782" data-accessed="2026-06-28" target="_blank" rel="noreferrer">https://youtu.be/gYTQFBPTA1Y?t=3782</a></li>
<li><a href="http://xahlee.info/talk_show/xah_talk_show_ep798.html">Xah Talk Show 2026-06-26 Ep798. write JavaScript to create CSS OKLCH colors</a></li>
</ul>

</section></div>
 </content>
<link rel="alternate" href="http://xahlee.info/emacs/emacs/blog.html"/>
</entry>

<entry>
<title>Xah Talk Show 2026-06-27 Ep799. Milk, Tits, Caryatids. Emacs lisp command to change title case.</title>
<id>urn:uuid:aed7b05b-0c14-4863-8440-e8ef46d40c19</id>
<updated>2026-06-28T13:13:34-07:00</updated>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml"><section>

<div class="date_xl"><time>2026-06-28</time></div>

<ul>
<li><a href="http://xahlee.info/talk_show/xah_talk_show_ep799.html">Xah Talk Show 2026-06-27 Ep799. Milk, Tits, Caryatids. Emacs lisp command to change title case.</a></li>
</ul>

</section></div>
 </content>
<link rel="alternate" href="http://xahlee.info/emacs/emacs/blog.html"/>
</entry>

<entry>
<title>emacs lisp, add width to image thumbnails (2026-06)</title>
<id>urn:uuid:70bfc9ca-33d9-4b8e-b438-01c0a55e9a2d</id>
<updated>2026-06-23T17:52:41-07:00</updated>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml"><section>

<div class="date_xl"><time>2026-06-23</time></div>

<ul>
<li><a href="http://xahlee.info/emacs/misc/elisp_add_width_thumbnail.html">emacs lisp, add width to image thumbnails (2026-06)</a></li>
</ul>

</section></div>
 </content>
<link rel="alternate" href="http://xahlee.info/emacs/emacs/blog.html"/>
</entry>

<entry>
<title>Xah Talk Show 2026-06-21 Ep796. emacs lisp. add width height to image thumbnails html. part 3</title>
<id>urn:uuid:2490f6a2-6e23-4036-a012-fad9aebc2517</id>
<updated>2026-06-22T21:30:34-07:00</updated>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml"><section>

<div class="date_xl"><time>2026-06-21</time></div>

<ul>
<li><a href="http://xahlee.info/talk_show/xah_talk_show_ep796.html">Xah Talk Show 2026-06-21 Ep796. emacs lisp. add width height to image thumbnails html. part 3</a></li>
</ul>

</section></div>
 </content>
<link rel="alternate" href="http://xahlee.info/emacs/emacs/blog.html"/>
</entry>

<entry>
<title>Elisp: get image width height 📜</title>
<id>urn:uuid:b4b68e42-f5b7-45e7-bc0e-3c0abf6f5899</id>
<updated>2026-06-20T17:48:12-07:00</updated>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml"><section>

<div class="date_xl"><time>2026-06-19</time></div>

<ul>
<li>new addition xah-get-image-size-python.</li>
<li><a href="http://xahlee.info/emacs/emacs/elisp_get_image_width_height.html">Elisp: get image width height 📜</a></li>
</ul>

<ul>
<li><a href="http://xahlee.info/emacs/misc/elisp_bug_get_image_width_height.html">Emacs bug, Elisp Get Image Width Height. 2024-11</a></li>
</ul>

</section></div>
 </content>
<link rel="alternate" href="http://xahlee.info/emacs/emacs/blog.html"/>
</entry>

<entry>
<title>Elisp: Arithmetic</title>
<id>urn:uuid:d31fd38a-ea63-48bb-98cb-f031eea2bbb1</id>
<updated>2026-06-20T15:10:03-07:00</updated>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml"><section>

<div class="date_xl"><time>2026-06-20</time></div>

<ul>
<li>minor update.</li>
<li>emacs lisp quirk. this was like python 2.0.</li>
<li>division of integers return integer quotient</li>
<li><a href="http://xahlee.info/emacs/emacs/elisp_arithmetic.html">Elisp: Arithmetic</a></li>
</ul>

</section></div>
 </content>
<link rel="alternate" href="http://xahlee.info/emacs/emacs/blog.html"/>
</entry>

<entry>
<title>Xah Talk Show 2026-06-19 Ep795. emacs lisp. add width height to image thumbnails html. part 2</title>
<id>urn:uuid:781bd285-0536-4d90-b296-7c036e88da6e</id>
<updated>2026-06-20T11:21:16-07:00</updated>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml"><section>

<div class="date_xl"><time>2026-06-20</time></div>

<ul>
<li><a href="http://xahlee.info/talk_show/xah_talk_show_ep795.html">Xah Talk Show 2026-06-19 Ep795. emacs lisp. add width height to image thumbnails html. part 2</a></li>
</ul>

</section></div>
 </content>
<link rel="alternate" href="http://xahlee.info/emacs/emacs/blog.html"/>
</entry>

<entry>
<title>Xah Talk Show 2026-06-12 Ep793. emacs, install Xah Fly Keys in WSL linux emacs</title>
<id>urn:uuid:eeb7dd67-d31e-4c88-9e40-824c0cd365f7</id>
<updated>2026-06-15T14:04:36-07:00</updated>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml"><section>

<div class="date_xl"><time>2026-06-12</time></div>

<ul>
<li><a href="http://xahlee.info/talk_show/xah_talk_show_ep793.html">Xah Talk Show 2026-06-12 Ep793. emacs, install Xah Fly Keys in WSL linux emacs</a></li>
</ul>

</section></div>
 </content>
<link rel="alternate" href="http://xahlee.info/emacs/emacs/blog.html"/>
</entry>

<entry>
<title>Emacs: Novel Reading Mode 📜</title>
<id>urn:uuid:5aa13e9f-3da6-4209-970f-05589548836a</id>
<updated>2026-06-15T14:01:10-07:00</updated>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml"><section>

<div class="date_xl"><time>2026-06-11</time></div>

<ul>
<li><a href="http://xahlee.info/emacs/emacs/emacs_novel_reading_mode.html">Emacs: Novel Reading Mode 📜</a></li>
<li>🆕 <a href="http://xahlee.info/emacs/emacs/emacs_toggle_margin.html">Emacs: toggle margin 📜</a></li>
</ul>

</section></div>
 </content>
<link rel="alternate" href="http://xahlee.info/emacs/emacs/blog.html"/>
</entry>

<entry>
<title>emacs init: Set default font</title>
<id>urn:uuid:99bb4289-e22f-4fe2-adad-26a8799797b3</id>
<updated>2026-06-12T22:49:50-07:00</updated>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml"><section>

<div class="date_xl"><time>2026-06-12</time></div>

<ul>
<li><a href="http://xahlee.info/emacs/emacs/emacs_list_and_set_font.html">emacs init: Set default font</a></li>
</ul>

<ul>
<li>added example of Boundary Anchors</li>
<li><a href="http://xahlee.info/emacs/emacs/emacs_regex_syntax.html">Emacs: Regular Expression Syntax</a></li>
</ul>

</section></div>
 </content>
<link rel="alternate" href="http://xahlee.info/emacs/emacs/blog.html"/>
</entry>

<entry>
<title>emacs tetris</title>
<id>urn:uuid:a1bdb8fd-95cf-4c90-93b0-fef6412b6c51</id>
<updated>2026-06-11T19:49:42-07:00</updated>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml"><section>

<div class="date_xl"><time>2026-06-11</time></div>

<ul>
<li><a href="http://xahlee.info/emacs/emacs/emacs_tetris.html">emacs tetris</a></li>
</ul>

</section></div>
 </content>
<link rel="alternate" href="http://xahlee.info/emacs/emacs/blog.html"/>
</entry>

<entry>
<title>Xah Talk Show 2026-06-10 Ep792. install emacs on wsl Windows Subsystem for Linux</title>
<id>urn:uuid:5a6d286c-b0ba-40a2-a179-28ee424a3e0b</id>
<updated>2026-06-11T10:58:09-07:00</updated>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml"><section>

<div class="date_xl"><time>2026-06-10</time></div>

<ul>
<li><a href="http://xahlee.info/talk_show/xah_talk_show_ep792.html">Xah Talk Show 2026-06-10 Ep792. install emacs on wsl Windows Subsystem for Linux</a></li>
</ul>

</section></div>
 </content>
<link rel="alternate" href="http://xahlee.info/emacs/emacs/blog.html"/>
</entry>

<entry>
<title>Elisp: Get Line Begin/End Position, or Move To</title>
<id>urn:uuid:9bf63013-1173-489f-bf8a-ecf2a5c2dde4</id>
<updated>2026-05-30T08:16:00-07:00</updated>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml"><section>

<div class="date_xl"><time>2026-05-24</time></div>

<ul>
<li><a href="http://xahlee.info/emacs/emacs/elisp_all_about_lines.html">Elisp: Get Line Begin/End Position, or Move To</a></li>
</ul>

</section></div>
 </content>
<link rel="alternate" href="http://xahlee.info/emacs/emacs/blog.html"/>
</entry>

<entry>
<title>Emacs Calendar</title>
<id>urn:uuid:c05931f7-3a47-41ed-bd50-67ef2cd94e7e</id>
<updated>2026-05-26T14:38:01-07:00</updated>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml"><section>

<div class="date_xl"><time>2026-05-26</time></div>

<ul>
<li>emacs. M-x calendar, press M for moon phase.</li>
<li><a href="http://xahlee.info/emacs/emacs/emacs_calendar.html">Emacs Calendar</a></li>
</ul>

</section></div>
 </content>
<link rel="alternate" href="http://xahlee.info/emacs/emacs/blog.html"/>
</entry>

<entry>
<title> emacs on windows vs linux emacs on windows wsl </title>
<id>urn:uuid:218e4ec9-3633-4ca5-9eb8-644a0920ddd9</id>
<updated>2026-05-24T18:52:35-07:00</updated>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml"><section>

<div class="date_xl"><time>2026-05-24</time></div>

<figure>
<img src="http://xahlee.info/emacs/emacs/i/emacs_msw_vs_wsl_2026-05-24_2d0e1_ll.webp" alt="emacs msw vs wsl 2026-05-24 2d0e1" width="938" height="1134" />
<figcaption>
emacs msw vs wsl 2026-05-24 2d0e1
</figcaption>
</figure>

</section></div>
 </content>
<link rel="alternate" href="http://xahlee.info/emacs/emacs/blog.html"/>
</entry>

<entry>
<title> continues massive emacs lisp coding, despite ai.</title>
<id>urn:uuid:a912d3ae-53cf-466b-ad6a-030d25ca7007</id>
<updated>2026-05-24T18:52:15-07:00</updated>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml"><section>

<div class="date_xl"><time>2026-05-24</time></div>

<figure>
<img src="http://xahlee.info/emacs/emacs/i/xah_find_output_protocol_2026-05-24_2cfc0_ll.webp" alt="xah find output protocol 2026-05-24 2cfc0" width="1075" height="1062" />
<figcaption>
xah find output protocol 2026-05-24 2cfc0
</figcaption>
</figure>

</section></div>
 </content>
<link rel="alternate" href="http://xahlee.info/emacs/emacs/blog.html"/>
</entry>

<entry>
<title>xah-find output protocol (2026)</title>
<id>urn:uuid:1c3f1910-154b-49d9-b850-00c03eb4efe6</id>
<updated>2026-05-24T17:52:09-07:00</updated>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml"><section>

<div class="date_xl"><time>2026-05-24</time></div>

<ul>
<li><a href="http://xahlee.info/emacs/misc/xah-find_output_protocol.html">xah-find output protocol (2026)</a></li>
</ul>

</section></div>
 </content>
<link rel="alternate" href="http://xahlee.info/emacs/emacs/blog.html"/>
</entry>

<entry>
<title>HTML syntax coloring, opening vs closing tags (2026)</title>
<id>urn:uuid:c01114f2-7639-47c0-89e6-8d4f25e6b297</id>
<updated>2026-05-23T21:16:28-07:00</updated>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml"><section>

<div class="date_xl"><time>2026-05-23</time></div>

<ul>
<li><a href="http://xahlee.info/emacs/misc/html_syntax_coloring_scheme.html">HTML syntax coloring, opening vs closing tags (2026)</a></li>
</ul>

</section></div>
 </content>
<link rel="alternate" href="http://xahlee.info/emacs/emacs/blog.html"/>
</entry>

<entry>
<title>Elisp: Docstring Markup</title>
<id>urn:uuid:81edebf4-197c-44a7-85c5-9a43d11b33e8</id>
<updated>2026-05-23T15:53:22-07:00</updated>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml"><section>

<div class="date_xl"><time>2026-05-23</time></div>

<p>
minor update, repost
</p>

<ul>
<li><a href="http://xahlee.info/emacs/emacs/inline_doc.html">Elisp: Docstring Markup</a></li>
</ul>

</section></div>
 </content>
<link rel="alternate" href="http://xahlee.info/emacs/emacs/blog.html"/>
</entry>

<entry>
<title>emacs init: Font for Emoji</title>
<id>urn:uuid:5d8f6085-396f-4422-b576-334df929495d</id>
<updated>2026-05-23T08:16:14-07:00</updated>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml"><section>

<div class="date_xl"><time>2026-05-23</time></div>

<ul>
<li><a href="http://xahlee.info/emacs/emacs/emacs_set_font_emoji.html">emacs init: Font for Emoji</a></li>
</ul>

</section></div>
 </content>
<link rel="alternate" href="http://xahlee.info/emacs/emacs/blog.html"/>
</entry>

<entry>
<title>Emacs: Insert Emoji</title>
<id>urn:uuid:2e5e9d61-c533-4f1c-9e86-1ec08e44ff6d</id>
<updated>2026-05-22T08:51:26-07:00</updated>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml"><section>

<div class="date_xl"><time>2026-05-21</time></div>

<p>
repost
</p>

<ul>
<li><a href="http://xahlee.info/emacs/emacs/emacs_emoji.html">Emacs: Insert Emoji</a></li>
</ul>

</section></div>
 </content>
<link rel="alternate" href="http://xahlee.info/emacs/emacs/blog.html"/>
</entry>

<entry>
<title>Emacs: Repeat Last Command</title>
<id>urn:uuid:14625abe-0f25-49e6-8482-aa36671a5f61</id>
<updated>2026-05-20T15:41:33-07:00</updated>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml"><section>

<div class="date_xl"><time>2026-05-20</time></div>

<p>
repost.
</p>

<ul>
<li><a href="http://xahlee.info/emacs/emacs/emacs_repeat_command.html">Emacs: Repeat Last Command</a></li>
<li><a href="http://xahlee.info/emacs/emacs/emacs_recentf.html">Emacs: Open Recently Opened File</a></li>
<li><a href="http://xahlee.info/emacs/emacs/emacs_list_variables.html">Emacs: Search Variable by Name</a></li>
</ul>

</section></div>
 </content>
<link rel="alternate" href="http://xahlee.info/emacs/emacs/blog.html"/>
</entry>

<entry>
<title>Emacs: What's the Best Setup for Python, Ruby, Java, JavaScript, etc? (2013)</title>
<id>urn:uuid:3aa4a1c9-d201-43a1-a301-06cfff399238</id>
<updated>2026-05-20T15:41:13-07:00</updated>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml"><section>

<div class="date_xl"><time>2026-05-20</time></div>

<p>
funny. history.
</p>

<ul>
<li><a href="http://xahlee.info/emacs/emacs/emacs_whats_best_setup_for_xyz.html">Emacs: What's the Best Setup for Python, Ruby, Java, JavaScript, etc? (2013)</a></li>
</ul>

</section></div>
 </content>
<link rel="alternate" href="http://xahlee.info/emacs/emacs/blog.html"/>
</entry>

<entry>
<title>Emacs Keys ⌨</title>
<id>urn:uuid:8cd3e305-92ca-40d8-87fd-bf1e6de49a91</id>
<updated>2026-05-20T15:40:52-07:00</updated>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml"><section>

<div class="date_xl"><time>2026-05-20</time></div>

<p>
minor updates
</p>

<ul>
<li><a href="http://xahlee.info/emacs/emacs/emacs_keys_index.html">Emacs Keys ⌨</a></li>
<li><a href="http://xahlee.info/emacs/emacs/keyboard_shortcuts.html">Emacs Keys: Define Key ⌨</a></li>
<li><a href="http://xahlee.info/emacs/emacs/emacs_kb_shortcuts.html">Emacs Keys: Layout Diagram</a></li>
<li><a href="http://xahlee.info/emacs/emacs/keyboard_shortcuts_examples.html">Emacs Keys: Syntax</a></li>
<li><a href="http://xahlee.info/emacs/emacs/emacs_keybinding_functions.html">Emacs Keys: new keybinding functions (emacs 29. 2023)</a></li>
<li>🆕 <a href="http://xahlee.info/emacs/emacs/emacs_28_keybinding_example.html">Emacs old keybinding syntax before emacs 29 (2023)</a></li>
</ul>

</section></div>
 </content>
<link rel="alternate" href="http://xahlee.info/emacs/emacs/blog.html"/>
</entry>

<entry>
<title>Emacs: Cycle Color Theme, Toggle 📜</title>
<id>urn:uuid:47f8f2eb-35c7-460a-879c-e8ba1080593c</id>
<updated>2026-05-20T09:14:08-07:00</updated>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml"><section>

<div class="date_xl"><time>2026-05-15</time></div>

<ul>
<li>on emacs dark theme.</li>
<li>decided i no like modus-vivendi.</li>
<li>i thought i like pure white on pure black, but it creates the twinkle effect.</li>
<li>now i use deeper-blue, and trying 'tango-dark 'tsdh-dark</li>
</ul>

<ul>
<li><a href="http://xahlee.info/emacs/emacs/elisp_xah-toggle-theme.html">Emacs: Cycle Color Theme, Toggle 📜</a></li>
<li><a href="http://xahlee.info/emacs/emacs/emacs_theme_gallery.html">Emacs: Color Theme Gallery</a></li>
</ul>

</section></div>
 </content>
<link rel="alternate" href="http://xahlee.info/emacs/emacs/blog.html"/>
</entry>

<entry>
<title>elisp: catch throw, symbol vs integer (2025)</title>
<id>urn:uuid:621a1242-9d82-4ecd-951b-440f4fb36fd1</id>
<updated>2026-05-13T17:25:02-07:00</updated>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml"><section>

<div class="date_xl"><time>2026-05-13</time></div>

<ul>
<li><a href="http://xahlee.info/emacs/misc/elisp_catch_throw_symbol.html">elisp: catch throw, symbol vs integer (2025)</a></li>
</ul>

</section></div>
 </content>
<link rel="alternate" href="http://xahlee.info/emacs/emacs/blog.html"/>
</entry>

<entry>
<title>despite ai threat, am still coding</title>
<id>urn:uuid:4202b7e0-e922-4e8a-bf86-edd1d446f62c</id>
<updated>2026-05-07T19:11:51-07:00</updated>
 <content type="xhtml">
 <div xmlns="http://www.w3.org/1999/xhtml"><section>

<div class="date_xl"><time>2026-05-07</time></div>

<ul>
<li>xah emacs init git status.</li>
<li>lol, because i stopped publishing my emacs init 6 years ago.</li>
</ul>

<figure>
<img src="http://xahlee.info/emacs/emacs/i/emacs_init_git_status_origin_master_2026-05-07_11c8d_ll.webp" alt="emacs init git status origin master 2026-05-07 11c8d" width="798" height="241" />
<figcaption>
emacs init git status origin master 2026-05-07 11c8d
</figcaption>
</figure>

<h3>despite ai threat, am still coding</h3>

<p>
mega massive advanced emacs lisp still coding.
despite ai threat.
</p>

<figure>
<img src="http://xahlee.info/emacs/emacs/i/elisp_coding_still_2026-05-07_11eb8_ll.webp" alt="elisp coding still 2026-05-07 11eb8" width="983" height="1325" />
<figcaption>
elisp coding still 2026-05-07 11eb8
</figcaption>
</figure>

</section></div>
 </content>
<link rel="alternate" href="http://xahlee.info/emacs/emacs/blog.html"/>
</entry>

</feed>
