macvim-dev / macvim-dev/macvim
`macaction terminate:` (also quit via Cmd-q/logout/reboot) ignores `set confirm`
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- Vim Script
- Estrellas
- 7.9k
- Forks
- 691
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
Steps to reproduce
- Run
set confirm - Create a few buffers with unsaved changes (doesn't matter if the buffers are backed by files or not).
- Run command
macaction terminate:, or press Cmd-Q, or reboot machine.
Expected behaviour
The setting set confirm should prompt for each unsaved buffer whether you are okay with discarding changes. However, macaction terminate: completely ignores this setting, and just shows a dialog that doesn't mention any file names:
Quit without saving?
There are modified buffers, if you quit now all changes will be lost. Quit anyway?
It appears that macaction terminate: skips a lot of normal Vim exit code as well - autocommands like VimLeavePre do not run.
Version of MacVim
r181
MacVim installation method
GitHub release
Environment
macOS 15.4.1 Sequoia
Logs and stack traces
N/A
Vim and MacVim configuration where issue is reproducable
Doesn't appear to depend on config. I tested both with mvim --clean and my usual config, https://github.com/telotortium/vimrc
How was MacVim launched?
- by launching MacVim.app in macOS (by using the Dock, Spotlight, or the
opencommand) - by running mvim/gvim in the terminal
Issue has been tested with clean configuration
- by running
mvim --clean(orgvim, supplied by MacVim distribution). You can also use the File → "New Clean Window" menu item within MacVim. - by running
vim --clean(in terminal, supplied by MacVim distribution) - by running
vim --clean(in terminal, other suppliers, e.g. /usr/bin/vim)
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Comienza por el manejo de macaction terminate: y compáralo con la ruta normal de salida de Vim, usando las rutas de Cmd-Q y de cierre de sesión/reinicio indicadas como casos de reproducción. Reproduce el problema con mvim --clean, set confirm y buffers sin guardar; el trabajo está terminado cuando se confirma cada buffer y VimLeavePre se ejecuta durante la terminación.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- macos, vim
- Área
- desktop
- Tipo de issue
- Error
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 38/100