summaryrefslogtreecommitdiff
path: root/paredit.el
AgeCommit message (Collapse)Author
2008-09-28Changes for version 17.v17Taylor R Campbell
*** 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
2008-09-28Changes for version 16.v16Taylor R Campbell
- 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
2008-09-28Changes for version 15.v15Taylor R Campbell
- 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
2008-09-28Changes for version 14, introducing fancy comment handling.v14Taylor R Campbell
- 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
2008-09-28Changes for version 13.v13Taylor R Campbell
- 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
2008-09-28Changes for version 12.v12Taylor R Campbell
- 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
2008-09-28Changes for version 11.v11Taylor R Campbell
- 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
2008-09-28Changes for version 10.v10Taylor R Campbell
- 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
2008-09-28Changes for version 9.v9Taylor R Campbell
- 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
2008-09-28Changes for version 8.v8Taylor R Campbell
- 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
2008-09-28Changes for version 7.v7Taylor R Campbell
- 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
2008-09-28Changes for versions 2--6.v6Taylor R Campbell
- 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
2008-09-28Initial revision.v1Taylor R Campbell
darcs-hash:20080928131127-00fcc-7af7487ee9835f4f8a88b30a93ef8fe43a60e59c