#emacslisp

See tagged statuses in the local BookWyrm community

#Schemacs minor milestone reached

With pull request #50 the Schemacs Elisp interpreter is now able to load all of two very important Emacs Lisp source files:

…which are two files that define most of what you could call the the Emacs Lisp “core” language (by which I mean macros like defun and lambda).

With these files now loaded, I can proceed to the next task, which is implementing enough of the C-level built-in functions in Scheme to be able to run ./lisp/emacs-lisp/cl-lib.el, which is in-turn one of the dependencies for running the Emacs Regression Tests (ERT) suite.

Once ERT is up and running, it will be much easier for anyone to contribute code to this project as you will just be able to pick a failing regression test and write whatever code is necessary to make it pass.

#tech #software #Emacs #EmacsLisp #Lisp #Scheme #SchemeLang #R7RS …

Progress on my clone of the Emacs Lisp interpreter

This took me three months (a month longer than I had hoped), but I finally have merged it into the main branch!

This patch rewrites the Emacs Lisp lexer and parser in Scheme using Scheme code that is 100% compliant with the #R7RS standard, so it should now work across all compliant Scheme implementations. Previously the old parser relied on #Guile -specific regular expressions.

This patch also implements a new feature where a stack trace is printed when an error occurs. This of course makes debugging much, much easier. Previously the old parser did not keep track of where code evaluation was happening, it simply produced lists without source location information. The new parser constructs an abstract syntax tree (AST) and source locations are attached to the branches of the tree which can be used in error reporting and stack traces. …

Robert J. Chassell: Emacs Lisp - An Introduction (Paperback, Samurai Media Limited) No rating

"You don't have to like Emacs to like it" - this seemingly paradoxical statement is the secret of GNU Emacs. The plain, 'out of the box' Emacs is a generic tool. Most people who use it, customize it to suit themselves.

Emacs Lisp - An Introduction by  (Page 185)

Ok, I've read all chapters, but I'm not setting this book as read until I finish some exercises (and read appendixes). I'm especially interested in the plain text graphs library since I enjoy data visualization whenever I can work on it.

Another note to myself. I've used yank-pop first time today. I knew of kill-ring but never bothered to delve deeper since no other software I'm using implements it in a way to store more elements on the clipboard.

And I have my eyes on the next goals as well: The Emacs Lisp Elements by Protesilaos Stavrou. I'll try to read it on my e-ink screen, because I'm not utilizing it enough (it would be so nice to have touch screen gestures to scroll working on my #debian with #i3).

And after that, I'll check if there are any simple packages that need co-mainteners. #EmacsLisp

Robert J. Chassell: Emacs Lisp - An Introduction (Paperback, Samurai Media Limited) No rating

I'm loving the gentleness of introduction that this book provides. It goes slowly through the code examples and shows you how to read the #EmacsLisp code.

And a spoiler: Here is my attempt for the Chapter 8 exercise: (defun test-search (string) "Search for string and left a point there if it is found." (interactive "sSearch for: ") (let ((found) (current (point)) (len (length string))) (save-excursion (while (and (< (+ len current) (point-max)) (not found)) ;; why complicate? just whole string on each position. (if (string-equal string (buffer-substring-no-properties (point) (+ (point) len))) ;; we found the string (progn (message "Found!") (setq found t) ) (progn ;; else (setq current (+ 1 current)) (forward-char) ) ) ) ) (when found ;; we found the string so we move the point. (goto-char (+ current len)) ) ) )

This is a channel I've been running for a while. I invite everyone interested in , , ., , and others to join us!

https://xmpp.link/#lisp@conference.a3.pm?join

If you are unfamiliar with XMPP, you can install Quicksy (which is libre software) from the Play Store, App Store, or F-Droid.

Or you can check out my Quick and Easy Guide to Jabber/XMPP for more information and other options -
https://contrapunctus.codeberg.page/the-quick-and-easy-guide-to-xmpp.html

0.9 released! 🎉

Notable changes include support for 26, support, line mode (like Term mode's one), and various bug fixes (including that cursor jumping bug).

is a reasonably fast emulator for written entirely in /#Elisp, with various features like shell intergration, 24bit colors, complete mouse support and Sixel support, etc. It can run most (if not all) full-screen terminal programs.

https://codeberg.org/akib/emacs-eat