A new version of annotate.el (2.0.3), a mode to annotate files without
changing them, has been released; this is a bugfix release.
This version fixed a bug that could render with the same color two
adjacent annotations.
Annotate.el is available on MELPA and also on NonGNU ELPA; this means
that, if you are using an Emacs version greater or equal than 28, you
could simple run the command: 'M-x package-install RET annotate RET'
to install the package.
@abcdw@goku12 For the past 20+ years I've maintained a bibliography using nothing but #Emacs#auctex & #bibtex mode on what's basically just a text (.bib) file. A short #elisp function also allows me to immediately open the document (say, pdf or djvu) corresponding to the entry, simply by entering F9 anywhere on the entry. This system has several advantages:
Emacs's regexp-search together with reftex-citation allow for incredibly powerful and flexible searches through the database
Any other interaction niceties more or less easily implementable through elisp code. For instance, I have a custom function that abbreviate a selected piece of text according to ISO 4 standard
It's basically just a text file, so in particular situations one can search or modify with any text editor
Automatically integrated with Emacs & AUCTeX when writing TeX files (in Emacs of course :) )
Of course it's a purely subjective choice, I'm not saying it's objectively better than any other. But worth considering and trying!
Next to last, we have a demonstration of table calculations in Emacs! Only, I don't have to keep track of my weight loss, but I do have to keep track of other little things sometimes and it might be handy to learn this stuff for THAT kinda thing.
Until now I seriously underestimated #eshell in #emacs. Wow, the integration it has is amazing, I get nice autocompletion and, of course, integration with Elisp. The only problem is that I have to adapt to the Eshell way of doing things (i.e. stuff like eval "$(ssh-agent -s)" don't quite work) and it's a dumb terminal (quite literally, so I have vterm as a backup), but FWIW it is underrated, don't scoff at it.
@stalecu I recently got into #eshell myself and have been doing as much as I can with it while using #vterm as a fallback. It's pretty sweet, and I no longer need the #Python#REPL as a calculator. I can use #elisp REPL instead when I want to see how badly I got screwed by working unpaid overtime.
@louis@galdor@a13cui To be honest, I'm skeptical about defining "superiority" on the set of isomorphic representations of reasonable code.
Of course, there's the space of bad code, e.g. long hard-to-understand poorly-documented (take any) functions, spaghetti code, WET, unreadable constructs such as nested ternaries, etc., etc... And better programmers sample that space less, but it's substantial, even in more minimal languages.
I.e. I doubt you can write "better" code, you can write the code that is less bad perhaps.
Conversely, I'm in love with #elisp, so I know I can write the same iteration construct with mapcar & co, cl-loop, threading macros, seq-, dash functions, dolist, cl-do, cl-reduce & the rest of cl-, hmm, what else... And I don't feel like I've grown much because of that 🙂
By the way, it's kinda the same with the aforementioned darkness.js, with its countless _.chain(libraries) besides the built-in loop expressions, .map / .reduce / whatever, .forEach... A Scheme with C syntax indeed.
And next to the above, there's the space of memory/compute inefficient code... From my work with students, I often find it harder to explain that this code is O(n!) while it should be O(n^2).
Besides, there are principles of single responsibility, separation of concerns, which are mostly language-independent. And architectural decisions.
...maybe I'll change something in this stream of consciousness if I manage to work in the field for the next 20 years 🤷
@Mehrad Here's the function that does the trick (an #elisp function is simplier than installing a package)
Thanks to the videos of @zamansky, it was easy
(defun lower-case-hyphen ()
"Convert a region by putting lowercase and replacing spaces by hyphen"
(interactive)
(if mark-active
(let* ((s (buffer-substring-no-properties (point) (mark)) ))
(kill-region (point) (mark))
(insert (string-replace " " "-" (downcase s)))
)
Remember I am a newbie : I wanted to open a link from #Emacs into #Qutebrowser
I am sure there's already a way, but I didn't find it
So it was the opportunity to make my first #elisp code (obviously some bits are copied from internet).
I begin to realize what "empowerment" means when you become a #systemcrafters
Sure not academic but it works !
This piece #elisp of makes #emacs execute certain code when opening a file with a particular name. This is useful for files that have no clear extension or mode setting.
I use it to enter yaml-mode whenever I open a .clang-format file (which I don't want to pollute with -*- magic).
When @spritelyinst closes in on their work on #Guile's wasm compiler (maybe later this year?!), it'll certainly become the easiest way to target optimized #wasm. Tree-IL has gotta be the simplest intermediate language to compile to, and you get all the optimizations Guile offers for free.
Considering Robin Templeton, the author of Guile's #elisp compiler, is one of the engineers behind it, I can't help but speculate that this will put #emacs in the browser within reach. If I can handle my org-agenda online by 2025, I will cry.
It's called #Scheme because it allows just a few friends to plot a CONSpiracy to build amazing things.
I figure the counterargument is #emacs#elisp : however elisp is not portable out of emacs, and emacs is only host to common lisp development in the sense that it's a host to C development, if that.
Hello #mastodon from #emacs. I must admit I was a bit displeased with seeing all the #eurovision posts on #tootsi so I went to check how mastodon looks from inside the emacs. So far I like it. I have a constant urge to C-x C-s while writing this toot.
Since I'm in Emacs I'm also quite pleased how last Emacs user group Slovenia meetup unfolded. It was not very crowded (if I'm being modest) and so I took the liberty to read the article on making elisp repl more comfortable. I've added the config to my #spacemacs as well.
Hopefully I'll find some time to get better in #elisp in the upcomming months.
Using xcb.el I managed to recreate a X11 drawing demo with #elisp. This may or may not pave the way forward to faster graphics rendering programs in #Emacs...
You can then use M-x profiler-find-profile on the file.
I've moved some of the request objects outside the drawing loop and resorted to reusing one object per type of request, then mutating the fields as necessary before sending the request. Now the performance hotspots left seem to be inside the data marshalling code. I can't do much about it unless I were to rewrite it to avoid creating/walking objects in the first place.
I'm working on re-implementing a certain Zsh prompt in #Eshell and wanted better access to the current-directory portion. I split it with (split-string default-directory "/" t) and spent about 20 minutes trying to put it back together.