• 1 Post
  • 9 Comments
Joined 11 months ago
cake
Cake day: October 11th, 2023

help-circle
  • I simply use:

    (defun my-recompile-init-eln ()
      (interactive)
      (byte-compile-file "~/.emacs.d/early-init.el")
      (native-compile "~/.emacs.d/early-init.el")
      (byte-compile-file "~/.emacs.d/init.el")
      (native-compile "~/.emacs.d/init.el"))
    

    I use it manually, but I don’t care too much because I don’t edit my init files too often anymore. But it shouldn’t be too hard to run this function automatically at boot if the .elc is outdated compared to the .el.


  • geza42BtoEmacs@communick.newsHello lag, my old friend
    link
    fedilink
    English
    arrow-up
    1
    ·
    10 months ago

    That is not true. There are some features which makes only the GUI version slower, but it’s definitely not “almost always” that the GUI is the reason. There are a lot of features/packages which makes Emacs slower in general, no matter GUI/TUI.

    So profiling, or bisecting the init file can be used find out the problem.




  • geza42BtoEmacs@communick.newsEmacs: ediff basics
    link
    fedilink
    English
    arrow-up
    1
    ·
    10 months ago

    This has nothing to do with the diff program. Ediff is not able to highlight whitespace differences like it highlights non-whitespace differences. Maybe it is possible to do somehow, but by default, whitespace differences generate a diff region with no highlights (or as ediff calls it, refinements).

    It is because highlights are done on word level, and whitespaces are not words.


  • geza42BtoEmacs@communick.newsc-ts-mode issue
    link
    fedilink
    English
    arrow-up
    1
    ·
    10 months ago

    Emacs has electric-indent-chars. Whenever a character in this set is pressed, Emacs re-indents the current line. And as the indentation calculation is not perfect, it can happen that when you create a new line, its indentation calculated incorrectly, and during editing you press some electric-indent-char, which then re-indents the line.


  • For minibuffer completion, I created this, kind of works, but if there is an already developed, fully working solution, I’d rather use that. And I’m still interested in for a solution to use in a normal buffer that corfu could use.

    (defun my-consult-fd-string (&optional dir initial)
      (interactive "P")
      (setq this-command 'consult-fd)
      (pcase-let* ((`(,prompt ,paths ,dir) (consult--directory-prompt "Fd" dir))
    	   (default-directory dir)
    	   (builder (consult--fd-make-builder paths)))
    (concat dir (consult--find prompt builder initial))))
    
    (defun my-consult-insert-fd-string ()
      (interactive)
      (insert
       (abbreviate-file-name
    (let ((f (bounds-of-thing-at-point 'filename)))
      (if f
          (let ((r (my-consult-fd-string (buffer-substring-no-properties (car f) (cdr f)) nil)))
    	(delete-region (car f) (cdr f))
    	r)
        (my-consult-fd-string t nil))))))
    (define-key minibuffer-local-map (kbd "M-f") 'my-consult-insert-fd-string)
    


  • I think one has to be pragmatic, and only put effort to features that are actually useful. Don’t put hours writing an elisp function which only saves you 10 seconds in a month. I’m saying this, because I had to stop myself from spending time on Emacs. I realized that my config is OK for me. I still have a lot of ideas how to make it better, but I simply don’t do them, because it doesn’t matter too much. Of course, I still do smaller tweaks, but otherwise I spend my time on more useful things. If someone had told me this before I started using emacs, they would have saved several days of not-too-useful emacs configuration for me. Of course, it was fun, I did it as a hobby, but still, it wasn’t the smartest way to spend my free time.