{"id":30108907,"url":"https://github.com/ericcrosson/unkillable-scratch","last_synced_at":"2025-08-10T03:10:43.021Z","repository":{"id":28536098,"uuid":"32053079","full_name":"EricCrosson/unkillable-scratch","owner":"EricCrosson","description":"Disallow the *scratch* buffer from being killed","archived":false,"fork":false,"pushed_at":"2022-10-15T13:23:51.000Z","size":53,"stargazers_count":13,"open_issues_count":1,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-07-14T10:27:45.472Z","etag":null,"topics":["buffer","emacs","gnu","scratch","unkillable"],"latest_commit_sha":null,"homepage":null,"language":"Emacs Lisp","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/EricCrosson.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"license","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-03-12T02:35:38.000Z","updated_at":"2024-07-11T09:03:35.000Z","dependencies_parsed_at":"2023-01-14T09:00:56.769Z","dependency_job_id":null,"html_url":"https://github.com/EricCrosson/unkillable-scratch","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/EricCrosson/unkillable-scratch","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EricCrosson%2Funkillable-scratch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EricCrosson%2Funkillable-scratch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EricCrosson%2Funkillable-scratch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EricCrosson%2Funkillable-scratch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/EricCrosson","download_url":"https://codeload.github.com/EricCrosson/unkillable-scratch/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EricCrosson%2Funkillable-scratch/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269669266,"owners_count":24456631,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-10T02:00:08.965Z","response_time":71,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["buffer","emacs","gnu","scratch","unkillable"],"created_at":"2025-08-10T03:10:37.383Z","updated_at":"2025-08-10T03:10:43.008Z","avatar_url":"https://github.com/EricCrosson.png","language":"Emacs Lisp","funding_links":[],"categories":[],"sub_categories":[],"readme":"# unkillable-scratch [![Build Status](https://travis-ci.org/EricCrosson/unkillable-scratch.svg?branch=master)](https://travis-ci.org/EricCrosson/unkillable-scratch) [![MELPA Stable](https://stable.melpa.org/packages/unkillable-scratch-badge.svg)](https://stable.melpa.org/#/unkillable-scratch) [![MELPA](http://melpa.org/packages/unkillable-scratch-badge.svg)](http://melpa.org/#/unkillable-scratch)\n\n\u003e Disallow the \\*scratch\\* buffer from being killed\n\n## Install\n\nFrom [MELPA](https://melpa.org/)\n\n``` {.sourceCode .lisp}\n(use-package unkillable-scratch\n  :ensure t\n  :pin melpa-stable\n  :config (unkillable-scratch t))\n```\n\nOr manually, after downloading into your `load-path`\n\n``` {.sourceCode .lisp}\n(require 'unkillable-scratch)\n(unkillable-scratch t)\n```\n\n## Use\n\nThe variable `unkillable-scratch-behavior` defines the action taken when a kill\nis attempted on a buffer matching one or more of the regexp's in the list\n`unkillable-buffers`. This list will only match one buffer by default, the\n`*scratch*` buffer.\n\nThis package treats the `*scratch*` buffer specially; in the event of a call to\n`kill-buffer` the buffer contents will be replaced with\n`initial-scratch-message`. To disable this behavior set\n`unkillable-scratch-do-not-reset-scratch-buffer` to `t`.\n\nThe following values of `unkillable-scratch-behavior` are supported\n\n|       Setting | Meaning                                             |\n|--------------:|-----------------------------------------------------|\n|       `'bury` | bury the buffer instead of killing it (default)     |\n| `'do-nothing` | disallow the attempted kill from occurring          |\n|       `'kill` | kill the buffer -- same as disabling the minor mode |\n\n\u003c!-- ## Example --\u003e\n\n\u003c!-- ![TODO: set hover-text](https://raw.githubusercontent.com/EricCrosson/unkillable-scratch/master/img/demo.{TODO: set filetype png,gif}) --\u003e\n\n## Related\n\n[persistent-scratch](https://github.com/Fanael/persistent-scratch) is\ndefinitely worth a look.\n\n## Acknowledgments\n\nThe inspiration to make the `unkillable-buffers` list came from\n[Donald Curtis (milkypostman)](http://emacswiki.org/emacs/RecreateScratchBuffer)\n\n## Contributors\n\n- [@tarsius](https://github.com/tarsius) for advice on best-practices\n- [@djl](https://github.com/djl) for the feature to persist `*scratch*`-buffer contents\n\n## Regrets\n\nIf I were the type of person to proliferate breaking-changes, I would\nrename the `unkillable-scratch` minor-mode to\n`unkillable-scratch-mode` for conventions' sake.\n\nMaking this change would necessitate re-publishing the package to\nMELPA and only consume the time of the MELPA maintainers and every\nuser of this package without making any functional changes, so for now\njust note that said function is enabling a global minor-mode.\n\n## License\n\nGPL 2 (or higher) © [Free Software Foundation, Inc](http://www.fsf.org/about).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fericcrosson%2Funkillable-scratch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fericcrosson%2Funkillable-scratch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fericcrosson%2Funkillable-scratch/lists"}