2025-03-31 Emacs news

Sacha Chua <[email protected]> Mon, 31 Mar 2025 12:31:55 -0400
Newsgroups gmane.emacs.announce
Message-ID <[email protected]>
--=-=-=
Content-Type: multipart/alternative; boundary="==-=-="

--==-=-=
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

    2025-03-31 Emacs news
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D

  - Emacs 30:
    - [TAONAW - Emacs and Org Mode: Emacs 30.1 so far] (<https://taonaw.com=
/2025/03/30/emacs-so-far.html>)
  - Help wanted:
    - [Show your post-command-hook contents to help Emacs core] (<https://w=
ww.reddit.com/r/emacs/comments/1jlyek0/show_your_postcommandhook_contents_t=
o_help_emacs/>)
  - Upcoming events ([iCal file] (<https://emacslife.com/calendar/emacs-cal=
endar.ics>), [Org] (<https://emacslife.com/calendar/>)):
    - Emacs Paris: S: Emacs workshop in Paris (online) <https://emacs-docto=
r.com/> Tue Apr 1 0830 America/Vancouver - 1030 America/Chicago - 1130 Amer=
ica/Toronto - 1530 Etc/GMT - 1730 Europe/Berlin - 2100 Asia/Kolkata - 2330 =
Asia/Singapore
    - EmacsATX: Emacs Social <https://www.meetup.com/emacsatx/events/306712=
497/> Wed Apr 2 1600 America/Vancouver - 1800 America/Chicago - 1900 Americ=
a/Toronto - 2300 Etc/GMT -- Thu Apr 3 0100 Europe/Berlin - 0430 Asia/Kolkat=
a - 0700 Asia/Singapore
    - M-x Research: TBA <https://m-x-research.github.io/> Fri Apr 4 0800 Am=
erica/Vancouver - 1000 America/Chicago - 1100 America/Toronto - 1500 Etc/GM=
T - 1700 Europe/Berlin - 2030 Asia/Kolkata - 2300 Asia/Singapore
    - Atelier Emacs Montpellier (in person) <https://lebib.org/date/atelier=
-emacs> Fri Apr 11 1800 Europe/Paris
  - Beginner:
    - [Waclena, K. (2024) Use GNU Emacs (HTML, PDF, or ePub)] (<https://www=
2.lib.uchicago.edu/keith/emacs/>) ([@[email protected]] (<https://tech=
hub.social/@barocio/114221165695138603>))
    - [Installing and testing out Emacs for the first time, as a Neovim use=
r With Joshua Blais (1 hour video)] (<https://www.reddit.com/r/emacs/commen=
ts/1jkqvz2/installing_and_testing_out_emacs_for_the_first/>)
  - Emacs configuration:
    - [Emacs Redux: Speed up Emacs Startup by Tweaking the GC Settings] (<h=
ttps://emacsredux.com/blog/2025/03/28/speed-up-emacs-startup-by-tweaking-th=
e-gc-settings/>) ([Irreal] (<https://irreal.org/blog/?p=3D12878>))
    - [Matt Maguire: Ergonomic Emacs] (<https://www.teachmaths.org/20250329=
-hyper-meh-keys/>)
    - [Rahul Juliato: Emacs Solo: A Surprise System Crafters Live Demo] (<h=
ttps://rahuljuliato.com/posts/emacs-solo-demo>) ([HN] (<https://news.ycombi=
nator.com/item?id=3D43498696>))
  - Emacs Lisp:
    - [Emacs Introspection and Debugging] (<https://www.danliden.com/posts/=
20250330-emacs-debugging.html>) ([@[email protected]] (<https://fosstodo=
n.org/@dliden/114252053721523681>))
    - [Get Emacs Packages from the Emacswiki with a Script] (<https://www.y=
outube.com/watch?v=3D3WbATXxzmh4>) (02:45)
    - [Ep636 emacs lisp, change bracket type, design of function arguments]=
 (<https://www.youtube.com/watch?v=3DLdXz8gXpH4s>) (01:16:25)
  - Appearance:
    - [Tip: pulsar-mode, pulsar-recenter-center] (<https://heads.social/@wa=
xbanks/114246221020005776>)
    - [Emacs: Increase text size and adjust window width proportionally. =
=E2=80=94 paste.sr.ht] (<https://paste.sr.ht/~jasalt/ed50915e734fa14206f789=
7679c0432db352b6ab>) ([@[email protected]] (<https://fosstodon.org/@jasa=
lt/114245027920634542>))
    - [James Cherti: Emacs: persist-text-scale.el =E2=80=93 Persist and Res=
tore the Text Scale for All Buffers] (<https://www.jamescherti.com/emacs-pe=
rsist-restore-text-scale/>) ([Github] (<https://github.com/jamescherti/pers=
ist-text-scale.el>), [Reddit] (<https://www.reddit.com/r/emacs/comments/1jm=
283y/emacs_package_persisttextscale_ensure_that/>))
    - [Marie K. Ekeberg: Emacs Quick Tip - Smoother scrolling] (<https://th=
emkat.net/2025/03/25/simple_smoother_emacs_scrolling.html>) ([Irreal] (<htt=
ps://irreal.org/blog/?p=3D12874>))
    - [Amit Patel: Emacs Tree-sitter custom highlighting, part 3] (<https:/=
/amitp.blogspot.com/2025/03/emacs-tree-sitter-custom-highlighting-3.html>)
  - Org Mode:
    - [The TAB Key in Org Mode, Reimagined] (<https://spepo.github.io/2025-=
03-29-the-tab-key-in-org-mode-reimagined.html>) ([Reddit] (<https://www.red=
dit.com/r/emacs/comments/1jmroa6/the_tab_key_in_org_mode_reimagined/>))
    - [Sacha Chua: Org Mode: Cutting the current list item (including neste=
d lists) with a speed command] (<https://sachachua.com/blog/2025/03/org-mod=
e-cutting-the-current-list-item-including-nested-lists-with-a-speed-command=
/>)
    - [trevdev/org-invoice-table: A clocktable for Emacs org-mode that help=
s you invoice clients - Codeberg.org] (<https://codeberg.org/trevdev/org-in=
voice-table>) ([@[email protected]] (<https://fosstodon.org/@trevdev/11=
4252499268746664>))
    - [TIL you can combine full-text search and tag-matching in the Org age=
nda] (<https://mastodon.social/@thetemp/114248521279879551>)
    - [Useful library for printing a simplified AST for an org file] (<http=
s://www.reddit.com/r/orgmode/comments/1jjo8j6/useful_library_for_printing_a=
_simplified_ast_for/>) abstract syntax tree
    - [How to contribute patches to Org] (<https://lists.gnu.org/r/emacs-or=
gmode/2022-04/orgYGCOr0hBKH.org>)
    - Import, export, and integration:
      - [tiny-rss: A simple and flexible RSS feeds generator from org files=
] (<https://www.reddit.com/r/emacs/comments/1jmjms3/tinyrss_a_simple_and_fl=
exible_rss_feeds_generator/>)
      - [Literate Programming for the 24=C2=BD Century] (<https://www.youtu=
be.com/watch?si=3DBsAcWOfX4Wy9VUtJ&v=3DOUuz9-CtCwY&feature=3Dyoutu.be>) (20=
24, this time on Howard Abrams' channel)
      - [Sacha Chua: Tweaking my 11ty blog to link to the Mastodon post def=
ined in an Org Mode property] (<https://sachachua.com/blog/2025/03/tweaking=
-my-11ty-blog-to-link-to-the-mastodon-post-defined-in-an-org-mode-property/=
>)
      - [Org-Dex: Capture + Archive Browser Sessions] (<https://www.reddit.=
com/r/orgmode/comments/1jm1rgx/orgdex_capture_archive_browser_sessions/>)
      - [Sharing: paw now supports notion style of comment but with org-mod=
e and other goodies] (<https://www.reddit.com/r/emacs/comments/1jnwiav/shar=
ing_paw_now_supports_notion_style_of_comment/>)
    - Org development:
      - [oc-basic.el: New option org-cite-basic-complete-key-crm-separator]=
 (<https://git.savannah.gnu.org/cgit/emacs/org-mode.git/commit/etc/ORG-NEWS=
?id=3D593785527b8c0feee8163b59b4443e5ed5b642c6>)
      - [org-preview-latex-process-alist: Add xelatex support for latex pre=
view] (<https://git.savannah.gnu.org/cgit/emacs/org-mode.git/commit/etc/ORG=
-NEWS?id=3Df30f6dc4bc50490c7e1b7e406994b9713880b413>)
      - [Capitalize JavaScript correctly] (<https://git.savannah.gnu.org/cg=
it/emacs/org-mode.git/commit/etc/ORG-NEWS?id=3Dadfee5eed88d950548963f470038=
7442a8111d0f>)
      - [Ensure that gnus-other-frame-object is alive before selecting] (<h=
ttps://git.savannah.gnu.org/cgit/emacs/org-mode.git/commit/etc/ORG-NEWS?id=
=3Dac9bd59994aca656961dd81a4499885b8a52dc80>)
  - Denote:
    - [Protesilaos Stavrou: Emacs: Denote =E2=80=98query links=E2=80=99 (li=
nks that trigger a search)] (<https://protesilaos.com/codelog/2025-03-28-em=
acs-denote-query-links/>)
    - [Protesilaos Stavrou: Emacs: =E2=80=98denote-journal=E2=80=99 integra=
tion with =E2=80=98M-x calendar=E2=80=99] (<https://protesilaos.com/codelog=
/2025-03-31-emacs-denote-journal-calendar/>)
    - [Jack Baty: Using the Obsidian Web Clipper with Denote] (<https://bat=
y.net/posts/2025/03/using-the-obsidian-web-clipper-with-denote/>)
  - Completion:
    - [Activate superword mode in the Emacs Minibuffer #coding #programming=
] (<https://www.youtube.com/watch?v=3DWqN27ltSwag>) (01:07) treat symbols (=
ex: `example_symbol' as words)
    - [[ANN] repeat-fu for repeating multi-command "edits" now available on=
 MELPA] (<https://codeberg.org/ideasman42/emacs-repeat-fu>) ([Reddit] (<htt=
ps://www.reddit.com/r/emacs/comments/1jnucr0/ann_repeatfu_for_repeating_mul=
ticommand_edits_now/>))
    - [Emacs company-mode =E3=82=BF=E3=82=A4=E3=83=94=E3=83=B3=E3=82=B0=E3=
=81=8C=E6=A5=BD=E3=81=AB=E3=81=AA=E3=82=8B=EF=BC=81=EF=BC=81 (=E7=84=A1=E9=
=9F=B3)] (<https://www.youtube.com/watch?v=3Df_II8tTs-gg>) (01:50)
  - Coding:
    - [magit-blame-color-by-age: color-code magit-blame headers by their ag=
e] (<https://www.reddit.com/r/emacs/comments/1jmwkl0/magitblamecolorbyage_c=
olorcode_magitblame_headers/>)
  - Math:
    - ["Simple Emacs Spreadsheet" a.k.a SES] (<https://famme.sk/blog/ses.ht=
ml>) ([Reddit] (<https://www.reddit.com/r/emacs/comments/1jndxfz/simple_ema=
cs_spreadsheet_aka_ses/>))
  - Web:
    - [Srijan Choudhary: 2025-03-24-002] (<https://srijan.ch/notes/2025-03-=
24-002>)
  - Mail, news, and chat:
    - [Jack Baty: Mu4e transient menu] (<https://baty.net/posts/2025/03/mu4=
e-transient-menu/>)
    - [Gnus for Noobs: Mail and News in Emacs - System Crafters Live!] (<ht=
tps://www.youtube.com/watch?v=3DI1H1GuPvhCc>) (01:40:19)
    - [Listful Andrew: Atomizer =E2=80=94 Make Atom feeds for your site (Em=
acs package)] (<https://flandrew.srht.site/listful/sw-emacs-atomizer.html>)
    - [mastodon.el 2.0.0: encrypted auth tokens, fixes, cycling images] (<h=
ttps://codeberg.org/martianh/mastodon.el#headline-10>) ([@[email protected]=
] (<https://todon.nl/@mousebot/114252030972186444>))
    - [Sacha Chua: mastodon.el: Collect handles in clipboard (Emacs kill ri=
ng)] (<https://sachachua.com/blog/2025/03/mastodon-el-collect-handles-in-ki=
ll-ring/>)
    - [Sacha Chua: mastodon.el: Copy toot content as Org Mode] (<https://sa=
chachua.com/blog/2025/03/mastodon-el-copy-toot-content-as-org-mode/>)
    - [Benjamin Slade: Trials and Visions of Internet Relay Chat] (<https:/=
/babbagefiles.xyz/no-one-can-be-told-what-irc-is-you-have-to-logon-for-your=
self/>)
  - Evil mode:
    - [=EC=99=9C C-d =ED=82=A4=EB=A5=BC =EB=88=8C=EB=9F=AC =EC=8A=A4=ED=81=
=AC=EB=A1=A4=ED=95=98=EB=A9=B4 =EC=A0=88=EB=B0=98 =EC=9D=B4=EC=83=81=EC=9D=
=B4 =EB=84=98=EC=9D=84=EA=B9=8C? - (emacsian ohyecloudy)] (<https://ohyeclo=
udy.com/emacsian/2025/03/30/evil-scroll-down-up/>) ([@[email protected]=
ocial] (<https://mastodon.social/@ohyecloudy/114250381057415445>)) - evil a=
nd scrolling
  - Multimedia:
    - [Emacs lisp function to update exif data in film scans | Baty.net] (<=
https://baty.net/posts/2025/03/emacs-lisp-function-to-update-exif-data-in-f=
ilm-scans/>) ([@[email protected]] (<https://social.lol/@jbaty/1142348958840=
27674>))
    - chordpro-mode.el v2.5.0 release <https://melpa.org/#/chordpro-mode> (=
[Reddit] (<https://www.reddit.com/r/emacs/comments/1jnrsyi/chordpromodeel_v=
250_release/>)
    - [fretboard.el =E2=80=93 guitar fretboard visualization tool for Emacs=
] (<https://github.com/skyefreeman/fretboard.el>) ([Reddit] (<https://www.r=
eddit.com/r/emacs/comments/1jk3jh0/fretboardel_guitar_fretboard_visualizati=
on_tool/>), [HN] (<https://news.ycombinator.com/item?id=3D43477725>))
  - AI:
    - [Ten Dollar Adventure Blog - Automating Interactive Fiction Logic Gen=
eration with LLMs in Emacs] (<https://blog.tendollaradventure.com/automatin=
g-story-logic-with-llms/>) [HN] (<https://news.ycombinator.com/item?id=3D43=
453373>)
    - [James Dyer: Ollama-Buddy 0.9.11: Experimental ChatGPT Integration, C=
ustomizable Streaming and Texinfo documentation] (<https://emacs.dyerdwelli=
ng.family/emacs/20250325093201-emacs--ollama-buddy-0-9-11-experimental-chat=
gpt-integration-customizable-ai-streaming-and-texinfo-documentation/>)
    - [Accidentally writing an Emacs Package] (<https://youtu.be/39OsH_OeWS=
A>) - fabric-gpt
    - [Ollama Buddy - Same prompt to 10 models (multishot) #emacs #ollama] =
(<https://www.youtube.com/watch?v=3DSPYgkAVe2rM>) (01:27)
  - Community:
    - [Ramin Honary: Emacs fulfills the UNIX Philosophy (overview)] (<https=
://tilde.town/~ramin_hal9001/articles/emacs-fulfills-the-unix-philosophy.ht=
ml>) ([@[email protected]] (<https://fosstodon.org/@amoroso/11424570663=
1649253>))
    - [Emacs for Everything] (<https://joshblais.com/posts/emacs-for-everyt=
hing>) ([@[email protected]] (<https://social.coop/@fnat/114236928734631393>=
))
  - Other:
    - [My new Emacs (and Ruby) based Static Site Generator] (<https://micha=
l.sapka.pl/2025/msite/>) ([@[email protected]] (<https://mastodon.bsd.c=
afe/@mms/114256630328330998>))
    - [James Cherti: Emacs: bufferfile.el =E2=80=93 Delete or rename buffer=
 file names with their associated buffers] (<https://www.jamescherti.com/bu=
fferfile-el-delete-or-rename-buffer-file-names-with-their-associated-buffer=
s/>) ([Github] (<https://github.com/jamescherti/bufferfile.el>), [Reddit] (=
<https://www.reddit.com/r/emacs/comments/1jngj4b/bufferfileel_delete_or_ren=
ame_buffer_file_names/>))
    - [James Cherti: Emacs: stripspace.el =E2=80=93 Automatically Remove Tr=
ailing Whitespace Before Saving a Buffer, with an Option to Preserve the Cu=
rsor Column] (<https://www.jamescherti.com/emacs-stripspace-delete-trailing=
-whitespace-clean/>)
    - [trope-mode] (<https://melpa.org/#/trope-mode>)
    - [Emacs Macros: All You Need to Know #coding #programming] (<https://w=
ww.youtube.com/watch?v=3DdFFewYmtfGM>) (15:37) - keyboard macros
    - [Clojure visual-tools 32- Workflow Demos 6: old-school tools, REPL, E=
macs, Org-mode, AI, MCP, & more] (<https://www.youtube.com/watch?v=3DoV9F9b=
mPr58>) (01:51:40)
  - Emacs development:
    - emacs-devel: A few explanations. I wonder where a good place to link =
to these would be; not quite news, but might be good to keep findable since=
 emacs-devel search can be challenging
      - [Why replace-region-contents is being deprecated] (<https://lists.g=
nu.org/archive/html/emacs-devel/2025-03/msg01614.html>)
      - [Why there's no built-in function to check if a variable has been c=
hanged] (<https://lists.gnu.org/archive/html/emacs-devel/2025-03/msg01555.h=
tml>) (helpful has helpful--original-value-differs-p)
      - [Why unintern has a mandatory argument] (<https://lists.gnu.org/arc=
hive/html/emacs-devel/2025-03/msg01559.html>)
    - [Don't obsolete the command replace-buffer-contents] (<https://git.sa=
vannah.gnu.org/cgit/emacs.git/commit/etc/NEWS?id=3D468778f390fa521773634094=
845749ab766fdcfd>)
    - [Merge remote-tracking branch 'origin/scratch/replace-region-contents=
'] (<https://git.savannah.gnu.org/cgit/emacs.git/commit/etc/NEWS?id=3Da5126=
f79a163192947acb18a32e199c588be7c4a>)
    - [(replace-region-contents): Improve and promote (bug#76313)] (<https:=
//git.savannah.gnu.org/cgit/emacs.git/commit/etc/NEWS?id=3D7c82cc8b975175ae=
bbad1c43ec1cd98b3232f482>)
    - [Enhance 'icomplete-vertical-mode' customization options.] (<https://=
git.savannah.gnu.org/cgit/emacs.git/commit/etc/NEWS?id=3Db98fe25c2ee2ac2d82=
b337c49d1aa1dfed2417eb>)
    - [New function 'hash-table-contains-p'] (<https://git.savannah.gnu.org=
/cgit/emacs.git/commit/etc/NEWS?id=3Ddd0dd87e3aaf3116c400fba858cbe35ced15f0=
4e>)
    - [New minor mode: `electric-block-comment-mode'] (<https://git.savanna=
h.gnu.org/cgit/emacs.git/commit/etc/NEWS?id=3D989f9f01f731c0dd0382bad50f1c4=
5894d69c3ea>)
    - [New Eldoc function `eldoc-show-help-at-pt'] (<https://git.savannah.g=
nu.org/cgit/emacs.git/commit/etc/NEWS?id=3Dab71699e5f2502aff6c65dd195611cfb=
be2f2255>)
    - [Add major mode for highlighting npmrc files (Bug#77138)] (<https://g=
it.savannah.gnu.org/cgit/emacs.git/commit/etc/NEWS?id=3D891f51fe118597ffe58=
d5d817fff693db3188639>)
    - [Help find-function find methods defined inside macros] (<https://git=
.savannah.gnu.org/cgit/emacs.git/commit/etc/NEWS?id=3D364c3dbc12e7b6d41ab44=
9dd495c96d08874310e>)
    - [Further amendments of child frame handling and documentation] (<http=
s://git.savannah.gnu.org/cgit/emacs.git/commit/etc/NEWS?id=3D001359ce7650c1=
ec110b4c38b6f67274d2d29ad1>)
    - [* lisp/treesit-x.el: New file.] (<https://git.savannah.gnu.org/cgit/=
emacs.git/commit/etc/NEWS?id=3D050325da303996cf5be7bd13d0a13e0bd12fa25e>)
  - New packages:
    - citar-org-node <https://melpa.org/#/citar-org-node>: Citar integratio=
n with org-node (MELPA)
    - denote-regexp <https://melpa.org/#/denote-regexp>: Compose regexps to=
 match Denote files (MELPA)
    - forge-llm <https://melpa.org/#/forge-llm>: LLM integration for genera=
ting PR descriptions in Forge (MELPA)
    - magit-ido <https://melpa.org/#/magit-ido>: Support using Ido in Magit=
 (MELPA)
    - org-invoice-table <https://melpa.org/#/org-invoice-table>: Invoicing =
table formatter for org-mode (MELPA)
    - repeat-fu <https://melpa.org/#/repeat-fu>: Minor mode to repeat typin=
g or commands (MELPA)
    - stripspace <https://melpa.org/#/stripspace>: Auto remove trailing whi=
tespace and restore column (MELPA)

  Links from [reddit.com/r/emacs] (<https://www.reddit.com/r/emacs>), [r/or=
gmode] (<https://www.reddit.com/r/orgmode>), [r/spacemacs] (<https://www.re=
ddit.com/r/spacemacs>), [r/planetemacs] (<https://www.reddit.com/r/planetem=
acs>), [Mastodon #emacs] (<https://mastodon.social/tags/emacs>), [Bluesky #=
emacs] (<https://bsky.app/hashtag/emacs>), [Hacker News] (<https://hn.algol=
ia.com/?query=3Demacs&sort=3DbyDate&prefix&page=3D0&dateRange=3Dall&type=3D=
story>), [lobste.rs] (<https://lobste.rs/search?q=3Demacs&what=3Dstories&or=
der=3Dnewest>), [programming.dev] (<https://programming.dev/c/emacs?dataTyp=
e=3DPost&page=3D1&sort=3DNew>), [lemmy.world] (<https://lemmy.world/c/emacs=
>), [lemmy.ml] (<https://lemmy.ml/c/emacs?dataType=3DPost&page=3D1&sort=3DN=
ew>), [planet.emacslife.com] (<https://planet.emacslife.com>), [YouTube] (<=
https://www.youtube.com/playlist?list=3DPL4th0AZixyREOtvxDpdxC9oMuX7Ar7Sdt>=
), [the Emacs NEWS file] (<http://git.savannah.gnu.org/cgit/emacs.git/log/e=
tc/NEWS>), [Emacs Calendar] (<https://emacslife.com/calendar/>), and [emacs=
-devel] (<https://lists.gnu.org/archive/html/emacs-devel/2025-03>). Thanks =
to Andr=C3=A9s Ram=C3=ADrez for emacs-devel links. Do you have an Emacs-rel=
ated link or announcement? Please e-mail me at [[email protected]] (<mail=
to:[email protected]>). Thank you!

=20=20=20=20
--==-=-=
Content-Type: text/html; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

    <div id=3D"outline-container-org6061435" class=3D"outline-3">
<h3 id=3D"org6061435">2025-03-31 Emacs news</h3>
<div class=3D"outline-text-3" id=3D"text-org6061435">
<ul class=3D"org-ul">
<li>Emacs 30:
<ul class=3D"org-ul">
<li><a href=3D"https://taonaw.com/2025/03/30/emacs-so-far.html">TAONAW - Em=
acs and Org Mode: Emacs 30.1 so far</a></li>
</ul></li>
<li>Help wanted:
<ul class=3D"org-ul">
<li><a href=3D"https://www.reddit.com/r/emacs/comments/1jlyek0/show_your_po=
stcommandhook_contents_to_help_emacs/">Show your post-command-hook contents=
 to help Emacs core</a></li>
</ul></li>
<li>Upcoming events (<a href=3D"https://emacslife.com/calendar/emacs-calend=
ar.ics">iCal file</a>, <a href=3D"https://emacslife.com/calendar/">Org</a>):
<ul class=3D"org-ul">
<li>Emacs Paris: S: Emacs workshop in Paris (online) <a href=3D"https://ema=
cs-doctor.com/">https://emacs-doctor.com/</a> Tue Apr 1 0830 America/Vancou=
ver - 1030 America/Chicago - 1130 America/Toronto - 1530 Etc/GMT - 1730 Eur=
ope/Berlin - 2100 Asia/Kolkata - 2330 Asia/Singapore</li>
<li>EmacsATX: Emacs Social <a href=3D"https://www.meetup.com/emacsatx/event=
s/306712497/">https://www.meetup.com/emacsatx/events/306712497/</a> Wed Apr=
 2 1600 America/Vancouver - 1800 America/Chicago - 1900 America/Toronto - 2=
300 Etc/GMT &#x2013; Thu Apr 3 0100 Europe/Berlin - 0430 Asia/Kolkata - 070=
0 Asia/Singapore</li>
<li>M-x Research: TBA <a href=3D"https://m-x-research.github.io/">https://m=
-x-research.github.io/</a> Fri Apr 4 0800 America/Vancouver - 1000 America/=
Chicago - 1100 America/Toronto - 1500 Etc/GMT - 1700 Europe/Berlin - 2030 A=
sia/Kolkata - 2300 Asia/Singapore</li>
<li>Atelier Emacs Montpellier (in person) <a href=3D"https://lebib.org/date=
/atelier-emacs">https://lebib.org/date/atelier-emacs</a> Fri Apr 11 1800 Eu=
rope/Paris</li>
</ul></li>
<li>Beginner:
<ul class=3D"org-ul">
<li><a href=3D"https://www2.lib.uchicago.edu/keith/emacs/">Waclena, K. (202=
4) Use GNU Emacs (HTML, PDF, or ePub)</a> (<a href=3D"https://techhub.socia=
l/@barocio/114221165695138603">@[email protected]</a>)</li>
<li><a href=3D"https://www.reddit.com/r/emacs/comments/1jkqvz2/installing_a=
nd_testing_out_emacs_for_the_first/">Installing and testing out Emacs for t=
he first time, as a Neovim user With Joshua Blais (1 hour video)</a></li>
</ul></li>
<li>Emacs configuration:
<ul class=3D"org-ul">
<li><a href=3D"https://emacsredux.com/blog/2025/03/28/speed-up-emacs-startu=
p-by-tweaking-the-gc-settings/">Emacs Redux: Speed up Emacs Startup by Twea=
king the GC Settings</a> (<a href=3D"https://irreal.org/blog/?p=3D12878">Ir=
real</a>)</li>
<li><a href=3D"https://www.teachmaths.org/20250329-hyper-meh-keys/">Matt Ma=
guire: Ergonomic Emacs</a></li>
<li><a href=3D"https://rahuljuliato.com/posts/emacs-solo-demo">Rahul Juliat=
o: Emacs Solo: A Surprise System Crafters Live Demo</a> (<a href=3D"https:/=
/news.ycombinator.com/item?id=3D43498696">HN</a>)</li>
</ul></li>
<li>Emacs Lisp:
<ul class=3D"org-ul">
<li><a href=3D"https://www.danliden.com/posts/20250330-emacs-debugging.html=
">Emacs Introspection and Debugging</a> (<a href=3D"https://fosstodon.org/@=
dliden/114252053721523681">@[email protected]</a>)</li>
<li><a href=3D"https://www.youtube.com/watch?v=3D3WbATXxzmh4">Get Emacs Pac=
kages from the Emacswiki with a Script</a> (02:45)</li>
<li><a href=3D"https://www.youtube.com/watch?v=3DLdXz8gXpH4s">Ep636 emacs l=
isp, change bracket type, design of function arguments</a> (01:16:25)</li>
</ul></li>
<li>Appearance:
<ul class=3D"org-ul">
<li><a href=3D"https://heads.social/@waxbanks/114246221020005776">Tip: puls=
ar-mode, pulsar-recenter-center</a></li>
<li><a href=3D"https://paste.sr.ht/~jasalt/ed50915e734fa14206f7897679c0432d=
b352b6ab">Emacs: Increase text size and adjust window width proportionally.=
 =E2=80=94 paste.sr.ht</a> (<a href=3D"https://fosstodon.org/@jasalt/114245=
027920634542">@[email protected]</a>)</li>
<li><a href=3D"https://www.jamescherti.com/emacs-persist-restore-text-scale=
/">James Cherti: Emacs: persist-text-scale.el =E2=80=93 Persist and Restore=
 the Text Scale for All Buffers</a> (<a href=3D"https://github.com/jamesche=
rti/persist-text-scale.el">Github</a>, <a href=3D"https://www.reddit.com/r/=
emacs/comments/1jm283y/emacs_package_persisttextscale_ensure_that/">Reddit<=
/a>)</li>
<li><a href=3D"https://themkat.net/2025/03/25/simple_smoother_emacs_scrolli=
ng.html">Marie K. Ekeberg: Emacs Quick Tip - Smoother scrolling</a> (<a hre=
f=3D"https://irreal.org/blog/?p=3D12874">Irreal</a>)</li>
<li><a href=3D"https://amitp.blogspot.com/2025/03/emacs-tree-sitter-custom-=
highlighting-3.html">Amit Patel: Emacs Tree-sitter custom highlighting, par=
t 3</a></li>
</ul></li>
<li>Org Mode:
<ul class=3D"org-ul">
<li><a href=3D"https://spepo.github.io/2025-03-29-the-tab-key-in-org-mode-r=
eimagined.html">The TAB Key in Org Mode, Reimagined</a> (<a href=3D"https:/=
/www.reddit.com/r/emacs/comments/1jmroa6/the_tab_key_in_org_mode_reimagined=
/">Reddit</a>)</li>
<li><a href=3D"https://sachachua.com/blog/2025/03/org-mode-cutting-the-curr=
ent-list-item-including-nested-lists-with-a-speed-command/">Sacha Chua: Org=
 Mode: Cutting the current list item (including nested lists) with a speed =
command</a></li>
<li><a href=3D"https://codeberg.org/trevdev/org-invoice-table">trevdev/org-=
invoice-table: A clocktable for Emacs org-mode that helps you invoice clien=
ts - Codeberg.org</a> (<a href=3D"https://fosstodon.org/@trevdev/1142524992=
68746664">@[email protected]</a>)</li>
<li><a href=3D"https://mastodon.social/@thetemp/114248521279879551">TIL you=
 can combine full-text search and tag-matching in the Org agenda</a></li>
<li><a href=3D"https://www.reddit.com/r/orgmode/comments/1jjo8j6/useful_lib=
rary_for_printing_a_simplified_ast_for/">Useful library for printing a simp=
lified AST for an org file</a> abstract syntax tree</li>
<li><a href=3D"https://lists.gnu.org/r/emacs-orgmode/2022-04/orgYGCOr0hBKH.=
org">How to contribute patches to Org</a></li>
<li>Import, export, and integration:
<ul class=3D"org-ul">
<li><a href=3D"https://www.reddit.com/r/emacs/comments/1jmjms3/tinyrss_a_si=
mple_and_flexible_rss_feeds_generator/">tiny-rss: A simple and flexible RSS=
 feeds generator from org files</a></li>
<li><a href=3D"https://www.youtube.com/watch?si=3DBsAcWOfX4Wy9VUtJ&amp;v=3D=
OUuz9-CtCwY&amp;feature=3Dyoutu.be">Literate Programming for the 24=C2=BD C=
entury</a> (2024, this time on Howard Abrams' channel)</li>
<li><a href=3D"https://sachachua.com/blog/2025/03/tweaking-my-11ty-blog-to-=
link-to-the-mastodon-post-defined-in-an-org-mode-property/">Sacha Chua: Twe=
aking my 11ty blog to link to the Mastodon post defined in an Org Mode prop=
erty</a></li>
<li><a href=3D"https://www.reddit.com/r/orgmode/comments/1jm1rgx/orgdex_cap=
ture_archive_browser_sessions/">Org-Dex: Capture + Archive Browser Sessions=
</a></li>
<li><a href=3D"https://www.reddit.com/r/emacs/comments/1jnwiav/sharing_paw_=
now_supports_notion_style_of_comment/">Sharing: paw now supports notion sty=
le of comment but with org-mode and other goodies</a></li>
</ul></li>
<li>Org development:
<ul class=3D"org-ul">
<li><a href=3D"https://git.savannah.gnu.org/cgit/emacs/org-mode.git/commit/=
etc/ORG-NEWS?id=3D593785527b8c0feee8163b59b4443e5ed5b642c6">oc-basic.el: Ne=
w option org-cite-basic-complete-key-crm-separator</a></li>
<li><a href=3D"https://git.savannah.gnu.org/cgit/emacs/org-mode.git/commit/=
etc/ORG-NEWS?id=3Df30f6dc4bc50490c7e1b7e406994b9713880b413">org-preview-lat=
ex-process-alist: Add xelatex support for latex preview</a></li>
<li><a href=3D"https://git.savannah.gnu.org/cgit/emacs/org-mode.git/commit/=
etc/ORG-NEWS?id=3Dadfee5eed88d950548963f4700387442a8111d0f">Capitalize Java=
Script correctly</a></li>
<li><a href=3D"https://git.savannah.gnu.org/cgit/emacs/org-mode.git/commit/=
etc/ORG-NEWS?id=3Dac9bd59994aca656961dd81a4499885b8a52dc80">Ensure that gnu=
s-other-frame-object is alive before selecting</a></li>
</ul></li>
</ul></li>
<li>Denote:
<ul class=3D"org-ul">
<li><a href=3D"https://protesilaos.com/codelog/2025-03-28-emacs-denote-quer=
y-links/">Protesilaos Stavrou: Emacs: Denote =E2=80=98query links=E2=80=99 =
(links that trigger a search)</a></li>
<li><a href=3D"https://protesilaos.com/codelog/2025-03-31-emacs-denote-jour=
nal-calendar/">Protesilaos Stavrou: Emacs: =E2=80=98denote-journal=E2=80=99=
 integration with =E2=80=98M-x calendar=E2=80=99</a></li>
<li><a href=3D"https://baty.net/posts/2025/03/using-the-obsidian-web-clippe=
r-with-denote/">Jack Baty: Using the Obsidian Web Clipper with Denote</a></=
li>
</ul></li>
<li>Completion:
<ul class=3D"org-ul">
<li><a href=3D"https://www.youtube.com/watch?v=3DWqN27ltSwag">Activate supe=
rword mode in the Emacs Minibuffer #coding #programming</a> (01:07) treat s=
ymbols (ex: <code>example_symbol</code> as words)</li>
<li><a href=3D"https://codeberg.org/ideasman42/emacs-repeat-fu">[ANN] repea=
t-fu for repeating multi-command "edits" now available on MELPA</a> (<a hre=
f=3D"https://www.reddit.com/r/emacs/comments/1jnucr0/ann_repeatfu_for_repea=
ting_multicommand_edits_now/">Reddit</a>)</li>
<li><a href=3D"https://www.youtube.com/watch?v=3Df_II8tTs-gg">Emacs company=
-mode =E3=82=BF=E3=82=A4=E3=83=94=E3=83=B3=E3=82=B0=E3=81=8C=E6=A5=BD=E3=81=
=AB=E3=81=AA=E3=82=8B=EF=BC=81=EF=BC=81 (=E7=84=A1=E9=9F=B3)</a> (01:50)</l=
i>
</ul></li>
<li>Coding:
<ul class=3D"org-ul">
<li><a href=3D"https://www.reddit.com/r/emacs/comments/1jmwkl0/magitblameco=
lorbyage_colorcode_magitblame_headers/">magit-blame-color-by-age: color-cod=
e magit-blame headers by their age</a></li>
</ul></li>
<li>Math:
<ul class=3D"org-ul">
<li><a href=3D"https://famme.sk/blog/ses.html">"Simple Emacs Spreadsheet" a=
.k.a SES</a> (<a href=3D"https://www.reddit.com/r/emacs/comments/1jndxfz/si=
mple_emacs_spreadsheet_aka_ses/">Reddit</a>)</li>
</ul></li>
<li>Web:
<ul class=3D"org-ul">
<li><a href=3D"https://srijan.ch/notes/2025-03-24-002">Srijan Choudhary: 20=
25-03-24-002</a></li>
</ul></li>
<li>Mail, news, and chat:
<ul class=3D"org-ul">
<li><a href=3D"https://baty.net/posts/2025/03/mu4e-transient-menu/">Jack Ba=
ty: Mu4e transient menu</a></li>
<li><a href=3D"https://www.youtube.com/watch?v=3DI1H1GuPvhCc">Gnus for Noob=
s: Mail and News in Emacs - System Crafters Live!</a> (01:40:19)</li>
<li><a href=3D"https://flandrew.srht.site/listful/sw-emacs-atomizer.html">L=
istful Andrew: Atomizer =E2=80=94 Make Atom feeds for your site (Emacs pack=
age)</a></li>
<li><a href=3D"https://codeberg.org/martianh/mastodon.el#headline-10">masto=
don.el 2.0.0: encrypted auth tokens, fixes, cycling images</a> (<a href=3D"=
https://todon.nl/@mousebot/114252030972186444">@[email protected]</a>)</li>
<li><a href=3D"https://sachachua.com/blog/2025/03/mastodon-el-collect-handl=
es-in-kill-ring/">Sacha Chua: mastodon.el: Collect handles in clipboard (Em=
acs kill ring)</a></li>
<li><a href=3D"https://sachachua.com/blog/2025/03/mastodon-el-copy-toot-con=
tent-as-org-mode/">Sacha Chua: mastodon.el: Copy toot content as Org Mode</=
a></li>
<li><a href=3D"https://babbagefiles.xyz/no-one-can-be-told-what-irc-is-you-=
have-to-logon-for-yourself/">Benjamin Slade: Trials and Visions of Internet=
 Relay Chat</a></li>
</ul></li>
<li>Evil mode:
<ul class=3D"org-ul">
<li><a href=3D"https://ohyecloudy.com/emacsian/2025/03/30/evil-scroll-down-=
up/">=EC=99=9C C-d =ED=82=A4=EB=A5=BC =EB=88=8C=EB=9F=AC =EC=8A=A4=ED=81=AC=
=EB=A1=A4=ED=95=98=EB=A9=B4 =EC=A0=88=EB=B0=98 =EC=9D=B4=EC=83=81=EC=9D=B4 =
=EB=84=98=EC=9D=84=EA=B9=8C? - (emacsian ohyecloudy)</a> (<a href=3D"https:=
//mastodon.social/@ohyecloudy/114250381057415445">@[email protected]=
al</a>) - evil and scrolling</li>
</ul></li>
<li>Multimedia:
<ul class=3D"org-ul">
<li><a href=3D"https://baty.net/posts/2025/03/emacs-lisp-function-to-update=
-exif-data-in-film-scans/">Emacs lisp function to update exif data in film =
scans | Baty.net</a> (<a href=3D"https://social.lol/@jbaty/1142348958840276=
74">@[email protected]</a>)</li>
<li><a target=3D"_blank" href=3D"https://melpa.org/#/chordpro-mode">chordpr=
o-mode.el v2.5.0 release</a> (<a href=3D"https://www.reddit.com/r/emacs/com=
ments/1jnrsyi/chordpromodeel_v250_release/">Reddit</a></li>
<li><a href=3D"https://github.com/skyefreeman/fretboard.el">fretboard.el =
=E2=80=93 guitar fretboard visualization tool for Emacs</a> (<a href=3D"htt=
ps://www.reddit.com/r/emacs/comments/1jk3jh0/fretboardel_guitar_fretboard_v=
isualization_tool/">Reddit</a>, <a href=3D"https://news.ycombinator.com/ite=
m?id=3D43477725">HN</a>)</li>
</ul></li>
<li>AI:
<ul class=3D"org-ul">
<li><a href=3D"https://blog.tendollaradventure.com/automating-story-logic-w=
ith-llms/">Ten Dollar Adventure Blog - Automating Interactive Fiction Logic=
 Generation with LLMs in Emacs</a> <a href=3D"https://news.ycombinator.com/=
item?id=3D43453373">HN</a></li>
<li><a href=3D"https://emacs.dyerdwelling.family/emacs/20250325093201-emacs=
--ollama-buddy-0-9-11-experimental-chatgpt-integration-customizable-ai-stre=
aming-and-texinfo-documentation/">James Dyer: Ollama-Buddy 0.9.11: Experime=
ntal ChatGPT Integration, Customizable Streaming and Texinfo documentation<=
/a></li>
<li><a href=3D"https://youtu.be/39OsH_OeWSA">Accidentally writing an Emacs =
Package</a> - fabric-gpt</li>
<li><a href=3D"https://www.youtube.com/watch?v=3DSPYgkAVe2rM">Ollama Buddy =
- Same prompt to 10 models (multishot) #emacs #ollama</a> (01:27)</li>
</ul></li>
<li>Community:
<ul class=3D"org-ul">
<li><a href=3D"https://tilde.town/~ramin_hal9001/articles/emacs-fulfills-th=
e-unix-philosophy.html">Ramin Honary: Emacs fulfills the UNIX Philosophy (o=
verview)</a> (<a href=3D"https://fosstodon.org/@amoroso/114245706631649253"=
>@[email protected]</a>)</li>
<li><a href=3D"https://joshblais.com/posts/emacs-for-everything">Emacs for =
Everything</a> (<a href=3D"https://social.coop/@fnat/114236928734631393">@f=
[email protected]</a>)</li>
</ul></li>
<li>Other:
<ul class=3D"org-ul">
<li><a href=3D"https://michal.sapka.pl/2025/msite/">My new Emacs (and Ruby)=
 based Static Site Generator</a> (<a href=3D"https://mastodon.bsd.cafe/@mms=
/114256630328330998">@[email protected]</a>)</li>
<li><a href=3D"https://www.jamescherti.com/bufferfile-el-delete-or-rename-b=
uffer-file-names-with-their-associated-buffers/">James Cherti: Emacs: buffe=
rfile.el =E2=80=93 Delete or rename buffer file names with their associated=
 buffers</a> (<a href=3D"https://github.com/jamescherti/bufferfile.el">Gith=
ub</a>, <a href=3D"https://www.reddit.com/r/emacs/comments/1jngj4b/bufferfi=
leel_delete_or_rename_buffer_file_names/">Reddit</a>)</li>
<li><a href=3D"https://www.jamescherti.com/emacs-stripspace-delete-trailing=
-whitespace-clean/">James Cherti: Emacs: stripspace.el =E2=80=93 Automatica=
lly Remove Trailing Whitespace Before Saving a Buffer, with an Option to Pr=
eserve the Cursor Column</a></li>
<li><a href=3D"https://melpa.org/#/trope-mode">trope-mode</a></li>
<li><a href=3D"https://www.youtube.com/watch?v=3DdFFewYmtfGM">Emacs Macros:=
 All You Need to Know #coding #programming</a> (15:37) - keyboard macros</l=
i>
<li><a href=3D"https://www.youtube.com/watch?v=3DoV9F9bmPr58">Clojure visua=
l-tools 32- Workflow Demos 6: old-school tools, REPL, Emacs, Org-mode, AI, =
MCP, &amp; more</a> (01:51:40)</li>
</ul></li>
<li>Emacs development:
<ul class=3D"org-ul">
<li>emacs-devel: A few explanations. I wonder where a good place to link to=
 these would be; not quite news, but might be good to keep findable since e=
macs-devel search can be challenging
<ul class=3D"org-ul">
<li><a href=3D"https://lists.gnu.org/archive/html/emacs-devel/2025-03/msg01=
614.html">Why replace-region-contents is being deprecated</a></li>
<li><a href=3D"https://lists.gnu.org/archive/html/emacs-devel/2025-03/msg01=
555.html">Why there's no built-in function to check if a variable has been =
changed</a> (helpful has helpful&#x2013;original-value-differs-p)</li>
<li><a href=3D"https://lists.gnu.org/archive/html/emacs-devel/2025-03/msg01=
559.html">Why unintern has a mandatory argument</a></li>
</ul></li>
<li><a href=3D"https://git.savannah.gnu.org/cgit/emacs.git/commit/etc/NEWS?=
id=3D468778f390fa521773634094845749ab766fdcfd">Don't obsolete the command r=
eplace-buffer-contents</a></li>
<li><a href=3D"https://git.savannah.gnu.org/cgit/emacs.git/commit/etc/NEWS?=
id=3Da5126f79a163192947acb18a32e199c588be7c4a">Merge remote-tracking branch=
 'origin/scratch/replace-region-contents'</a></li>
<li><a href=3D"https://git.savannah.gnu.org/cgit/emacs.git/commit/etc/NEWS?=
id=3D7c82cc8b975175aebbad1c43ec1cd98b3232f482">(replace-region-contents): I=
mprove and promote (bug#76313)</a></li>
<li><a href=3D"https://git.savannah.gnu.org/cgit/emacs.git/commit/etc/NEWS?=
id=3Db98fe25c2ee2ac2d82b337c49d1aa1dfed2417eb">Enhance 'icomplete-vertical-=
mode' customization options.</a></li>
<li><a href=3D"https://git.savannah.gnu.org/cgit/emacs.git/commit/etc/NEWS?=
id=3Ddd0dd87e3aaf3116c400fba858cbe35ced15f04e">New function 'hash-table-con=
tains-p'</a></li>
<li><a href=3D"https://git.savannah.gnu.org/cgit/emacs.git/commit/etc/NEWS?=
id=3D989f9f01f731c0dd0382bad50f1c45894d69c3ea">New minor mode: `electric-bl=
ock-comment-mode'</a></li>
<li><a href=3D"https://git.savannah.gnu.org/cgit/emacs.git/commit/etc/NEWS?=
id=3Dab71699e5f2502aff6c65dd195611cfbbe2f2255">New Eldoc function `eldoc-sh=
ow-help-at-pt'</a></li>
<li><a href=3D"https://git.savannah.gnu.org/cgit/emacs.git/commit/etc/NEWS?=
id=3D891f51fe118597ffe58d5d817fff693db3188639">Add major mode for highlight=
ing npmrc files (Bug#77138)</a></li>
<li><a href=3D"https://git.savannah.gnu.org/cgit/emacs.git/commit/etc/NEWS?=
id=3D364c3dbc12e7b6d41ab449dd495c96d08874310e">Help find-function find meth=
ods defined inside macros</a></li>
<li><a href=3D"https://git.savannah.gnu.org/cgit/emacs.git/commit/etc/NEWS?=
id=3D001359ce7650c1ec110b4c38b6f67274d2d29ad1">Further amendments of child =
frame handling and documentation</a></li>
<li><a href=3D"https://git.savannah.gnu.org/cgit/emacs.git/commit/etc/NEWS?=
id=3D050325da303996cf5be7bd13d0a13e0bd12fa25e">* lisp/treesit-x.el: New fil=
e.</a></li>
</ul></li>
<li>New packages:
<ul class=3D"org-ul">
<li><a target=3D"_blank" href=3D"https://melpa.org/#/citar-org-node">citar-=
org-node</a>: Citar integration with org-node (MELPA)</li>
<li><a target=3D"_blank" href=3D"https://melpa.org/#/denote-regexp">denote-=
regexp</a>: Compose regexps to match Denote files (MELPA)</li>
<li><a target=3D"_blank" href=3D"https://melpa.org/#/forge-llm">forge-llm</=
a>: LLM integration for generating PR descriptions in Forge (MELPA)</li>
<li><a target=3D"_blank" href=3D"https://melpa.org/#/magit-ido">magit-ido</=
a>: Support using Ido in Magit (MELPA)</li>
<li><a target=3D"_blank" href=3D"https://melpa.org/#/org-invoice-table">org=
-invoice-table</a>: Invoicing table formatter for org-mode (MELPA)</li>
<li><a target=3D"_blank" href=3D"https://melpa.org/#/repeat-fu">repeat-fu</=
a>: Minor mode to repeat typing or commands (MELPA)</li>
<li><a target=3D"_blank" href=3D"https://melpa.org/#/stripspace">stripspace=
</a>: Auto remove trailing whitespace and restore column (MELPA)</li>
</ul></li>
</ul>

<p>
Links from <a href=3D"https://www.reddit.com/r/emacs">reddit.com/r/emacs</a=
>, <a href=3D"https://www.reddit.com/r/orgmode">r/orgmode</a>, <a href=3D"h=
ttps://www.reddit.com/r/spacemacs">r/spacemacs</a>, <a href=3D"https://www.=
reddit.com/r/planetemacs">r/planetemacs</a>, <a href=3D"https://mastodon.so=
cial/tags/emacs">Mastodon #emacs</a>, <a href=3D"https://bsky.app/hashtag/e=
macs">Bluesky #emacs</a>, <a href=3D"https://hn.algolia.com/?query=3Demacs&=
amp;sort=3DbyDate&amp;prefix&amp;page=3D0&amp;dateRange=3Dall&amp;type=3Dst=
ory">Hacker News</a>, <a href=3D"https://lobste.rs/search?q=3Demacs&amp;wha=
t=3Dstories&amp;order=3Dnewest">lobste.rs</a>, <a href=3D"https://programmi=
ng.dev/c/emacs?dataType=3DPost&amp;page=3D1&amp;sort=3DNew">programming.dev=
</a>, <a href=3D"https://lemmy.world/c/emacs">lemmy.world</a>, <a href=3D"h=
ttps://lemmy.ml/c/emacs?dataType=3DPost&amp;page=3D1&amp;sort=3DNew">lemmy.=
ml</a>, <a href=3D"https://planet.emacslife.com">planet.emacslife.com</a>, =
<a href=3D"https://www.youtube.com/playlist?list=3DPL4th0AZixyREOtvxDpdxC9o=
MuX7Ar7Sdt">YouTube</a>, <a href=3D"http://git.savannah.gnu.org/cgit/emacs.=
git/log/etc/NEWS">the Emacs NEWS file</a>, <a href=3D"https://emacslife.com=
/calendar/">Emacs Calendar</a>, and <a href=3D"https://lists.gnu.org/archiv=
e/html/emacs-devel/2025-03">emacs-devel</a>. Thanks to Andr=C3=A9s Ram=C3=
=ADrez for emacs-devel links. Do you have an Emacs-related link or announce=
ment? Please e-mail me at <a href=3D"mailto:[email protected]">sacha@sach=
achua.com</a>. Thank you!
</p>
</div>
</div>

=20=20=20=20
--==-=-=--

--=-=-=
Content-Type: text/x-org; charset=utf-8; name=emacs-news.org
Content-Disposition: attachment
Content-Transfer-Encoding: quoted-printable

    * 2025-03-31 Emacs news
- Emacs 30:
  - [[https://taonaw.com/2025/03/30/emacs-so-far.html][TAONAW - Emacs and O=
rg Mode: Emacs 30.1 so far]]
- Help wanted:
  - [[https://www.reddit.com/r/emacs/comments/1jlyek0/show_your_postcommand=
hook_contents_to_help_emacs/][Show your post-command-hook contents to help =
Emacs core]]
- Upcoming events ([[https://emacslife.com/calendar/emacs-calendar.ics][iCa=
l file]], [[https://emacslife.com/calendar/][Org]]):
  - Emacs Paris: S: Emacs workshop in Paris (online) https://emacs-doctor.c=
om/ Tue Apr 1 0830 America/Vancouver - 1030 America/Chicago - 1130 America/=
Toronto - 1530 Etc/GMT - 1730 Europe/Berlin - 2100 Asia/Kolkata - 2330 Asia=
/Singapore
  - EmacsATX: Emacs Social https://www.meetup.com/emacsatx/events/306712497=
/ Wed Apr 2 1600 America/Vancouver - 1800 America/Chicago - 1900 America/To=
ronto - 2300 Etc/GMT -- Thu Apr 3 0100 Europe/Berlin - 0430 Asia/Kolkata - =
0700 Asia/Singapore
  - M-x Research: TBA https://m-x-research.github.io/ Fri Apr 4 0800 Americ=
a/Vancouver - 1000 America/Chicago - 1100 America/Toronto - 1500 Etc/GMT - =
1700 Europe/Berlin - 2030 Asia/Kolkata - 2300 Asia/Singapore
  - Atelier Emacs Montpellier (in person) https://lebib.org/date/atelier-em=
acs Fri Apr 11 1800 Europe/Paris
- Beginner:
  - [[https://www2.lib.uchicago.edu/keith/emacs/][Waclena, K. (2024) Use GN=
U Emacs (HTML, PDF, or ePub)]] ([[https://techhub.social/@barocio/114221165=
695138603][@[email protected]]])
  - [[https://www.reddit.com/r/emacs/comments/1jkqvz2/installing_and_testin=
g_out_emacs_for_the_first/][Installing and testing out Emacs for the first =
time, as a Neovim user With Joshua Blais (1 hour video)]]
- Emacs configuration:
  - [[https://emacsredux.com/blog/2025/03/28/speed-up-emacs-startup-by-twea=
king-the-gc-settings/][Emacs Redux: Speed up Emacs Startup by Tweaking the =
GC Settings]] ([[https://irreal.org/blog/?p=3D12878][Irreal]])
  - [[https://www.teachmaths.org/20250329-hyper-meh-keys/][Matt Maguire: Er=
gonomic Emacs]]
  - [[https://rahuljuliato.com/posts/emacs-solo-demo][Rahul Juliato: Emacs =
Solo: A Surprise System Crafters Live Demo]] ([[https://news.ycombinator.co=
m/item?id=3D43498696][HN]])
- Emacs Lisp:
  - [[https://www.danliden.com/posts/20250330-emacs-debugging.html][Emacs I=
ntrospection and Debugging]] ([[https://fosstodon.org/@dliden/1142520537215=
23681][@[email protected]]])
  - [[https://www.youtube.com/watch?v=3D3WbATXxzmh4][Get Emacs Packages fro=
m the Emacswiki with a Script]] (02:45)
  - [[https://www.youtube.com/watch?v=3DLdXz8gXpH4s][Ep636 emacs lisp, chan=
ge bracket type, design of function arguments]] (01:16:25)
- Appearance:
  - [[https://heads.social/@waxbanks/114246221020005776][Tip: pulsar-mode, =
pulsar-recenter-center]]
  - [[https://paste.sr.ht/~jasalt/ed50915e734fa14206f7897679c0432db352b6ab]=
[Emacs: Increase text size and adjust window width proportionally. =E2=80=
=94 paste.sr.ht]] ([[https://fosstodon.org/@jasalt/114245027920634542][@jas=
[email protected]]])
  - [[https://www.jamescherti.com/emacs-persist-restore-text-scale/][James =
Cherti: Emacs: persist-text-scale.el =E2=80=93 Persist and Restore the Text=
 Scale for All Buffers]] ([[https://github.com/jamescherti/persist-text-sca=
le.el][Github]], [[https://www.reddit.com/r/emacs/comments/1jm283y/emacs_pa=
ckage_persisttextscale_ensure_that/][Reddit]])
  - [[https://themkat.net/2025/03/25/simple_smoother_emacs_scrolling.html][=
Marie K. Ekeberg: Emacs Quick Tip - Smoother scrolling]] ([[https://irreal.=
org/blog/?p=3D12874][Irreal]])
  - [[https://amitp.blogspot.com/2025/03/emacs-tree-sitter-custom-highlight=
ing-3.html][Amit Patel: Emacs Tree-sitter custom highlighting, part 3]]
- Org Mode:
  - [[https://spepo.github.io/2025-03-29-the-tab-key-in-org-mode-reimagined=
.html][The TAB Key in Org Mode, Reimagined]] ([[https://www.reddit.com/r/em=
acs/comments/1jmroa6/the_tab_key_in_org_mode_reimagined/][Reddit]])
  - [[https://sachachua.com/blog/2025/03/org-mode-cutting-the-current-list-=
item-including-nested-lists-with-a-speed-command/][Sacha Chua: Org Mode: Cu=
tting the current list item (including nested lists) with a speed command]]
  - [[https://codeberg.org/trevdev/org-invoice-table][trevdev/org-invoice-t=
able: A clocktable for Emacs org-mode that helps you invoice clients - Code=
berg.org]] ([[https://fosstodon.org/@trevdev/114252499268746664][@trevdev@f=
osstodon.org]])
  - [[https://mastodon.social/@thetemp/114248521279879551][TIL you can comb=
ine full-text search and tag-matching in the Org agenda]]
  - [[https://www.reddit.com/r/orgmode/comments/1jjo8j6/useful_library_for_=
printing_a_simplified_ast_for/][Useful library for printing a simplified AS=
T for an org file]] abstract syntax tree
  - [[https://lists.gnu.org/r/emacs-orgmode/2022-04/orgYGCOr0hBKH.org][How =
to contribute patches to Org]]
  - Import, export, and integration:
    - [[https://www.reddit.com/r/emacs/comments/1jmjms3/tinyrss_a_simple_an=
d_flexible_rss_feeds_generator/][tiny-rss: A simple and flexible RSS feeds =
generator from org files]]
    - [[https://www.youtube.com/watch?si=3DBsAcWOfX4Wy9VUtJ&v=3DOUuz9-CtCwY=
&feature=3Dyoutu.be][Literate Programming for the 24=C2=BD Century]] (2024,=
 this time on Howard Abrams' channel)
    - [[https://sachachua.com/blog/2025/03/tweaking-my-11ty-blog-to-link-to=
-the-mastodon-post-defined-in-an-org-mode-property/][Sacha Chua: Tweaking m=
y 11ty blog to link to the Mastodon post defined in an Org Mode property]]
    - [[https://www.reddit.com/r/orgmode/comments/1jm1rgx/orgdex_capture_ar=
chive_browser_sessions/][Org-Dex: Capture + Archive Browser Sessions]]
    - [[https://www.reddit.com/r/emacs/comments/1jnwiav/sharing_paw_now_sup=
ports_notion_style_of_comment/][Sharing: paw now supports notion style of c=
omment but with org-mode and other goodies]]
  - Org development:
    - [[https://git.savannah.gnu.org/cgit/emacs/org-mode.git/commit/etc/ORG=
-NEWS?id=3D593785527b8c0feee8163b59b4443e5ed5b642c6][oc-basic.el: New optio=
n org-cite-basic-complete-key-crm-separator]]
    - [[https://git.savannah.gnu.org/cgit/emacs/org-mode.git/commit/etc/ORG=
-NEWS?id=3Df30f6dc4bc50490c7e1b7e406994b9713880b413][org-preview-latex-proc=
ess-alist: Add xelatex support for latex preview]]
    - [[https://git.savannah.gnu.org/cgit/emacs/org-mode.git/commit/etc/ORG=
-NEWS?id=3Dadfee5eed88d950548963f4700387442a8111d0f][Capitalize JavaScript =
correctly]]
    - [[https://git.savannah.gnu.org/cgit/emacs/org-mode.git/commit/etc/ORG=
-NEWS?id=3Dac9bd59994aca656961dd81a4499885b8a52dc80][Ensure that gnus-other=
-frame-object is alive before selecting]]
- Denote:
  - [[https://protesilaos.com/codelog/2025-03-28-emacs-denote-query-links/]=
[Protesilaos Stavrou: Emacs: Denote =E2=80=98query links=E2=80=99 (links th=
at trigger a search)]]
  - [[https://protesilaos.com/codelog/2025-03-31-emacs-denote-journal-calen=
dar/][Protesilaos Stavrou: Emacs: =E2=80=98denote-journal=E2=80=99 integrat=
ion with =E2=80=98M-x calendar=E2=80=99]]
  - [[https://baty.net/posts/2025/03/using-the-obsidian-web-clipper-with-de=
note/][Jack Baty: Using the Obsidian Web Clipper with Denote]]
- Completion:
  - [[https://www.youtube.com/watch?v=3DWqN27ltSwag][Activate superword mod=
e in the Emacs Minibuffer #coding #programming]] (01:07) treat symbols (ex:=
 ~example_symbol~ as words)
  - [[https://codeberg.org/ideasman42/emacs-repeat-fu][[ANN] repeat-fu for =
repeating multi-command "edits" now available on MELPA]] ([[https://www.red=
dit.com/r/emacs/comments/1jnucr0/ann_repeatfu_for_repeating_multicommand_ed=
its_now/][Reddit]])
  - [[https://www.youtube.com/watch?v=3Df_II8tTs-gg][Emacs company-mode =E3=
=82=BF=E3=82=A4=E3=83=94=E3=83=B3=E3=82=B0=E3=81=8C=E6=A5=BD=E3=81=AB=E3=81=
=AA=E3=82=8B=EF=BC=81=EF=BC=81 (=E7=84=A1=E9=9F=B3)]] (01:50)
- Coding:
  - [[https://www.reddit.com/r/emacs/comments/1jmwkl0/magitblamecolorbyage_=
colorcode_magitblame_headers/][magit-blame-color-by-age: color-code magit-b=
lame headers by their age]]
- Math:
  - [[https://famme.sk/blog/ses.html]["Simple Emacs Spreadsheet" a.k.a SES]=
] ([[https://www.reddit.com/r/emacs/comments/1jndxfz/simple_emacs_spreadshe=
et_aka_ses/][Reddit]])
- Web:
  - [[https://srijan.ch/notes/2025-03-24-002][Srijan Choudhary: 2025-03-24-=
002]]
- Mail, news, and chat:
  - [[https://baty.net/posts/2025/03/mu4e-transient-menu/][Jack Baty: Mu4e =
transient menu]]
  - [[https://www.youtube.com/watch?v=3DI1H1GuPvhCc][Gnus for Noobs: Mail a=
nd News in Emacs - System Crafters Live!]] (01:40:19)
  - [[https://flandrew.srht.site/listful/sw-emacs-atomizer.html][Listful An=
drew: Atomizer =E2=80=94 Make Atom feeds for your site (Emacs package)]]
  - [[https://codeberg.org/martianh/mastodon.el#headline-10][mastodon.el 2.=
0.0: encrypted auth tokens, fixes, cycling images]] ([[https://todon.nl/@mo=
usebot/114252030972186444][@[email protected]]])
  - [[https://sachachua.com/blog/2025/03/mastodon-el-collect-handles-in-kil=
l-ring/][Sacha Chua: mastodon.el: Collect handles in clipboard (Emacs kill =
ring)]]
  - [[https://sachachua.com/blog/2025/03/mastodon-el-copy-toot-content-as-o=
rg-mode/][Sacha Chua: mastodon.el: Copy toot content as Org Mode]]
  - [[https://babbagefiles.xyz/no-one-can-be-told-what-irc-is-you-have-to-l=
ogon-for-yourself/][Benjamin Slade: Trials and Visions of Internet Relay Ch=
at]]
- Evil mode:
  - [[https://ohyecloudy.com/emacsian/2025/03/30/evil-scroll-down-up/][=EC=
=99=9C C-d =ED=82=A4=EB=A5=BC =EB=88=8C=EB=9F=AC =EC=8A=A4=ED=81=AC=EB=A1=
=A4=ED=95=98=EB=A9=B4 =EC=A0=88=EB=B0=98 =EC=9D=B4=EC=83=81=EC=9D=B4 =EB=84=
=98=EC=9D=84=EA=B9=8C? - (emacsian ohyecloudy)]] ([[https://mastodon.social=
/@ohyecloudy/114250381057415445][@[email protected]]]) - evil and =
scrolling
- Multimedia:
  - [[https://baty.net/posts/2025/03/emacs-lisp-function-to-update-exif-dat=
a-in-film-scans/][Emacs lisp function to update exif data in film scans | B=
aty.net]] ([[https://social.lol/@jbaty/114234895884027674][@[email protected]=
l]])
  - https://melpa.org/#/chordpro-mode ([[https://www.reddit.com/r/emacs/com=
ments/1jnrsyi/chordpromodeel_v250_release/][Reddit]]
  - [[https://github.com/skyefreeman/fretboard.el][fretboard.el =E2=80=93 g=
uitar fretboard visualization tool for Emacs]] ([[https://www.reddit.com/r/=
emacs/comments/1jk3jh0/fretboardel_guitar_fretboard_visualization_tool/][Re=
ddit]], [[https://news.ycombinator.com/item?id=3D43477725][HN]])
- AI:
  - [[https://blog.tendollaradventure.com/automating-story-logic-with-llms/=
][Ten Dollar Adventure Blog - Automating Interactive Fiction Logic Generati=
on with LLMs in Emacs]] [[https://news.ycombinator.com/item?id=3D43453373][=
HN]]
  - [[https://emacs.dyerdwelling.family/emacs/20250325093201-emacs--ollama-=
buddy-0-9-11-experimental-chatgpt-integration-customizable-ai-streaming-and=
-texinfo-documentation/][James Dyer: Ollama-Buddy 0.9.11: Experimental Chat=
GPT Integration, Customizable Streaming and Texinfo documentation]]
  - [[https://youtu.be/39OsH_OeWSA][Accidentally writing an Emacs Package]]=
 - fabric-gpt
  - [[https://www.youtube.com/watch?v=3DSPYgkAVe2rM][Ollama Buddy - Same pr=
ompt to 10 models (multishot) #emacs #ollama]] (01:27)
- Community:
  - [[https://tilde.town/~ramin_hal9001/articles/emacs-fulfills-the-unix-ph=
ilosophy.html][Ramin Honary: Emacs fulfills the UNIX Philosophy (overview)]=
] ([[https://fosstodon.org/@amoroso/114245706631649253][@amoroso@fosstodon.=
org]])
  - [[https://joshblais.com/posts/emacs-for-everything][Emacs for Everythin=
g]] ([[https://social.coop/@fnat/114236928734631393][@[email protected]]])
- Other:
  - [[https://michal.sapka.pl/2025/msite/][My new Emacs (and Ruby) based St=
atic Site Generator]] ([[https://mastodon.bsd.cafe/@mms/114256630328330998]=
[@[email protected]]])
  - [[https://www.jamescherti.com/bufferfile-el-delete-or-rename-buffer-fil=
e-names-with-their-associated-buffers/][James Cherti: Emacs: bufferfile.el =
=E2=80=93 Delete or rename buffer file names with their associated buffers]=
] ([[https://github.com/jamescherti/bufferfile.el][Github]], [[https://www.=
reddit.com/r/emacs/comments/1jngj4b/bufferfileel_delete_or_rename_buffer_fi=
le_names/][Reddit]])
  - [[https://www.jamescherti.com/emacs-stripspace-delete-trailing-whitespa=
ce-clean/][James Cherti: Emacs: stripspace.el =E2=80=93 Automatically Remov=
e Trailing Whitespace Before Saving a Buffer, with an Option to Preserve th=
e Cursor Column]]
  - [[https://melpa.org/#/trope-mode][trope-mode]]
  - [[https://www.youtube.com/watch?v=3DdFFewYmtfGM][Emacs Macros: All You =
Need to Know #coding #programming]] (15:37) - keyboard macros
  - [[https://www.youtube.com/watch?v=3DoV9F9bmPr58][Clojure visual-tools 3=
2- Workflow Demos 6: old-school tools, REPL, Emacs, Org-mode, AI, MCP, & mo=
re]] (01:51:40)
- Emacs development:
  - emacs-devel: A few explanations. I wonder where a good place to link to=
 these would be; not quite news, but might be good to keep findable since e=
macs-devel search can be challenging
    - [[https://lists.gnu.org/archive/html/emacs-devel/2025-03/msg01614.htm=
l][Why replace-region-contents is being deprecated]]
    - [[https://lists.gnu.org/archive/html/emacs-devel/2025-03/msg01555.htm=
l][Why there's no built-in function to check if a variable has been changed=
]] (helpful has helpful--original-value-differs-p)
    - [[https://lists.gnu.org/archive/html/emacs-devel/2025-03/msg01559.htm=
l][Why unintern has a mandatory argument]]
  - [[https://git.savannah.gnu.org/cgit/emacs.git/commit/etc/NEWS?id=3D4687=
78f390fa521773634094845749ab766fdcfd][Don't obsolete the command replace-bu=
ffer-contents]]
  - [[https://git.savannah.gnu.org/cgit/emacs.git/commit/etc/NEWS?id=3Da512=
6f79a163192947acb18a32e199c588be7c4a][Merge remote-tracking branch 'origin/=
scratch/replace-region-contents']]
  - [[https://git.savannah.gnu.org/cgit/emacs.git/commit/etc/NEWS?id=3D7c82=
cc8b975175aebbad1c43ec1cd98b3232f482][(replace-region-contents): Improve an=
d promote (bug#76313)]]
  - [[https://git.savannah.gnu.org/cgit/emacs.git/commit/etc/NEWS?id=3Db98f=
e25c2ee2ac2d82b337c49d1aa1dfed2417eb][Enhance 'icomplete-vertical-mode' cus=
tomization options.]]
  - [[https://git.savannah.gnu.org/cgit/emacs.git/commit/etc/NEWS?id=3Ddd0d=
d87e3aaf3116c400fba858cbe35ced15f04e][New function 'hash-table-contains-p']]
  - [[https://git.savannah.gnu.org/cgit/emacs.git/commit/etc/NEWS?id=3D989f=
9f01f731c0dd0382bad50f1c45894d69c3ea][New minor mode: `electric-block-comme=
nt-mode']]
  - [[https://git.savannah.gnu.org/cgit/emacs.git/commit/etc/NEWS?id=3Dab71=
699e5f2502aff6c65dd195611cfbbe2f2255][New Eldoc function `eldoc-show-help-a=
t-pt']]
  - [[https://git.savannah.gnu.org/cgit/emacs.git/commit/etc/NEWS?id=3D891f=
51fe118597ffe58d5d817fff693db3188639][Add major mode for highlighting npmrc=
 files (Bug#77138)]]
  - [[https://git.savannah.gnu.org/cgit/emacs.git/commit/etc/NEWS?id=3D364c=
3dbc12e7b6d41ab449dd495c96d08874310e][Help find-function find methods defin=
ed inside macros]]
  - [[https://git.savannah.gnu.org/cgit/emacs.git/commit/etc/NEWS?id=3D0013=
59ce7650c1ec110b4c38b6f67274d2d29ad1][Further amendments of child frame han=
dling and documentation]]
  - [[https://git.savannah.gnu.org/cgit/emacs.git/commit/etc/NEWS?id=3D0503=
25da303996cf5be7bd13d0a13e0bd12fa25e][* lisp/treesit-x.el: New file.]]
- New packages:
  - https://melpa.org/#/citar-org-node: Citar integration with org-node (ME=
LPA)
  - https://melpa.org/#/denote-regexp: Compose regexps to match Denote file=
s (MELPA)
  - https://melpa.org/#/forge-llm: LLM integration for generating PR descri=
ptions in Forge (MELPA)
  - https://melpa.org/#/magit-ido: Support using Ido in Magit (MELPA)
  - https://melpa.org/#/org-invoice-table: Invoicing table formatter for or=
g-mode (MELPA)
  - https://melpa.org/#/repeat-fu: Minor mode to repeat typing or commands =
(MELPA)
  - https://melpa.org/#/stripspace: Auto remove trailing whitespace and res=
tore column (MELPA)

Links from [[https://www.reddit.com/r/emacs][reddit.com/r/emacs]], [[https:=
//www.reddit.com/r/orgmode][r/orgmode]], [[https://www.reddit.com/r/spacema=
cs][r/spacemacs]], [[https://www.reddit.com/r/planetemacs][r/planetemacs]],=
 [[https://mastodon.social/tags/emacs][Mastodon #emacs]], [[https://bsky.ap=
p/hashtag/emacs][Bluesky #emacs]], [[https://hn.algolia.com/?query=3Demacs&=
sort=3DbyDate&prefix&page=3D0&dateRange=3Dall&type=3Dstory][Hacker News]], =
[[https://lobste.rs/search?q=3Demacs&what=3Dstories&order=3Dnewest][lobste.=
rs]], [[https://programming.dev/c/emacs?dataType=3DPost&page=3D1&sort=3DNew=
][programming.dev]], [[https://lemmy.world/c/emacs][lemmy.world]], [[https:=
//lemmy.ml/c/emacs?dataType=3DPost&page=3D1&sort=3DNew][lemmy.ml]], [[https=
://planet.emacslife.com][planet.emacslife.com]], [[https://www.youtube.com/=
playlist?list=3DPL4th0AZixyREOtvxDpdxC9oMuX7Ar7Sdt][YouTube]], [[http://git=
.savannah.gnu.org/cgit/emacs.git/log/etc/NEWS][the Emacs NEWS file]], [[htt=
ps://emacslife.com/calendar/][Emacs Calendar]], and [[https://lists.gnu.org=
/archive/html/emacs-devel/2025-03][emacs-devel]]. Thanks to Andr=C3=A9s Ram=
=C3=ADrez for emacs-devel links. Do you have an Emacs-related link or annou=
ncement? Please e-mail me at [[mailto:[email protected]][sacha@sachachua.=
com]]. Thank you!

=20=20=20=20
--=-=-=--