Age | Commit message (Collapse) | Author |
|
*** Style and Bugs
- Rewrote all documentation strings to be in the imperative mood, per
GNU Emacs's guidelines. Some documentation strings may have been
corrected, too, but I can't be bothered to grovel through the diff
to pick out all changes to all documentation strings.
- Forced parenthesis flashing even with show-paren-mode enabled.
- Fixed bug in forward deletion within strings so that the empty
string can be deleted.
- Simplified determination of whether the point is in a comment.
*** Altered Behaviour and New Functionality
- Eliminated paredit-terminal-mode. All key bindings it had are now
incorporated into paredit-mode's keymap. I may have changed some
keybindings, too, but I don't remember what they were if I did. I
think I fixed some of the keybindings in the terminal.
- Added examples to documentation of all paredit commands, as well as
code to generate an HTML file containing the examples in nicely
formatted tables (sorry, web purists).
- Made paredit-mode refuse to be enabled in a buffer with imbalanced
parentheses.
- Updated documentary heading. It now explains how to customize keys
while still autoloading and how to make paredit's RET work nicely
with SLIME's REPL.
- Improved semicolon insertion: (a) to accept a numeric prefix
argument dictating a number of semicolons to insert, instead of a
prefix argument that forces the insertion of a semicolon without a
trailing newline, which can be effected with C-q anyway; and (b) to
allow insertion of semicolons before existing comments without
inserting a superfluous leading newline. To comment out code, you
must still use M-; or M-x comment-region.
darcs-hash:20080928134133-00fcc-8b43de19c101c35bdc2972ba2d6304468710367f
|
|
- Introduced M-S (paredit-split-sexp) to split lists or strings from
the middle.
- Fixed the definition of M-; to use (kbd "M-;") to correctly
identify the key sequence meta-semicolon, not "M-;" for M hyphen
semicolon.
darcs-hash:20080928134120-00fcc-f3d0c5f1318c5cc1c4de78c69666bbc126f305fd
|
|
- Rewrote comment insertion code.
- Implemented M-; (paredit-comment-dwim), which is like comment-dwim
but inserts comments more appropriately with respect to paredit.
darcs-hash:20080928134053-00fcc-89725dbfcfd855de4a0e07e0ffa1e133229c0482
|
|
- paredit-close-list-and-newline now refuses to move a margin comment
to another line; instead it will help to preserve the column of the
comment.
- The semicolon key is now bound to a command that will automatically
move any code following the point onto the next line, so that you
do not inadvertently comment out half expressions. You can still
use M-; (comment-dwim) to comment out specific regions that are not
meant to be code (e.g., old comments that were accidentally
uncommented) or whole S-expressions, usually in conjunction with
C-M-SPC (mark-sexp).
darcs-hash:20080928133903-00fcc-0f07413273679feeca677ed9d8e5464876c7f772
|
|
- Removed M-\ (paredit-join-sexps), whose key binding conflicts with
delete-horizontal-space and whose implementation was inadequate and
led to general uselessness of the command.
- Improved RET (paredit-newline) so that it does not do anything
fancy within strings and first tests whether the point is in a
comment before checking whether it is in a character.
- Changed paredit-skip-whitespace from skip-syntax-{forward,backward}
to skip-chars-{forward,backward}, because in the Lisp syntax table
newlines are not considered whitespace -- rather, they are comment
ends --, but we want to skip them nevertheless.
- Corrected paredit-kill in a way I don't understand.
- Minor code improvements, including:
. Changed call to previous-line to use forward-line instead.
. Removed unnecessary save-excursion in paredit-recentre-on-sexp.
. IF indentation changes.
darcs-hash:20080928133822-00fcc-703d3e78cd56715f9f46966923349ba2561d8a72
|
|
- Implemented M-r (paredit-raise-sexp), which raises a single
S-expression up the tree, deleting all of its siblings and its
enclosing list.
- Rearranged some arrow key bindings again.
- Made paredit-forward-delete and paredit-backward-delete check for
buffer bounds and also matching of the delimiters of empty lists.
- Added a buffer bounds check to paredit-kill.
- Made backward barfing signal an error, not just a message.
darcs-hash:20080928133744-00fcc-b6843f09a351f97bd75c8f768399e66f8e49a697
|
|
- Changed the key for paredit-splice-sexp from M-/, which is by
default the popular dabbrev-expand, to M-s, which I was surprised
to find no existing binding for.
- Added a prefix argument to paredit-splice-sexp; see the command's
documentation for details. M-up is now equivalent to C-u M-s;
M-down, to C-u C-u M-s.
- Fixed a lot of the terminal key sequences for the arrow key
bindings in paredit-terminal-mode.
- Modified the behaviour of paredit-forward and paredit-backward to
change only one level of nesting depth, not to repeat until there
is a sibling S-expression to move across.
- Changed a lot of code to use character syntax, instead of exact
character comparisons, for better generality.
- Rewrote much of paredit-kill, again.
darcs-hash:20080928133658-00fcc-6f28a122f0471a40b9f80ce8e60303ebf196f42f
|
|
- Introduced paredit-forward and paredit-backward, which are like
forward-sexp and backward-sexp but which will also go up a nesting
level if at the end of a list.
- Introduced C-c C-M-l (paredit-recentre-on-sexp), whose name is
self-explanatory.
- Added support for numeric prefix arguments to paredit-open-list.
- Fixed paredit-kill so that it would correctly kill whitespace
between parentheses, as in ( ).
- Changed suggestion of what to put in your .emacs from require to
autoload.
darcs-hash:20080928133616-00fcc-1983846a129d64ac4b85e04df49fe9f4b6e36416
|
|
- Introduced enable-paredit-mode and disable-paredit-mode to better
choose which one to enable.
- Forced blinkage of matching parentheses in paredit-close-list and
paredit-close-list-and-newline, even if show-paren-mode is enabled.
darcs-hash:20080928133359-00fcc-e05f09d8e69fcaa6077e1bd3610dccc46a6dc441
|
|
- Added paredit-terminal-mode, which is like paredit-mode but which
provides key bindings that work in terminals, while paredit-mode
contains many (such as controlled brackets) that do not work in
terminals. Thanks to Jorgen Schaefer for suggesting many of the
terminal key bindings.
- Exchanged RET and C-j: RET now inserts the fancy newline with auto-
indentation, while C-j inserts a literal line feed. While this
defies convention, and some people prefer not to do this, I have
found that it is more convenient for RET to have the behaviour of
the common case, where auto-indentation is desired, and for C-j to
insert the uncommon exact, literal line feed. You can always
customize the key bindings yourself, of course.
- Rearranged arrow key bindings.
- Implemented paredit-close-list-and-newline, which is like
paredit-close-list followed by RET (paredit-newline); and M-"
(paredit-close-string-and-newline), which is similar but for
strings.
The closing round bracket character now inserts the newline, while
the meta modifier inhibits this.
- Overhauled paredit-kill.
- Extended slurpage and barfage to permit their operation across
arbitrary depth changes.
- Fixed bizarre bug with backward barfage. I apologize for the
alliteration.
- Fixed a number of other small bugs.
- Prefixed `paredit-' to the remaining functions defined in the file
that did not already have the prefix.
- Defined backward-down-list, which for some reason is not provided
by lisp.el, although up-list, down-list, & backward-up-list all
are. (This is the sole exception to the above item. It deserves
no prefix because it ought to be defined in lisp.el with this name
anyway.)
darcs-hash:20080928133248-00fcc-cff6c6ab1db5bb274d4b53bf702b99804dc33ebd
|
|
- Changed paredit-open-list and paredit-close-list so that they will
refuse to insert parentheses inside character literals.
- Substituted new code for GNU Emacs's move-past-close-and-reindent.
I do not remember why now, and I no longer understand either code
well enough to discern differences, other than that Emacs's
m-p-c-a-r is probably faster because it incrementally parses each
step of the way. All I can see is that paredit.el's code now
inserts indentation before the closing parenthesis while Emacs's
m-p-c-a-r does not.
- Fixed bugs in deletion within character literals and strings.
darcs-hash:20080928133142-00fcc-9a9fb3492e906d5e09da1f1ccb68bd1944ab8269
|
|
- Flushed M-" (paredit-insert-doublequote), which was rather useless
and which " (paredit-doublequote) now subsumes the functionality of.
- Added instrumented forward deletion as well as backward deletion,
which now behave well inside strings.
- Flushed unnecessary individual round bracket insertion keys; use
C-q instead.
- Added C-left & C-right: backward-sexp & forward-sexp, respectively.
- Fixed the test of whether the point is in a character literal.
- Modified " (paredit-doublequote) to insert escaped double-quote if
in the middle of the string, rather than to jump past the string's
closing delimiter.
- Introduced bogus backslash escaping mechanism.
- Introduced new command for breaking the line and indenting, and
bound C-j, rather than RET, to it, according to convention.
- Improved C-k (paredit-kill), particularly in strings where it will
no longer kill the closing delimiter of the string.
- Changed the splicage, joinage, slurpage, and barfage commands so
that they will reindent only the modified list, not the whole
definition.
darcs-hash:20080928133010-00fcc-90a9f6931a49b99f633def9bc51157b3bc40a6bf
|
|
darcs-hash:20080928131127-00fcc-7af7487ee9835f4f8a88b30a93ef8fe43a60e59c
|