How would you run create a long process (rsync for example), create a temporary buffer in split for it, tail the output to the buffer so it’s up to date; then if the process exists success close the buffer? Preferably the emacs should not lock the whole time.
Sometimes I get overwhelmed by having a free day and end up not accomplishing much. This morning it was processing my feelings toward my family's political views. I think it was valuable to come to some conclusions about why their views bothered me so much, but it took time.
I'm sitting on some patches and email drafts waiting for the fsf to update my copyright assignment record.
I'm going to work on objed for a while, then my blog. For objed I want to translate the test runner from a Makefile to an elisp eldev command. For the blog I want to do the opposite: translate the elisp build script into a Makefile.
Both are attempts at simplifying the development process though, just choosing the right tool for each job.
I use Emacs with evil, and I hit ":w2<ret>" way more often than I'd like, leaving little files called "2" all over the place. So I wrote some advice to fix it
In my quest for an easier emacs on ramp, I made an org file for adding templated elisp source block sections to itself, which tangles to an elisp file, to be loaded on startup.
If you want to be notified of scheduled and deadlined tasks in Org mode, there is no better way than with org-yaap. It has zero dependencies other than Emacs 27.1 and it works great on Android with termux.
I've been using it for two years without issue. The documentation and options are superbly setup to fit most uses of Org:
"""
By default, you will be notified for all scheduled headings (org-yaap-include-scheduled') and headings with a deadline (org-yaap-include-deadline') within your agenda files. If a heading only includes the date, you will be notified at 9am on the day of the heading (org-yaap-daily-alert'). If you don't mark a heading as done, you will be repeatedly notified every 30 minutes after the heading was due (org-yaap-overdue-alerts').
"""
I wanted to share a function that I've found incredibly useful while conducting qualitative data analysis of interviews. During this type of research, structuring my interview data and maintaining a clear overview is crucial. To assist with this, I've developed a function in Emacs Lisp that uses tags to extract specific headlines into a new buffer.
This function, /extract-headlines-by-tag/, prompts the user to enter a tag. The function then scans the entire buffer, and for each headline that contains the specified tag, it extracts not only the headline but also its content. These extracted parts are then transferred into a new buffer. I've made the new buffer pop up for immediate review after the extraction process.
Here's the piece of code:
#+begin_src emacs-lisp
(defun extract-headlines-by-tag (tag)
"Extract headlines and their content from current buffer by TAG."
(interactive "sEnter tag: ")
(save-excursion
(let ((result-buffer (generate-new-buffer (concat "/Extracted Headlines " tag ""))))
(with-current-buffer result-buffer
(org-mode)
(insert " Extracted Headlines by Tag: " tag " *\n\n"))
(org-element-map (org-element-parse-buffer) 'headline
(lambda (headline)
(when (member tag (org-element-property :tags headline))
(with-current-buffer result-buffer
(insert (org-element-interpret-data headline) "\n")))))
(pop-to-buffer result-buffer))))
#+end_src
Has anyone here worked much with generators in #emacs ?
I am looking for a good solution for streaming outputs in my ollama-elisp-sdk project. I think there's a good angle using generators to make a workflow fairly similar to e.g. the OpenAI API. Not sure yet though.
Not sure what I'm doing wrong, but I'm trying to do some project-find-regexp with an expression like this: func() and it still finds everything with func. I was expecting that it only finds "func()", what did I get wrong?
It appears to be an #emacs-ish program that uses #commonlisp for customization.
Apparently there have been other emacs clones based on #go and #rust and I guess those are called #emacsen ?
Without going too into my personal details, I’m not a professional programmer and most of my experience is with a modern programming language, #swift, and a high level programming language, #python.
I’ve tried learning #elisp several times by completing various programming exercises and I end up quitting because something obnoxious comes up that, from my minimal programming experience, appears to be due to elisp‘s age. Again, I’m not a pro, so this is just my amateur take.
I did a some programming challenges with #clojure which was hugely fun (mostly because of how fun it feels in emacs 😁) so I don’t think it’s the #lisp part of emacs I have a distaste for.
I’ll probably give it a serious go within the next week here and possibly report back, but I can’t imagine an emacs clone without #magit#orgroam and ChatGPT-shell will really ever become my daily driver 🙃
I'm hoping some of you more seasoned #emacs veterans can help me with something. I have an #elisp script that creates a plist, but a lot of the values are calculated based on other property values so I've ended up with a ton of (setq my-plist (plist-put my-plist :key (+ (plist-get my-plist :key2) calc-val))) expressions all over the place which seems a bit... unwieldy. Is there a better structure to use for this kind of scenario or is there a better way to go about this? Also I don't know how to do code snippets here, my apologies.
Do you all use anything for #elisp formatting in #emacs ?
I started using Emacs ELisp AutoFmt recently have found it pretty nice. I mostly just use elisp-autofmt-region or elisp-autofmt-buffer periodically as I'm working.
Here's a function to generate QR codes inside #Emacs. Select a region or enter the text in the minibuffer and it will be encoded with the external qrencode tool. By default it generates an UTF8 QR code, with a universal prefix an PNG is created.
@louis Well, I'm using Emacs since the 90s (with a break in-between), I'm pretty far with my GNU #Emacs setup and I dislike #Elisp as a language as well. (Not for its possibilities!)
So every app using it has all of #Electron’s disadvantages:
• lowest-common-denominator #GUI obviously foreign to the host OS
• non-portable shims to integrate with host OS features
• an individually bespoke runtime consuming storage, memory, and compute as if it were a separate virtual machine
@andros@marcolas Web applications use #JavaScript to shoehorn themselves into an environment designed to browse hyperlinked documents.
And “#Emacs applications” (e.g., Org Mode, Gnus, calendar/diary, ERC, and even multiple web browsers!) use #Elisp to shoehorn themselves into an environment designed to edit text documents.
You’re so blinkered by the ubiquity of apps shoehorned inside apps that you’ve forgotten the compromises they introduce.