Eyebrowse stores window configurations for workspaces in frame properties.
These window configurations reference buffers by name, which means that
these references must be updated when a buffer is renamed. To this end,
eyebrowse advises rename-buffer.
Spacemacs integrates eyebrowse with persp-mode by saving the eyebrowse
workspaces for a perspective as a parameter for that perspective so that
Spacemacs can restore a perspective's workspaces when switching to that
perspective. However, eyebrowse's advice for rename-buffer fails to update
inactive workspaces, for which the window configurations are stored in
perspective parameters and not frame properties.
This commit disables eyebrowse's advice and adds perspective-aware advice
to update buffer references in workspace window configurations.
* layers/+spacemacs/spacemacs-layouts/funcs.el
(spacemacs//fixup-window-configs): New.
* layers/+spacemacs/spacemacs-layouts/packages.el
(spacemacs-layouts/init-eyebrowse): Remove eyebrowse-fixup-window-configs
advice for rename-buffer and advise with spacemacs//fixup-window-configs
instead.
Define an alias and use it internally so that (1) the name of the command will
be better to understand what it does than the original name and (2) Helm or Ivy
interface is invoked instead of Ido.
These are suggested in PR #11115.
Try again to fix issue #11176.
* layers/+source-control/github/packages.el (github/init-magithub): Disable
the GitHub project status, pull requests, and issues sections by default.
* layers/+source-control/github/README.org: Document that these sections
are all disabled by default, and how to enable them.
`SPC f e f` key binding is no more present, so moved that table entry to
`SPC h f` in DOCUMENTATION.org.
corrected description of paste transient-state behavior.
Syntax-checking and auto-complete layers should more
directly communicate that their function depends on
the installation of individual language layers to avoid
misunderstandings with new users who only install
syntax-checking or auto-complete and install the packages
manually.
Lexical binding is easier to reason about and it's generally recommended for new code. It's faster too.
Dynamic scoping can lead to tricky situations. Example: https://emacs.stackexchange.com/questions/10394/scope-in-lambda
This probably won't break existing code. Most people don't even know the default is dynamic binding.
This fixes issue #5776.
* layers/+spacemacs/spacemacs-layouts/packages.el
(spacemacs-layouts/init-persp-mode):
Set persp-add-buffer-on-after-change-major-mode to 'free.
Escape the filename before calling python on the filename in the shell in the
function `spacemacs/python-execute-file` by calling `shell-quote-argument`.
Fix issue #9477: spacemacs/smart-closing-parenthesis sometimes adds an
extra closing parenthesis.
spacemacs/smart-closing-parenthesis may call sp-up-sexp twice: first to
find the position of an existing closing delimiter or the position at which
one would be inserted, and second to insert a delimiter if necessary or
else move point after the existing closing delimiter.
The problem is that each call to sp-up-sexp may insert a delimiter, but
spacemacs/smart-closing-parenthesis is supposed to insert at most one.
The solution is to undo any edit performed by the first call to sp-up-sexp.
* layers/+spacemacs/spacemacs-editing/funcs.el: Undo any edit performed by
the first call to sp-up-sexp.
Fix SPC m c c (spacemacs/python-execute-file) and SPC m c C
(spacemacs/python-execute-file-focus), which were causing
the following errors:
save-current-buffer: Symbol’s value as variable is void: python-shell--interpreter
error in process filter: python-shell-comint-end-of-output-p: Wrong type argument: arrayp, nil
error in process filter: Wrong type argument: arrayp, nil
This commit also fixes issue #9070: spacemacs/python-execute-file-focus
does not change focus.
The problem is that spacemacs/python-execute-file-focus invokes
spacemacs/python-execute-file, spacemacs/python-execute-file invokes
inferior-python-mode, and inferior-python-mode uses the variables
python-shell--interpreter and python-shell--interpreter-args, which
the python package declares but does not initialize.
To resolve this problem, this commit initializes both variables to nil.
* layers/+lang/python/config.el: Initialize python-shell--interpreter and
python-shell--interpreter-args to nil.