Avoid escape nightmares by editing strings in a separate buffer.
I highly recommended installing string-edit through elpa.
M-x package-install string-edit
You can also install the dependencies on your own, and just dump string-edit in your path somewhere:
string-edit-at-point when inside a string. A new buffer pops
up with unescaped content, letting you edit it directly.
C-c C-c to re-escape the content and insert into the
C-c C-k to abort.
- newlines in the content resolves into multiple concatenated strings.
- if the content starts with a
<, html-mode is enabled in the popup buffer.
- string interpolation (handle with intangible overlays?)
- what's the difference between a newline and a
\nin an emacs lisp multiline string?
- setting major-mode for the popup buffer
- changing major-mode when inside the popup buffer clears all local vars, breaking the functionality - any way around that?
Yes, please do. :-)
All changes must be accompanied by feature tests, or I might break it later. They are written in Ecukes, a Cucumber for Emacs.
You'll find the repo at:
To fetch the test dependencies, install cask if you haven't already, then:
$ cd /path/to/string-edit $ cask
Run the tests with:
Copyright (C) 2013 Magnar Sveen
Author: Magnar Sveen email@example.com
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.