dabrahams / initsplit Goto Github PK
View Code? Open in Web Editor NEWJohn Wiegley's code to split customizations into different files, evolved!
John Wiegley's code to split customizations into different files, evolved!
Using advice on a basic and important function like save-buffer makes me uncomfortable. There has to be a better way to implement the check for real modifications. One option might be write-file-functions. Another might be before-save-hook. (I'm not sure whether the file will get saved if before-save-hook marks it as unmodified.)
I'm getting the following warnings every time Emacs starts. It used to be fine with emacs 24.
Warning (bytecomp): reference to free variable �initsplit-stanza-position�
Warning (bytecomp): assignment to free variable �initsplit-stanza-position�
Warning (bytecomp): assignment to free variable �initsplit-buffer-checksum�
Cheers!
I initsplitted my custom-safe-themes' setting into a per-host file, and found that it no longer worked, in the sense that
load-theme' nevertheless still always prompts for manual acceptance of the theme even when it has not changed.
Probably not initsplit's problem to solve, but maybe should be documented.
Probably not relevant, but the theme I'm trying to load is `solarized-dark'.
In an emacs -Q/bootstrapping situation, custom-fle can be nil. initsplit-custom-alist needs to be aware of this or else initsplit-customizations-alist can fail
…which you may be prone to do due to the unavailability of negative assertions in elisp regexps, to keep some variable out of its usual customization location. This somehow causes all settings to get moved there.
I don't get it to work. I have emacs version 25.1.1 and a big old custom.el file which I now want to split out. This is my initsplit config:
'(initsplit-customizations-alist
(quote
(("^haskell-.*$" "haskell.el" nil t)
("^ido-.*$" "ido.el" nil t))))
'(initsplit-default-directory "~/.emacs.d/custom.d/")
'(initsplit-pretty-print t)
I save customizations by clicking the "Apply and Save" button in the top level customization buffer or in the initsplit buffer or the ido buffer. But only the haskell.el gets written although I also have variables matching ido-.
Before I start to debug and file a better bugreport, it would help to have a README to know whether I installed and configured the initsplit.el correctly.
If I make edits to a customization stanza and then save customizations through the UI, the edits will get clobbered. Maybe the thing to do is store an md5 of the stansas to see whether they've been changed.
If I byte-compile .org.el to .org.elc, then initsplit-known-p answers nil for '.org.el', and thus initsplit stops writing out any customizations to that file, and puts them back in .emacs.el -- whether that one is compiled or not.
Reading the docstring for initsplit-pretty-print, I understand conceptually how pretty-printing might make changes more obvious to a VCS, but I got confused by the reference to indent-pp-sexp (which indents OR OPTIONALLY pretty-prints, and customize stanzas are usually indented).
I think an example might make this clearer. From my org mode customizations, you might say:
With initsplit-pretty-print, the customization:
'(org-capture-templates (quote (("t" "todo" entry (file+headline "~/src/org-files/incoming.org" "New") "* TODO %?
%u
%a"))))
Will instead be saved as:
'(org-capture-templates
(quote
(("t" "todo" entry
(file+headline "~/src/org-files/incoming.org" "New")
"* TODO %?
%u
%a"))))
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.