• 1 Post
  • 9 Comments
Joined 1 year 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.


  • 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.




  • geza42@alien.topBtoEmacs@communick.newsEmacs: ediff basics
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year 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.


  • geza42@alien.topBtoEmacs@communick.newsc-ts-mode issue
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year 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.