this is caused by the home buffer loading build-in
org which conflicts with elpa org.
We actually want to use elpa org exclusively so we have
to make sure to redraw the spacemacs buffer only
after we have finished loading the layers.
In addition latest org version 9.6 and the behaviour
on emacs 29 has also changed so that org is autoloaded
much earlier than before. This is what actually did
make this bug show up.
However this behaviour was in place since a long time
and could be the cause for a lot of unreproducible
bugs as the actual conflicts are dependent on the
distribution specific emacs version.
Known issues:
This is a hotfix it solves the original issue but
introduces a new, hopefully less dangerous issue,
this is for now the start buffer is not configurable.
I will add a follow up PR to remove this issue however
I think this is far less annoying than a set of random
conflicts caused by loading elisp files from different org
sources.
they should all point to https://develop.spacemacs.org
instead.
I have also removed the warning from the
develop documentation as this is now the recommended
branch.
There is an unreported bug that when startup list is set to shown `recents-by-project`,
Emacs reports that `projectile-mode` is an unknown symbol.
This commit fixed this bug by checking the existence of `projectile-mode`, which is
automatically loaded during startup.
A final 'force push' to PR #15574 implemented functionality to make the banner
size depend on the actual 'startup list' instead of the configured maximum
startup list size. However, that 'new' functionality uses
`spacemacs-buffer//do-insert-startupify-lists` which activates `recentf-mode`,
and unfortunately, activating `recentf-mode` this early in the startup process
somehow breaks recentf functionality, see comments at
a485b5a84b.
This commit 'reverts' the functionality by making the banner size depend on the
configured maximum startup list size.
The default logo is rather big. Users might prefer to use the screen size for
other information (while still showing a banner).
This commit adds a configuration variable `dotspacemacs-startup-banner-scale`
to the dotfile
The script used to identify and update the change is added into the GitHub
workflows script directory. A workflow action can be created to trigger the
script to update the headers on the first of every new year. Possibly a task for
a consequent PR.
in #15421 core cannot find a certain text in the home buffer
to start adding additional elements. This did fail the
start up process.
Now if the starting point is not found the cursor is set
to the end of the buffer instead and no error is signaled.
This allows to still have the home buffer work as expected
even when the starting point has been somehow removed.
- Fixed a bug that when `all-the-icons` is excluded by user, Emacs reports
that using undefined `all-the-icons` functions.
- Changed the `spacemacs-buffer-mode` that now it derives from `special-mode`.
- Also defined a new command `spacemacs-buffer/return` which binds to `RET`
key in `spacemacs-buffer-mode`. It opens the button on the current line if
there's any, or move the cursor to next line.
This commit locks the spacemacs home buffer in read-only mode.
Before this, users may use `SPC b w` to toggle it to writable but
this buffer really should not be modified by users.
Note that, when we need to modify the home buffer in LISP program,
we can always set `inihibit-read-only` to nil. Thus this commit
won't disallow us to update the home buffer when it's needed.
problem
Opening the full release note, leaves the cursor at the
beginning of the second line after the preview.
solution
Leave the cursor at the beginning of the first line after the preview.
problem
The number keys searches for a line starting with a number,
from the beginning to the end of the buffer,
even if they are above or below the window.
solution
Only search for the visible number lines.
problem
It might not be clear how the note can be closed.
solution
Add a button: Close note
to the bottom right of the notes:
Quick Help and Release Notes
This also defines the Spacemacs home buffer key bindings,
in the `emacs-startup-hook`.
Because the keys were being defined to early,
before the new value of: `dotspacemacs-show-startup-list-numbers`
was set in `.spacemacs`.
Added support for jumping to two digit numbers.
How quickly two numbers have to be typed,
can be modified with the variable:
spacemacs-buffer-multi-digit-delay
problem:
Pressing a number key on the Spacemacs home buffer,
doesn't reliably open the expected recent file.
cause:
The number keys are bound to open the files in the
order they are listed in the `recentf-list`.
The `recentf-list` is updated when a file is saved.
The home buffers recent files list is only updated
when the home buffer is created/refreshed/resized.
solution:
Open the recent files in the order they were listed
when the home buffer was last updated.
Fixes: incorrect order number in recent files on home buffer #14471
Define named functions: spacemacs-buffer/jump-to-...
for the home buffer shortcuts. So that a descriptive name is shown,
in for example the view-lossage (C-h l) buffer.
Before:
r ;; anonymous-command
p ;; anonymous-command
After:
r ;; spacemacs-buffer/jump-to-recent-files
p ;; spacemacs-buffer/jump-to-projects
`dotspacemacs-startup-lists` by default shows a number of recent files and
projects as two separate lists. If I've been working with a lot of files in one
project, then all the recent files are from one project, even if I set `recents`
to a large amount like 24. This change allows me to see the recent files by
project. Suppose, for example, I have a `vegetables` project and a `fruit`
project, and set `dotspacemacs-startup-lists` to `(recents-by-file . (2 . 3))`.
In the home buffer I will see something like:
~/vegetables
lettuce.el
squash.el
tomatoes.el
~/fruit
apple.py
orange.py
banana.py
Even though only a subpath is displayed for each file, the click functionality
still works---i.e. the link still has the full path under the covers.
I originally asked a [question](https://emacs.stackexchange.com/q/62524/19069)
on Emacs StackExchange to see if there were any pointers or if this was already
a solved problem. After several days of receiving no answers, and having a
little time to poke at it, I figured I'd implement it myself.
What this does not cover: mixing recent files totally outside projects into this
list. Today they are just filtered out. That is a usecase I didn't need so I
figured that could be done in a subsequent pass if somebody wanted it.
The new variable was not following the naming conventions.
The file was not initialised in core-dotspacemacs.el.
The file was not part of the .spacemacs.template.