Closed hmanhng closed 8 months ago
Weird, in my config, save-place-mode
is working correctly.
Can you try to run Emacs in debug mode: MINEMACS_DEBUG=1 emacs
and share the content of the *Messages*
buffer
The position is not the same as when exiting
Can you test if this is valid for the first opened file or for all files?
Here is it
Loading /home/hmanhng/.minemacs.d/early-config.el (source)...done
Loading /nix/store/9mms3z06anpjpvwzd49n8gzrcayzpm2p-emacs-pgtk-29.1/share/emacs/site-lisp/site-start...done
Loading /home/hmanhng/.emacs.d/core/me-loaddefs.el (source)...done
Loading /home/hmanhng/.emacs.d/local/system-env.el (source)...done
[MinEmacs:Log] Setting up hook ‘minemacs-first-org-file-hook’ -- function ‘+first-file--org-h’ -- feature ‘minemacs-first-org-file’.
[MinEmacs:Log] Setting up hook ‘minemacs-first-elisp-file-hook’ -- function ‘+first-file--elisp-h’ -- feature ‘minemacs-first-elisp-file’.
[MinEmacs:Log] Setting up hook ‘minemacs-first-file-hook’ -- function ‘+first-file--h’ -- feature ‘minemacs-first-file’.
Loading /home/hmanhng/.emacs.d/core/me-modules.el (source)...done
Loading /home/hmanhng/.minemacs.d/modules.el (source)...done
Loading /home/hmanhng/.emacs.d/core/me-splash.el (source)...done
Loading /home/hmanhng/.emacs.d/core/me-bootstrap.el (source)...done
Loading /home/hmanhng/.emacs.d/core/me-builtin.el (source)...
Configuring package emacs...done
Configuring package tab-bar...done
Configuring package electric...done
Power AC, battery Not charging (97.9% load, remaining time N/A)
Loading /home/hmanhng/.emacs.d/core/me-builtin.el (source)...done
Loading /home/hmanhng/.emacs.d/core/me-gc.el (source)...done
Loading /home/hmanhng/.emacs.d/core/me-fonts.el (source)...done
Loading /home/hmanhng/.emacs.d/core/me-keybindings.el (source)...done
Loading /home/hmanhng/.emacs.d/core/me-evil.el (source)...done
Loading /home/hmanhng/.emacs.d/core/me-core-ui.el (source)...done
Loading /home/hmanhng/.emacs.d/core/me-completion.el (source)...done
Loading /home/hmanhng/.emacs.d/modules/me-ui.el (source)...done
Loading /home/hmanhng/.emacs.d/modules/me-editor.el (source)...done
Loading /home/hmanhng/.emacs.d/modules/me-undo.el (source)...
Loading package undo-fu-session...done
Loading /home/hmanhng/.emacs.d/modules/me-undo.el (source)...done
Loading /home/hmanhng/.emacs.d/modules/me-vc.el (source)...done
Loading /home/hmanhng/.emacs.d/modules/me-project.el (source)...done
Loading /home/hmanhng/.emacs.d/modules/me-prog.el (source)...done
Loading /home/hmanhng/.emacs.d/modules/me-checkers.el (source)...done
Loading /home/hmanhng/.emacs.d/modules/me-emacs-lisp.el (source)...done
Loading /home/hmanhng/.emacs.d/modules/me-data.el (source)...done
Loading /home/hmanhng/.emacs.d/modules/me-org.el (source)...done
Loading /home/hmanhng/.emacs.d/modules/me-tools.el (source)...done
Loading /home/hmanhng/.emacs.d/modules/me-tty.el (source)...done
Loading /home/hmanhng/.emacs.d/modules/me-window.el (source)...done
Loading /home/hmanhng/.minemacs.d/config.el (source)...done
[MinEmacs:Log] Loaded init.el
[MinEmacs:Log] =============== Loaded Emacs ===============
[MinEmacs:Info] Loaded Emacs in 1.510869 seconds.
[MinEmacs:Log] Applying ‘minemacs-fonts’.
[MinEmacs:Log] Loading user theme: catppuccin
[MinEmacs:Log] Running 27 ‘minemacs-after-startup-hook’ hooks.
Configuring package which-key...done
Loading package general...
Configuring package general...done
Loading package general...done
Configuring package evil...done
Configuring package anzu...done
Configuring package nerd-icons...done
Configuring package doom-modeline...done
Configuring package solaire-mode...done
Configuring package corfu...done
Loading package nerd-icons-corfu...
Configuring package nerd-icons-corfu...done
Loading package nerd-icons-corfu...done
Configuring package corfu-history...done
Loading package vertico-directory...done
Configuring package pulsar...done
Configuring package treesit-auto...done
[MinEmacs:Log] Providing ‘minemacs-loaded’.
Loading package project...done
Loading package recentf...
Configuring package recentf...
Loading /home/hmanhng/.emacs.d/local/recentf-save.el (source)...done
Cleaning up the recentf list...done (0 removed)
Configuring package recentf...done
Loading package recentf...done
Loading package pixel-scroll...
Configuring package pixel-scroll...done
Loading package pixel-scroll...done
Loading package windmove...
Configuring package windmove...done
Loading package windmove...done
Loading package evil-collection...
Configuring package evil-collection...done
Loading package evil-collection...done
Loading package cape...
Configuring package cape...done
Loading package cape...done
Loading package orderless...done
Loading package elisp-demos...done
Loading package eros...
Configuring package eros...done
Loading package eros...done
[MinEmacs:Log] Loading the default persistent scratch buffer.
[MinEmacs:Log] Reading persistent scratch from /home/hmanhng/.emacs.d/local/pscratch/__default.el
[MinEmacs:Log] Settinng face ‘default’ to ‘(:family IBM Plex Mono :height 170)’
[MinEmacs:Log] Settinng face ‘fixed-pitch’ to ‘(:inherit default)’
[MinEmacs:Log] Settinng face ‘fixed-pitch-serif’ to ‘(:inherit default)’
[MinEmacs:Log] Settinng face ‘variable-pitch’ to ‘(:family Roboto)’
[MinEmacs:Log] Settinng script ‘emoji’ to ‘(:family Noto Color Emoji)’
[MinEmacs:Log] Running task 1, calling function ‘(closure (t) nil (require 'minemacs-laz…’
[MinEmacs:Log] Loading 1 lazy packages incrementally.
[MinEmacs:Log] Providing ‘minemacs-lazy’.
[MinEmacs:Log] Running task 4, calling function ‘(closure (t) nil (if (featurep 'native-…’
[MinEmacs:Info] Trying to clean outdated native compile cache
Cache cleared
[MinEmacs:Info] Trying to clean outdated straight build cache
[MinEmacs:Info] Trying to clean MinEmacs’ root directory
[MinEmacs:Log] Running task 3, calling function ‘(closure (t) nil (if (server-running-p)…’
[MinEmacs:Log] Running task 2, calling function ‘gcmh-mode’
Configuring package consult...done
Thanks @hmanhng
Can you redo it again but open a file after Emacs gets loaded! Otherwise I can't see if the hook is executed or not.
Please, can you try also if only the first opened file which doesn't restore its position or if it is valid for all opened files?
Can you test if this is valid for the first opened file or for all files?
oh it seems it only errors with the first file I open, with other files it works
Loading /home/hmanhng/.minemacs.d/early-config.el (source)...done
Loading /nix/store/9mms3z06anpjpvwzd49n8gzrcayzpm2p-emacs-pgtk-29.1/share/emacs/site-lisp/site-start...done
Loading /home/hmanhng/.emacs.d/core/me-loaddefs.el (source)...done
Loading /home/hmanhng/.emacs.d/local/system-env.el (source)...done
[MinEmacs:Log] Setting up hook ‘minemacs-first-org-file-hook’ -- function ‘+first-file--org-h’ -- feature ‘minemacs-first-org-file’.
[MinEmacs:Log] Setting up hook ‘minemacs-first-elisp-file-hook’ -- function ‘+first-file--elisp-h’ -- feature ‘minemacs-first-elisp-file’.
[MinEmacs:Log] Setting up hook ‘minemacs-first-file-hook’ -- function ‘+first-file--h’ -- feature ‘minemacs-first-file’.
Loading /home/hmanhng/.emacs.d/core/me-modules.el (source)...done
Loading /home/hmanhng/.minemacs.d/modules.el (source)...done
Loading /home/hmanhng/.emacs.d/core/me-splash.el (source)...done
Loading /home/hmanhng/.emacs.d/core/me-bootstrap.el (source)...done
Loading /home/hmanhng/.emacs.d/core/me-builtin.el (source)...
Configuring package emacs...done
Configuring package tab-bar...done
Configuring package electric...done
Power AC, battery Not charging (97.9% load, remaining time N/A)
Loading /home/hmanhng/.emacs.d/core/me-builtin.el (source)...done
Loading /home/hmanhng/.emacs.d/core/me-gc.el (source)...done
Loading /home/hmanhng/.emacs.d/core/me-fonts.el (source)...done
Loading /home/hmanhng/.emacs.d/core/me-keybindings.el (source)...done
Loading /home/hmanhng/.emacs.d/core/me-evil.el (source)...done
Loading /home/hmanhng/.emacs.d/core/me-core-ui.el (source)...done
Loading /home/hmanhng/.emacs.d/core/me-completion.el (source)...done
Loading /home/hmanhng/.emacs.d/modules/me-ui.el (source)...done
Loading /home/hmanhng/.emacs.d/modules/me-editor.el (source)...done
Loading /home/hmanhng/.emacs.d/modules/me-undo.el (source)...
Loading package undo-fu-session...done
Loading /home/hmanhng/.emacs.d/modules/me-undo.el (source)...done
Loading /home/hmanhng/.emacs.d/modules/me-vc.el (source)...done
Loading /home/hmanhng/.emacs.d/modules/me-project.el (source)...done
Loading /home/hmanhng/.emacs.d/modules/me-prog.el (source)...done
Loading /home/hmanhng/.emacs.d/modules/me-checkers.el (source)...done
Loading /home/hmanhng/.emacs.d/modules/me-emacs-lisp.el (source)...done
Loading /home/hmanhng/.emacs.d/modules/me-data.el (source)...done
Loading /home/hmanhng/.emacs.d/modules/me-org.el (source)...done
Loading /home/hmanhng/.emacs.d/modules/me-tools.el (source)...done
Loading /home/hmanhng/.emacs.d/modules/me-tty.el (source)...done
Loading /home/hmanhng/.emacs.d/modules/me-window.el (source)...done
Loading /home/hmanhng/.minemacs.d/config.el (source)...done
[MinEmacs:Log] Loaded init.el
[MinEmacs:Log] =============== Loaded Emacs ===============
[MinEmacs:Info] Loaded Emacs in 1.684089 seconds.
[MinEmacs:Log] Applying ‘minemacs-fonts’.
[MinEmacs:Log] Loading user theme: catppuccin
[MinEmacs:Log] Running 27 ‘minemacs-after-startup-hook’ hooks.
Configuring package which-key...done
Loading package general...
Configuring package general...done
Loading package general...done
Configuring package evil...done
Configuring package anzu...done
Configuring package nerd-icons...done
Configuring package doom-modeline...done
Configuring package solaire-mode...done
Configuring package corfu...done
Loading package nerd-icons-corfu...
Configuring package nerd-icons-corfu...done
Loading package nerd-icons-corfu...done
Configuring package corfu-history...done
Loading package vertico-directory...done
Configuring package pulsar...done
Configuring package treesit-auto...done
[MinEmacs:Log] Providing ‘minemacs-loaded’.
Loading package project...done
Loading package recentf...
Configuring package recentf...
Loading /home/hmanhng/.emacs.d/local/recentf-save.el (source)...done
Cleaning up the recentf list...done (0 removed)
Configuring package recentf...done
Loading package recentf...done
Loading package pixel-scroll...
Configuring package pixel-scroll...done
Loading package pixel-scroll...done
Loading package windmove...
Configuring package windmove...done
Loading package windmove...done
Loading package evil-collection...
Configuring package evil-collection...done
Loading package evil-collection...done
Loading package cape...
Configuring package cape...done
Loading package cape...done
Loading package orderless...done
Loading package elisp-demos...done
Loading package eros...
Configuring package eros...done
Loading package eros...done
[MinEmacs:Log] Loading the default persistent scratch buffer.
[MinEmacs:Log] Reading persistent scratch from /home/hmanhng/.emacs.d/local/pscratch/__default.el
[MinEmacs:Log] Settinng face ‘default’ to ‘(:family IBM Plex Mono :height 180)’
[MinEmacs:Log] Settinng face ‘fixed-pitch’ to ‘(:inherit default)’
[MinEmacs:Log] Settinng face ‘fixed-pitch-serif’ to ‘(:inherit default)’
[MinEmacs:Log] Settinng face ‘variable-pitch’ to ‘(:family Roboto)’
[MinEmacs:Log] Settinng script ‘emoji’ to ‘(:family Noto Color Emoji)’
Quit
[MinEmacs:Log] Running 5 ‘minemacs-first-file-hook’ hooks.
Loading package epa-file...
Configuring package epa-file...
‘epa-file’ already enabled
Configuring package epa-file...done
Loading package epa-file...done (0.120s)
Configuring package super-save...done
[MinEmacs:Log] Running 0 ‘minemacs-first-org-file-hook’ hooks.
Loading package oc-csl...
Configuring package bibtex...done
Loading package oc-csl...done (0.132s)
Loading package oc-natbib...done
Loading package oc-biblatex...done
Loading package ob-mermaid...
Configuring package ob-mermaid...done
Loading package ob-mermaid...done
Loading package ob-d2...
Configuring package ob-d2...done
Loading package ob-d2...done
Configuring package org...done (0.543s)
Loading package org-indent...done
Loading package oc...
Configuring package oc...done
Loading package oc...done
Loading package me-org-extras...
Configuring package me-org-extras...
LaTeX numbering enabled.
Configuring package me-org-extras...done
Loading package me-org-extras...done
Loading package org-contrib...done
Configuring package tempel...done
Loading package tempel-collection...done
Loading package evil-org-agenda...
Configuring package evil-org-agenda...done
Loading package evil-org-agenda...done
Configuring package org-appear...done
Configuring package ssh-deploy...done
Configuring package hl-todo...done
Configuring package highlight-numbers...done
Configuring package compile...done
Configuring package flymake...done
Configuring package parinfer-rust-mode...done
[MinEmacs:Log] Running task 1, calling function ‘(closure (t) nil (require 'minemacs-laz…’
[MinEmacs:Log] Loading 1 lazy packages incrementally.
[MinEmacs:Log] Providing ‘minemacs-lazy’.
[MinEmacs:Log] Running task 4, calling function ‘(closure (t) nil (if (featurep 'native-…’
[MinEmacs:Info] Trying to clean outdated native compile cache
Cache cleared
[MinEmacs:Info] Trying to clean outdated straight build cache
[MinEmacs:Info] Trying to clean MinEmacs’ root directory
[MinEmacs:Log] Running task 3, calling function ‘(closure (t) nil (if (server-running-p)…’
[MinEmacs:Info] Started Emacs daemon in background.
[MinEmacs:Log] Running task 2, calling function ‘gcmh-mode’
Configuring package consult...done
Error in post-command-hook (selection-highlight-mode-post-command-hook): (args-out-of-range #<buffer *Messages*> 1 7208)
Thank you for your responsiveness.
Well, as I see, the hooks are running correctly after opening the first file:
[MinEmacs:Log] Running 5 ‘minemacs-first-file-hook’ hooks.
I will push a small fix so it enables save-place-mode
before that.
Can you try it now please ? @hmanhng
Well, as I see, the hooks are running correctly after opening the first file:
That's after I opened up emacs and find-find
and open a new file
if I just MINEMACS_DEBUG=1 emacs readme.org
it won't be loaded. Here
Loading /home/hmanhng/.minemacs.d/early-config.el (source)...done
Loading /nix/store/9mms3z06anpjpvwzd49n8gzrcayzpm2p-emacs-pgtk-29.1/share/emacs/site-lisp/site-start...done
Loading /home/hmanhng/.emacs.d/core/me-loaddefs.el (source)...done
Loading /home/hmanhng/.emacs.d/local/system-env.el (source)...done
[MinEmacs:Log] Setting up hook ‘minemacs-first-org-file-hook’ -- function ‘+first-file--org-h’ -- feature ‘minemacs-first-org-file’.
[MinEmacs:Log] Setting up hook ‘minemacs-first-elisp-file-hook’ -- function ‘+first-file--elisp-h’ -- feature ‘minemacs-first-elisp-file’.
[MinEmacs:Log] Setting up hook ‘minemacs-first-file-hook’ -- function ‘+first-file--h’ -- feature ‘minemacs-first-file’.
Loading /home/hmanhng/.emacs.d/core/me-modules.el (source)...done
Loading /home/hmanhng/.minemacs.d/modules.el (source)...done
Loading /home/hmanhng/.emacs.d/core/me-splash.el (source)...done
Loading /home/hmanhng/.emacs.d/core/me-bootstrap.el (source)...done
Loading /home/hmanhng/.emacs.d/core/me-builtin.el (source)...
Configuring package emacs...done
Configuring package tab-bar...done
Configuring package electric...done
Power AC, battery Not charging (97.9% load, remaining time N/A)
Loading /home/hmanhng/.emacs.d/core/me-builtin.el (source)...done
Loading /home/hmanhng/.emacs.d/core/me-gc.el (source)...done
Loading /home/hmanhng/.emacs.d/core/me-fonts.el (source)...done
Loading /home/hmanhng/.emacs.d/core/me-keybindings.el (source)...done
Loading /home/hmanhng/.emacs.d/core/me-evil.el (source)...done
Loading /home/hmanhng/.emacs.d/core/me-core-ui.el (source)...done
Loading /home/hmanhng/.emacs.d/core/me-completion.el (source)...done
Loading /home/hmanhng/.emacs.d/modules/me-ui.el (source)...done
Loading /home/hmanhng/.emacs.d/modules/me-editor.el (source)...done
Loading /home/hmanhng/.emacs.d/modules/me-undo.el (source)...
Loading package undo-fu-session...done
Loading /home/hmanhng/.emacs.d/modules/me-undo.el (source)...done
Loading /home/hmanhng/.emacs.d/modules/me-vc.el (source)...done
Loading /home/hmanhng/.emacs.d/modules/me-project.el (source)...done
Loading /home/hmanhng/.emacs.d/modules/me-prog.el (source)...done
Loading /home/hmanhng/.emacs.d/modules/me-checkers.el (source)...done
Loading /home/hmanhng/.emacs.d/modules/me-emacs-lisp.el (source)...done
Loading /home/hmanhng/.emacs.d/modules/me-data.el (source)...done
Loading /home/hmanhng/.emacs.d/modules/me-org.el (source)...done
Loading /home/hmanhng/.emacs.d/modules/me-tools.el (source)...done
Loading /home/hmanhng/.emacs.d/modules/me-tty.el (source)...done
Loading /home/hmanhng/.emacs.d/modules/me-window.el (source)...done
Loading /home/hmanhng/.minemacs.d/config.el (source)...done
[MinEmacs:Log] Loaded init.el
Loading package oc-csl...
Configuring package bibtex...done
Loading package oc-csl...done (0.129s)
Loading package oc-natbib...done
Loading package oc-biblatex...done
Configuring package org...done (0.881s)
Loading package org-indent...done
Loading package oc...
Configuring package oc...done
Loading package oc...done
Loading package me-org-extras...
Configuring package me-org-extras...
LaTeX numbering enabled.
Configuring package me-org-extras...done
Loading package me-org-extras...done
Loading package org-contrib...done
Configuring package tempel...done
Loading package tempel-collection...done
Loading package general...
Configuring package general...done
Loading package general...done
Configuring package evil...done
Loading package evil-org-agenda...
Configuring package evil-org-agenda...done
Loading package evil-org-agenda...done
Configuring package org-appear...done
Configuring package ssh-deploy...done
[MinEmacs:Log] =============== Loaded Emacs ===============
[MinEmacs:Info] Loaded Emacs in 2.253214 seconds.
[MinEmacs:Log] Applying ‘minemacs-fonts’.
[MinEmacs:Log] Loading user theme: catppuccin
[MinEmacs:Log] Running 27 ‘minemacs-after-startup-hook’ hooks.
Configuring package which-key...done
Configuring package anzu...done
Configuring package nerd-icons...done
Configuring package doom-modeline...done
Configuring package solaire-mode...done
Configuring package corfu...done
Loading package nerd-icons-corfu...
Configuring package nerd-icons-corfu...done
Loading package nerd-icons-corfu...done
Configuring package corfu-history...done
Loading package vertico-directory...done
Configuring package pulsar...done
Configuring package treesit-auto...done
[MinEmacs:Log] Providing ‘minemacs-loaded’.
Loading package project...done
Loading package recentf...
Configuring package recentf...
Loading /home/hmanhng/.emacs.d/local/recentf-save.el (source)...done
Cleaning up the recentf list...done (0 removed)
Configuring package recentf...done
Loading package recentf...done
Loading package pixel-scroll...
Configuring package pixel-scroll...done
Loading package pixel-scroll...done
Loading package windmove...
Configuring package windmove...done
Loading package windmove...done
Loading package evil-collection...
Configuring package evil-collection...done (0.131s)
Loading package evil-collection...done (0.170s)
Loading package cape...
Configuring package cape...done
Loading package cape...done
Loading package orderless...done
Loading package elisp-demos...done
Loading package eros...
Configuring package eros...done
Loading package eros...done
[MinEmacs:Log] Loading the default persistent scratch buffer.
[MinEmacs:Log] Reading persistent scratch from /home/hmanhng/.emacs.d/local/pscratch/__default.el
[MinEmacs:Log] Settinng face ‘default’ to ‘(:family IBM Plex Mono :height 180)’
[MinEmacs:Log] Settinng face ‘fixed-pitch’ to ‘(:inherit default)’
[MinEmacs:Log] Settinng face ‘fixed-pitch-serif’ to ‘(:inherit default)’
[MinEmacs:Log] Settinng face ‘variable-pitch’ to ‘(:family Roboto)’
[MinEmacs:Log] Settinng script ‘emoji’ to ‘(:family Noto Color Emoji)’
Configuring package hl-todo...done
Configuring package highlight-numbers...done
Configuring package compile...done
Configuring package flymake...done
Configuring package parinfer-rust-mode...done
Configuring package consult...done
[MinEmacs:Log] Running task 1, calling function ‘(closure (t) nil (require 'minemacs-laz…’
[MinEmacs:Log] Loading 1 lazy packages incrementally.
[MinEmacs:Log] Providing ‘minemacs-lazy’.
[MinEmacs:Log] Running task 4, calling function ‘(closure (t) nil (if (featurep 'native-…’
[MinEmacs:Info] Trying to clean outdated native compile cache
Cache cleared
[MinEmacs:Info] Trying to clean outdated straight build cache
[MinEmacs:Info] Trying to clean MinEmacs’ root directory
[MinEmacs:Log] Running task 3, calling function ‘(closure (t) nil (if (server-running-p)…’
[MinEmacs:Info] Started Emacs daemon in background.
[MinEmacs:Log] Running task 2, calling function ‘gcmh-mode’
Mark saved where search started [2 times]
or: Beginning of buffer [2 times]
or: Beginning of buffer
Can you try it now please ? @hmanhng
i will try now
Looks like it's not working yet.
if I just
MINEMACS_DEBUG=1 emacs readme.org
it won't be loaded. Here
Yep, the current implementation doesn't run the hook on the first file if passed as an argument. I will try to fix it later, but for the moment, this doesn't bother me that much.
I think that can fix with :init (save-place-mode)
It seems that sava-place-mode
needs to be loaded before loading the package, this issue is similar to undo-fu-session
, if you put it in a hook after loading emacs it won't work properly, undo history doesn't work -> vundo
doesn't work.
Also minemacs-first-file-hook
is not loaded the first time the file is opened which is quite annoying when the *-modes you put in are not loaded like evcrc
, selection-hightlight
, ...
Yep, you're right, @hmanhng.
In my workflow, I never open a file with Emacs from GUI ("double-clicking" a file or "open with Emacs", ...), so I didn't notice these issues.
I will push a fix for this later. Thank you for bringing it to my attention.
I think that can fix with
:init (save-place-mode)
It seems thatsava-place-mode
needs to be loaded before loading the package, this issue is similar toundo-fu-session
, if you put it in a hook after loading emacs it won't work properly, undo history doesn't work ->vundo
doesn't work.I created a pull request for
save-place
andundo-fu-session
that fixes this
I've pushed fixes for both of them. There is no need to enable undo-fu-session
in :init
. This isn't working because undo-fu-session
global mode has bee renamed and I didn't notice it. Now it should be fixed.
I've pushed fixes for both of them. There is no need to enable
undo-fu-session
in:init
. This isn't working becauseundo-fu-session
global mode has bee renamed and I didn't notice it. Now it should be fixed.
hmm, undo-fu-session
may work but only if you are keep running emacs, after exiting emacs and reopening the file, it cannot be undo history.
Yep, you're right, I've just tested it. I've pushed a fix for it, thanks again!
@abougouffa I think this issue is still not fixed, minemacs-first-file-hook
still cannot start the first time
Additionally, I got an issue similar to the following:
Steps to reproduce the behavior:
Put in config.el
(+deferred!
(+eglot-register '(java-mode java-ts-mode) `("jdt-language-server" "-data" ,(expand-file-name "java-workspace" minemacs-cache-dir)))
(+eglot-auto-enable)
;; Auto enable eglot
(with-eval-after-load 'eglot
;; You can use this to fill `+eglot-auto-enable-modes' with all supported
;; modes from `eglot-server-programs'
(+eglot-use-on-all-supported-modes eglot-server-programs)))
If I replace the following it works
(add-hook 'java-mode-hook #'eglot-ensure)
(+deferred!
(+eglot-register '(java-mode java-ts-mode) `("jdt-language-server" "-data" ,(expand-file-name "java-workspace" minemacs-cache-dir)))
;; (+eglot-auto-enable)
;; Auto enable eglot
(with-eval-after-load 'eglot
;; You can use this to fill `+eglot-auto-enable-modes' with all supported
;; modes from `eglot-server-programs'
(+eglot-use-on-all-supported-modes eglot-server-programs)))
If I add (add-hook 'java-mode-hook #'eglot-ensure)
in (+deferred!...) as follows also doesn't work
(+deferred!
(+eglot-register '(java-mode java-ts-mode) `("jdt-language-server" "-data" ,(expand-file-name "java-workspace" minemacs-cache-dir)))
(add-hook 'java-mode-hook #'eglot-ensure)
;; (+eglot-auto-enable)
;; Auto enable eglot
(with-eval-after-load 'eglot
(+eglot-use-on-all-supported-modes eglot-server-programs)))
Both minemacs-first-file-hook
and the above example have the same problem, when you add a language hook like java-mode-hook
after minemacs-loaded
it doesn't work
Thank you for the feedback @hmanhng
I'm reopening the issue and I will take a look at it later. Thanks again!
@hmanhng
The Eglot issue isn't related to minemacs-first-file-hook
.
The documentation for the +eglot-auto-enable
says:
Signature
(+eglot-auto-enable)
Documentation
Auto-enable Eglot in configured modes in
+eglot-auto-enable-modes
.
So you need to add java-mode
to +eglot-auto-enable-modes
, the default value doesn't include Java.
Documentation for +eglot-auto-enable-modes
is:
Value
(c++-mode c++-ts-mode c-mode c-ts-mode python-mode python-ts-mode rust-mode rust-ts-mode cmake-mode js-mode js-ts-mode typescript-mode typescript-ts-mode json-mode json-ts-mode js-json-mode)
Documentation
Modes for which Eglot can be automatically enabled by +eglot-auto-enable.
I've pushed a fix for better invocation of minemacs-first-file-hook
, testing is appreciated!
It seems that (+eglot-use-on-all-supported-modes eglot-server-programs)
isn't working correctly, I will take a look at it later.
I've pushed a fix for better invocation of
minemacs-first-file-hook
, testing is appreciated!
Now minemacs-first-file-hook
work perfect
It seems that
(+eglot-use-on-all-supported-modes eglot-server-programs)
isn't working correctly, I will take a look at it later.
Even if I added the following
(+deferred!
(+eglot-register '(java-mode java-ts-mode) `("jdt-language-server" "-data" ,(expand-file-name "java-workspace" minemacs-cache-dir)))
(add-to-list '+eglot-auto-enable-modes 'java-mode)
(+eglot-auto-enable))
or
(+deferred!
(+eglot-register '(java-mode java-ts-mode) `("jdt-language-server" "-data" ,(expand-file-name "java-workspace" minemacs-cache-dir)))
(add-to-list '+eglot-auto-enable-modes 'java-mode))
(+eglot-auto-enable)
+eglot-auto-enable-modes
got java-mode
but eglot still doesn't work, the problem probably lies (+eglot-auto-enable)
.
not only with java-mode
, I tried with built-in cpp, ...
, neither worked.
Thank you again @hmanhng , I really appreciate your help!
I will take a look at Eglot auto enable (I'm not using it in my config, hence, I didn't notice that it is not working).
@abougouffa I tried again 1 time with (add-to-list '+eglot-auto-enable-modes 'java-mode)
(+eglot-auto-enable)
outside `(+deferred! ...) , it works normally.
(add-to-list '+eglot-auto-enable-modes 'java-mode)
(+eglot-auto-enable)
(+deferred!
(+eglot-register
'(java-mode java-ts-mode) `("jdt-language-server" "-data" ,(expand-file-name "java-workspace" minemacs-cache-dir))))
If you include (+eglot-auto-enable)
or (add-hook 'java-mode-hook #'eglot-ensure)
in (+deferred!..)
it will not work.
Is the problem that language-mode-hook
is loaded before minemacs-loaded
so injecting the hook after it has been loaded has no effect, even though Ch o
still shows java- mode-hook
has eglot-ensure
?
Also I checked (+eglot-use-on-all-supported-modes eglot-server-programs)
is not wrong but eglot-server-programs
is only created when eglot
is enabled, does that mean:
+eglot-use-on-all-supported-modes ----> eglot-server-programs -----> eglot -----> +eglot-auto-enable
^ |
| |
| ----------------------<<---------------<<------------------------ v
test with:
(with-eval-after-load 'eglot
(+eglot-register
'(java-mode java-ts-mode) `("jdt-language-server" "-data" ,(expand-file-name "java-workspace" minemacs-cache-dir)))
(+eglot-use-on-all-supported-modes eglot-server-programs))
(nconc +eglot-auto-enable-modes '(java-mode java-ts-mode))
(+eglot-auto-enable)
and enable in java-mode
It seems like just running emacs with the client will fix everything I will close the issue, thank for your help!
In order for this to work, you would need to call +eglot-auto-enable
after calling (+eglot-use-on-all-supported-modes eglot-server-programs)
. However, if you add additional modes to eglot-server-programs
with +eglot-register
for example, these modes won't be taken into account unless you've called (+eglot-use-on-all-supported-modes eglot-server-programs)
after that or add the mode to +eglot-auto-enable-modes
manually.
I admit, this is too technical and needs to know the internal implementation details of these functions.
I will try to implement this in a more convenient manner.
@hmanhng
The last commit 26f678455a65ee6d238908d7d1499f3ba0eaaebf changes the logic of +eglot-auto-enable
, now it should work independently of when you set +eglot-auto-enable-modes
or call +eglot-use-on-all-supported-modes
Thank you very much for your help, I did (use-packages lang ... )
to make it more convenient for custom language configuration.
I've always been looking for an emacs
configuration without deamon
, but it seems difficult for emacs
due to the number of packages and long loading time compared to neovim
. Just for the inconvenience wm hyprland
does not swallow emacsclient
(works with emacs
) when I open a file from terminal (emacsclient -nw -c file
).
I will have to get used to that. You should also add to your docs that those using configuration should use emacsclient
. Using only emacs
will cause problems due to packages being load lazy.
Anyway thank you very much for your help. I don't have the time or good enough knowledge to learn elisp
so I will use your minemacs
as the core for my configuration instead of doomemacs
@hmanhng MinEmacs is not intended to work only on daemon, I use it in both daemon and non-daemon mode and it should work correctly. Please don't hesitate to report any issues caused by Emacs being run in a non daemon mode.
Thank you for the feedback.
I usually open the terminal and open a file with emacs from here emacs file
. Unlike others who will open emacs
, search and open files in it. It seems that opening emacs with files is quite slow so I used emacsclient
.
Also if necessary I will report back the issue I get when using emacs file
, which probably only appear with things that need to be loaded early with the language hook.
Thank you for your assistance.
Also if necessary I will report back the issue I get when using
emacs file
, which probably only appear with things that need to be loaded early with the language hook.
Yes, please, I'll really appreciate that.
Describe the bug save-place-mode is enabled but inactive
Emacs version
To Reproduce Steps to reproduce the behavior:
Screenshots![image](https://github.com/abougouffa/minemacs/assets/64454245/ae5e6e44-aff4-41e1-876e-7e05b266addc)
Additional context
minemacs-first-file-hook
don't run when opening any file I tried running the hook(run-hooks 'minemacs-first-file-hook)
in config.el and it worked.