home.social

#elisp — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #elisp, aggregated by home.social.

fetched live
  1. So #taskwarrior has this nice urgency score but it's a flat task list. What if a project/ticket etc has more than one task and I want only the NEXT actionable task in Taskwarrior (remember #gtd )?
    Let's handle these projects with tasks in #emacs #orgmode and sync task with Todo state NEXT to Taskwarrior and those done in Taskwarrior back to orgmode. Of course using #elisp

    #productivity

  2. and the award for

    - weirdest
    - most obfuscating
    - most confusing
    - smartest
    - most grug brained
    - most practically minded
    - most useful
    - most hilarious

    #emacs #elisp package 2026 goes toooooooo

    llama featuring (defalias (intern "") 'llama)

    congratulations!

  3. Emacs Lisp has had bignums for quite a few years now (even though it got them much later than other lisps).

    See also `integer-length' and company.

    #CommonLisp
    #Elisp
    #Emacs
    #EmacsLisp

    @anthk

  4. Right.
    Indeed, as I noted, my memory needed refreshing on this, which I just had an opportunity to do.

    «Since the old `cl.el' does not use a clean namespace, Emacs has a policy that packages distributed with Emacs must not load `cl' at run time.
    (It is ok for them to load `cl' at _compile_ time, with `eval-when-compile', and use the macros it provides.)
    There is no such restriction on the use of `cl-lib'.
    New code should use `cl-lib' rather than `cl'.»

    (Info node `cl', Overview, 1.2 Organization)

    Since Emacs 24.3.

    #Elisp
    #Emacs
    #EmacsLisp

    @kentpitman @weekend_editor @nosrednayduj

  5. "In most languages, metaprogramming lives in a separate layer with its own representation of code like templates, reflection APIs, token streams, quasi-quoted ASTs. Some of those layers are crude and some are genuinely sophisticated, but each is a wall between code and data. In Elisp there was never a wall to tunnel through. Elisp enables metaprogramming, but it's the same language, and the same data structures, all the way down." - Charlie Holland
    #lisp #elisp #emacslisp
    tumblr.com/teledyn/82412727468

  6. «EWW, the Emacs browser you underestimate»

    EWW is a browser written 100% in Emacs Lisp, no WebKit, no Blink, no Gecko; absurdly lightweight and with a lot of untapped potential for scraping and automation.

    https://en.andros.dev/blog/e0e00b4b/eww-the-emacs-browser-you-underestimate/

    #Web #Emacs #Elisp #EmacsCarnival

  7. Continuing with the theme of some more adventurous #emacs config updates, here are some notes on writing a custom #ediff session group entry point.

    I ended up with a (poor!) re-implementation of `jj squash —interactive` and a long list of follow up TODOs… time will tell if this was a good idea or not! 😅

    alcarney.me/blog/2026/managing

    (I’m aware there are *many* excellent jj packages for Emacs already, but I’m doing things the hard way as an excuse to tinker with some non-trivial #elisp)

  8. Announcing `elisp-agent` - a naive AI agent for #EMacs.

    gitlab.com/kriyative/elisp-age

    Inspired by thebeach.dev/posts/lisp-agent/ this #ELisp implementation uses `eval` as the sole tool available to the agent workflow. Please see the README file for more details and important security considerations.

    #ELispAgent #EmacsLisp #AI

  9. As a first approximation, I suggest thinking of Emacs Lisp as closer to MacLisp than to Common Lisp.

    A precise description of "closer" would be fairly long.
    For example, Emacs Lisp acquired things like bignums and lexical bindings fairly late.

    Again as an approximation, the descendancies are:
    MacLisp → Emacs Lisp
    MacLisp and others → Common Lisp
    (Those others include, in alphabetical order, Interlisp, Scheme, Zeta Lisp, etc., but not Emacs Lisp.)

    And then an important aspect of these approximations is the `cl' package, also a late addition that evolved quite a bit.

    Transferring knowledge about C to Emacs Lisp is rather tricky, even though the implementation of a part of Emacs (including the Emacs Lisp virtual machine) is written in C.

    #CommonLisp
    #Elisp
    #Emacs
    #EmacsLisp

    @me

  10. Spent several hours today trying to figure out why my #elisp code was misbehaving. Turns out, I made a mistake while trying to be clever. Instead of doing:

    (when (and cond1 cond2)
      stuff
      ...)

    I did:
    (and cond1 cond2
      stuff
      ...)

    ...which would only work if every instruction in stuff returned a non-nil value.

    I should stop trying to be clever.

    #emacs

    Edit: when, not while

  11. «can't be guarded with 'eval-while-compile' because then they get run twice»

    Yes...

    It is not for nothing that Common Lisp's `eval-when' works in the (different) way it works (and then it had to be revised and specified in more detail after the first edition).

    [P.S.
    For Elisp it might be useful to look at `cl-eval-when'.]

    #CommonLisp
    #Elisp
    #Emacs

    @cks

  12. Tl;Dr Anyone have some beginners friendly elisp learning resources?

    So I'm looking at moving away from Hugo and towards Jekyll as my site generator (eventually, I've got stuff to do in the meantime) but part of that is going to take... Some time. Notably I currently use ox-hugo to export my posts. It does allow you to switch between TOML and YAML for the front matter, but the file names are different, and Hugo expects everything to be in content/ while Jekyll requires _posts/. I can't find anything to export things on a one-post-per-subtree basis for
    #emacs so I might have to make something.

    Anyone got any resources for learning
    #elisp? I have painfully minimal programming experience, but I'm willing to learn

  13. Today I wrote some QoL functions for my org-mode files. I think elisp is growing on me. Thinking in lisp paradigm is different from what I'm used to (R, Python, C++, Perl, etc.) and I typically am lost on which part of the problem I should start with, but when the code comes together, its "elegance" brings so much satisfaction and feeling of accomplishment 🤓

  14. Huge shout out to @ramin_hal9001 for what he's doing on #schemacs .
    This has a bright future. I think Elisp lock-in is currently the main thing holding Emacs back (I don't mean it's going to get mainstream like VSCode, I mean compared to Emacs itself).
    If with a refined architecture and #scheme / #guile as the base language, we can get multithreading, better speed overall, and configurations in guile instead of #elisp !

    I would fully jump to the Emacs team.

    codeberg.org/ramin_hal9001/sch

  15. @ramin_hal9001 wrote:
    «And the built-in editor and IDE are set up so that you don’t really need to learn the Emacs Lisp programming language to use it.»

    That's certainly true, but moreover you _have the option_ to learn and use Lisp as well _and_ to _gain a lot_ from that _in addition to_ the rest.

    And then access to executing Lisp programs is highly integrated with the rest.
    For example, you can insert an Emacs Lisp fragment into a plain text buffer (a text file opened for editing) and execute it right there with a trivial command.
    It can change the same buffer or it can do a lot of other things.

    And it goes on.

    #Elisp
    #Emacs
    #EmacsLisp

    @hell @tusharhero