<feed xmlns='http://www.w3.org/2005/Atom'>
<title>paredit, branch v20</title>
<subtitle>paredit -- parenthetical editing in Emacs</subtitle>
<link rel='alternate' type='text/html' href='https://paredit.org/cgit/paredit/'/>
<entry>
<title>Changes for version 20.</title>
<updated>2008-09-28T13:43:07+00:00</updated>
<author>
<name>Taylor R Campbell</name>
<email>campbell@mumble.net</email>
</author>
<published>2008-09-28T13:43:07+00:00</published>
<link rel='alternate' type='text/html' href='https://paredit.org/cgit/paredit/commit/?id=94645884ce0ee1e797dbf54f3fedcd72ed9ce7a7'/>
<id>94645884ce0ee1e797dbf54f3fedcd72ed9ce7a7</id>
<content type='text'>
*** Preliminary Support for XEmacs

This version introduces preliminary support for XEmacs.  The changes
needed were:

- `check-parens' is called by the `paredit-mode' initialization only if
  it is fbound.

- The forward and backward deletion keys are specified differently in
  GNU Emacs and XEmacs.

- `paredit-forward' and `paredit-backward' use a "_" interactive
  specification in XEmacs in order to preserve the mark.

- `paredit-region-active-p' is just `region-active-p' in XEmacs.

- Some hair was needed to handle S-expression parse error conditions
  properly, and versions of XEmacs earlier than 21.5 may have obscure
  problems as a result.

*** Style and Bugs

- rxvt-specific terminal escape sequences are no longer bound to the
  commands that the keys those sequences denote are.  Set your
  environment variables correctly and keep your rxvt.el updated.
  (Aren't terminals fun?)

- HTML output is now properly quoted.  Some vestigial indirections in
  the tables have been removed.

- Yet *ANOTHER* `paredit-kill' bug is fixed.  I do not know what the
  bug is or why it happened, but it seems to be gone now.

- Improved robustness of `paredit-join-sexps' and `paredit-splice-sexp'
  with respect to their use in the middle of atoms, and made splicing
  within a string illegal.

- Fixed several bugs in the paredit word killing commands.  In the
  process, however, I encountered what seems to be a bug in Emacs's
  `parse-partial-sexp', which may mean bugs in other things...

- Eliminated dependency on `cl' feature.

- Fixed a bug in `paredit-backward-kill-word' that would cause deletion
  of the first double-quote in `(foo "|")'.

- Fixed a bug with `paredit-backward-kill-word' at the end of buffer.

- Fixed a bug with `paredit-backward-kill-word' before any words in a
  buffer.

*** Altered Behaviour and New Functionality

- `paredit-mode' now accepts a prefix argument to mean that it should
  not check the parentheses in the buffer first.  Supply the prefix
  argument with care; though it is useful for editing small parts of a
  buffer in Lisp when the rest is random, it might also screw the whole
  buffer up in unpredictable ways, because most of paredit doesn't
  even try to handle invalid structure.

- Parenthesis blinking is improved somewhat to better respect user
  customization of `blink-matching-paren'.

- The paredit minor mode no longer exchanges C-j &amp; RET; following the
  GNU Emacs conventions, it now leaves RET alone and binds C-j to
  `paredit-newline'.  Those of you, such as me, who relied on the old
  exchange will have to update your .emacs files.

- C-left and C-right are now bound to paredit-forward-barf-sexp and
  paredit-forward-slurp-sexp, instead of M-left and M-right, whose word
  motion bindings are no longer shadowed.

- The behaviour of (, ", M-(, and M-" with respect to active regions
  and prefix arguments has been regularized:

  . With neither an active region, i.e. an active mark and
    transient-mark-mode, ( and " will insert a pair of delimiters at
    the point, and M-( and M-" will wrap the following expression with
    delimiters.

  . With an active region and no prefix argument, if and only if the
    region contains only balanced expressions, all four commands will
    wrap the region with the respective delimiters.

  . With a prefix argument N, all four commands will wrap the next N
    expressions with the commands' respective delimiters.

  " and M-", of course, escape any characters that need escaping first
  if they are used to wrap regions.

- Implemented slurpage into strings.

- Made `M-- M-s' equivalent to `M-- M-1 M-s'.

- Changed `paredit-insert-pair' so that it will not skip whitespace
  before inserting the pair.

- `paredit-splice-sexp' with a prefix argument and friends (i.e. `M-s',
  `M-&lt;up&gt;', and `M-&lt;down&gt;') now always create a new entry on the kill
  ring.

darcs-hash:20080928134307-00fcc-ad5658e27bb367859e56b76b9e376a2a384737d1
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
*** Preliminary Support for XEmacs

This version introduces preliminary support for XEmacs.  The changes
needed were:

- `check-parens' is called by the `paredit-mode' initialization only if
  it is fbound.

- The forward and backward deletion keys are specified differently in
  GNU Emacs and XEmacs.

- `paredit-forward' and `paredit-backward' use a "_" interactive
  specification in XEmacs in order to preserve the mark.

- `paredit-region-active-p' is just `region-active-p' in XEmacs.

- Some hair was needed to handle S-expression parse error conditions
  properly, and versions of XEmacs earlier than 21.5 may have obscure
  problems as a result.

*** Style and Bugs

- rxvt-specific terminal escape sequences are no longer bound to the
  commands that the keys those sequences denote are.  Set your
  environment variables correctly and keep your rxvt.el updated.
  (Aren't terminals fun?)

- HTML output is now properly quoted.  Some vestigial indirections in
  the tables have been removed.

- Yet *ANOTHER* `paredit-kill' bug is fixed.  I do not know what the
  bug is or why it happened, but it seems to be gone now.

- Improved robustness of `paredit-join-sexps' and `paredit-splice-sexp'
  with respect to their use in the middle of atoms, and made splicing
  within a string illegal.

- Fixed several bugs in the paredit word killing commands.  In the
  process, however, I encountered what seems to be a bug in Emacs's
  `parse-partial-sexp', which may mean bugs in other things...

- Eliminated dependency on `cl' feature.

- Fixed a bug in `paredit-backward-kill-word' that would cause deletion
  of the first double-quote in `(foo "|")'.

- Fixed a bug with `paredit-backward-kill-word' at the end of buffer.

- Fixed a bug with `paredit-backward-kill-word' before any words in a
  buffer.

*** Altered Behaviour and New Functionality

- `paredit-mode' now accepts a prefix argument to mean that it should
  not check the parentheses in the buffer first.  Supply the prefix
  argument with care; though it is useful for editing small parts of a
  buffer in Lisp when the rest is random, it might also screw the whole
  buffer up in unpredictable ways, because most of paredit doesn't
  even try to handle invalid structure.

- Parenthesis blinking is improved somewhat to better respect user
  customization of `blink-matching-paren'.

- The paredit minor mode no longer exchanges C-j &amp; RET; following the
  GNU Emacs conventions, it now leaves RET alone and binds C-j to
  `paredit-newline'.  Those of you, such as me, who relied on the old
  exchange will have to update your .emacs files.

- C-left and C-right are now bound to paredit-forward-barf-sexp and
  paredit-forward-slurp-sexp, instead of M-left and M-right, whose word
  motion bindings are no longer shadowed.

- The behaviour of (, ", M-(, and M-" with respect to active regions
  and prefix arguments has been regularized:

  . With neither an active region, i.e. an active mark and
    transient-mark-mode, ( and " will insert a pair of delimiters at
    the point, and M-( and M-" will wrap the following expression with
    delimiters.

  . With an active region and no prefix argument, if and only if the
    region contains only balanced expressions, all four commands will
    wrap the region with the respective delimiters.

  . With a prefix argument N, all four commands will wrap the next N
    expressions with the commands' respective delimiters.

  " and M-", of course, escape any characters that need escaping first
  if they are used to wrap regions.

- Implemented slurpage into strings.

- Made `M-- M-s' equivalent to `M-- M-1 M-s'.

- Changed `paredit-insert-pair' so that it will not skip whitespace
  before inserting the pair.

- `paredit-splice-sexp' with a prefix argument and friends (i.e. `M-s',
  `M-&lt;up&gt;', and `M-&lt;down&gt;') now always create a new entry on the kill
  ring.

darcs-hash:20080928134307-00fcc-ad5658e27bb367859e56b76b9e376a2a384737d1
</pre>
</div>
</content>
</entry>
<entry>
<title>Changes for version 19.</title>
<updated>2008-09-28T13:42:28+00:00</updated>
<author>
<name>Taylor R Campbell</name>
<email>campbell@mumble.net</email>
</author>
<published>2008-09-28T13:42:28+00:00</published>
<link rel='alternate' type='text/html' href='https://paredit.org/cgit/paredit/commit/?id=b033174024d8f004e2baf43b0b69fc254fdb5d1e'/>
<id>b033174024d8f004e2baf43b0b69fc254fdb5d1e</id>
<content type='text'>
This version introduces support for delimiters other than round
brackets.  Previously, if the major mode's syntax table considered
square brackets (and curly braces, &amp;c.) to be delimiters, since no
paredit commands would insert them balanced, deleting them would be
tricky: paredit's DEL &amp; C-d bindings would refuse to delete them
because they would be imbalanced unless you manually type the closing
delimiter.

Now commands are defined for the opening and closing of parentheses
(round), brackets (square), braces (curly), and brockets (angled),
named `paredit-open-&lt;type&gt;', `paredit-close-&lt;type&gt;-and-newline', and
`paredit-close-&lt;type&gt;'; paredit-mode binds the opening and closing
square bracket keys to be `paredit-open-bracket' and `paredit-close-
bracket', respectively.  The rest you can bind yourself; this minimal
pair of bindings will, I think, account for accidental insertion,
elisp vectors, and (bletch) the equation of square and round brackets
as parentheses in some non-standard Scheme extensions.

Also now supported in this version is insertion of delimiter pairs
around active regions in transient-mark-mode.  If you mark a region
with transient-mark-mode enabled, you can use any of the delimiter
pair insertion keys (like opening round bracket, double-quote, &amp;c.)
to insert a pair of delimiters around the region.  There are now two
ways to parenthesize lists of expressions with visual feedback: using
M-( (paredit-wrap-sexp) followed by C-) (paredit-forward-slurp-sexp)
until satisfied, and now C-M-SPC (mark-sexp) until you have marked
the desired expressions and then any of the delimiter pair insertion
keys to insert the delimiters.

darcs-hash:20080928134228-00fcc-3ec209344dbaea07e93f2e02cddead13f7e39c6a
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This version introduces support for delimiters other than round
brackets.  Previously, if the major mode's syntax table considered
square brackets (and curly braces, &amp;c.) to be delimiters, since no
paredit commands would insert them balanced, deleting them would be
tricky: paredit's DEL &amp; C-d bindings would refuse to delete them
because they would be imbalanced unless you manually type the closing
delimiter.

Now commands are defined for the opening and closing of parentheses
(round), brackets (square), braces (curly), and brockets (angled),
named `paredit-open-&lt;type&gt;', `paredit-close-&lt;type&gt;-and-newline', and
`paredit-close-&lt;type&gt;'; paredit-mode binds the opening and closing
square bracket keys to be `paredit-open-bracket' and `paredit-close-
bracket', respectively.  The rest you can bind yourself; this minimal
pair of bindings will, I think, account for accidental insertion,
elisp vectors, and (bletch) the equation of square and round brackets
as parentheses in some non-standard Scheme extensions.

Also now supported in this version is insertion of delimiter pairs
around active regions in transient-mark-mode.  If you mark a region
with transient-mark-mode enabled, you can use any of the delimiter
pair insertion keys (like opening round bracket, double-quote, &amp;c.)
to insert a pair of delimiters around the region.  There are now two
ways to parenthesize lists of expressions with visual feedback: using
M-( (paredit-wrap-sexp) followed by C-) (paredit-forward-slurp-sexp)
until satisfied, and now C-M-SPC (mark-sexp) until you have marked
the desired expressions and then any of the delimiter pair insertion
keys to insert the delimiters.

darcs-hash:20080928134228-00fcc-3ec209344dbaea07e93f2e02cddead13f7e39c6a
</pre>
</div>
</content>
</entry>
<entry>
<title>Changes for version 18.</title>
<updated>2008-09-28T13:42:13+00:00</updated>
<author>
<name>Taylor R Campbell</name>
<email>campbell@mumble.net</email>
</author>
<published>2008-09-28T13:42:13+00:00</published>
<link rel='alternate' type='text/html' href='https://paredit.org/cgit/paredit/commit/?id=7f89e54961795d8b8b3daa9bbb0254973bfa4191'/>
<id>7f89e54961795d8b8b3daa9bbb0254973bfa4191</id>
<content type='text'>
*** Style and Bugs

- Corrected terminal arrow key sequences *again*.  M-left and M-right
  were backwards.

- Put the save-excursion back in paredit-recentre-on-sexp.  I don't
  remember why it was taken out in version 13.

- Fixed HTML output to stop producing spurious &lt;tr&gt; tags.

- Corrected a number of paredit command examples.

- Aesthetic changes to the code:

  . Regularized some aspects of code style.

  . Repaginated so that all pages are at most 80 lines long, and most
    are at least 40 lines.

  . Formatted headings for an outline regexp to match so that
    outline-minor-mode works nicely on paredit.el.

*** Altered Behaviour and New Functionality

- Implemented paredit-forward-kill-word &amp; paredit-backward-kill-word,
  or M-d &amp; M-DEL, which are like kill-word &amp; backward-kill-word, but
  they will not kill parenthesis, string, or comment delimiters; they
  will preserve the structure of S-expressions, while the built-in
  Emacs word killing commands would destroy it.

- M-" is now bound to paredit-meta-doublequote, which has the old
  behaviour of paredit-close-string-and-newline if within a string,
  but which wraps the following S-expression (or N S-expressions) in
  double-quotes if without a string; paredit-doublequote does the
  same, but the default argument is 0, not 1.

- M-S (paredit-split-sexp) no longer deletes horizontal space in
  strings before splitting them into two.  The rationale, as
  suggested by Zbigniew Szadkowski, is that whitespace is usually
  significant in strings, while not in lists, and you can type M-\
  M-S if you really do want the horizontal space deleted anyway.

- Reintroduced paredit-join-sexps as M-J.  The implementation is now
  more robust: it ensures that the two S-expressions to join match --
  i.e. they are both lists, or they are both strings, or they are
  both symbols --, and it correctly handles the atom case now as
  well.

- Extended paredit command examples to allow multiple steps in
  succession of a single example.

darcs-hash:20080928134213-00fcc-6ad0986678483423b9db18258e129b7824e33a01
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
*** Style and Bugs

- Corrected terminal arrow key sequences *again*.  M-left and M-right
  were backwards.

- Put the save-excursion back in paredit-recentre-on-sexp.  I don't
  remember why it was taken out in version 13.

- Fixed HTML output to stop producing spurious &lt;tr&gt; tags.

- Corrected a number of paredit command examples.

- Aesthetic changes to the code:

  . Regularized some aspects of code style.

  . Repaginated so that all pages are at most 80 lines long, and most
    are at least 40 lines.

  . Formatted headings for an outline regexp to match so that
    outline-minor-mode works nicely on paredit.el.

*** Altered Behaviour and New Functionality

- Implemented paredit-forward-kill-word &amp; paredit-backward-kill-word,
  or M-d &amp; M-DEL, which are like kill-word &amp; backward-kill-word, but
  they will not kill parenthesis, string, or comment delimiters; they
  will preserve the structure of S-expressions, while the built-in
  Emacs word killing commands would destroy it.

- M-" is now bound to paredit-meta-doublequote, which has the old
  behaviour of paredit-close-string-and-newline if within a string,
  but which wraps the following S-expression (or N S-expressions) in
  double-quotes if without a string; paredit-doublequote does the
  same, but the default argument is 0, not 1.

- M-S (paredit-split-sexp) no longer deletes horizontal space in
  strings before splitting them into two.  The rationale, as
  suggested by Zbigniew Szadkowski, is that whitespace is usually
  significant in strings, while not in lists, and you can type M-\
  M-S if you really do want the horizontal space deleted anyway.

- Reintroduced paredit-join-sexps as M-J.  The implementation is now
  more robust: it ensures that the two S-expressions to join match --
  i.e. they are both lists, or they are both strings, or they are
  both symbols --, and it correctly handles the atom case now as
  well.

- Extended paredit command examples to allow multiple steps in
  succession of a single example.

darcs-hash:20080928134213-00fcc-6ad0986678483423b9db18258e129b7824e33a01
</pre>
</div>
</content>
</entry>
<entry>
<title>Changes for version 17.</title>
<updated>2008-09-28T13:41:33+00:00</updated>
<author>
<name>Taylor R Campbell</name>
<email>campbell@mumble.net</email>
</author>
<published>2008-09-28T13:41:33+00:00</published>
<link rel='alternate' type='text/html' href='https://paredit.org/cgit/paredit/commit/?id=004d2574d9730e54cbd20e6922f20df21d5fdbb2'/>
<id>004d2574d9730e54cbd20e6922f20df21d5fdbb2</id>
<content type='text'>
*** 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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
*** 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
</pre>
</div>
</content>
</entry>
<entry>
<title>Changes for version 16.</title>
<updated>2008-09-28T13:41:20+00:00</updated>
<author>
<name>Taylor R Campbell</name>
<email>campbell@mumble.net</email>
</author>
<published>2008-09-28T13:41:20+00:00</published>
<link rel='alternate' type='text/html' href='https://paredit.org/cgit/paredit/commit/?id=901acb8a614c9f309365d933889e7433bed1ee90'/>
<id>901acb8a614c9f309365d933889e7433bed1ee90</id>
<content type='text'>
- 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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- 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
</pre>
</div>
</content>
</entry>
<entry>
<title>Changes for version 15.</title>
<updated>2008-09-28T13:40:53+00:00</updated>
<author>
<name>Taylor R Campbell</name>
<email>campbell@mumble.net</email>
</author>
<published>2008-09-28T13:40:53+00:00</published>
<link rel='alternate' type='text/html' href='https://paredit.org/cgit/paredit/commit/?id=602e3282782c6b97a5f0e334512076c904a68483'/>
<id>602e3282782c6b97a5f0e334512076c904a68483</id>
<content type='text'>
- 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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- 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
</pre>
</div>
</content>
</entry>
<entry>
<title>Changes for version 14, introducing fancy comment handling.</title>
<updated>2008-09-28T13:39:03+00:00</updated>
<author>
<name>Taylor R Campbell</name>
<email>campbell@mumble.net</email>
</author>
<published>2008-09-28T13:39:03+00:00</published>
<link rel='alternate' type='text/html' href='https://paredit.org/cgit/paredit/commit/?id=a04d9b61614e56470799fa980a204bbb89f13961'/>
<id>a04d9b61614e56470799fa980a204bbb89f13961</id>
<content type='text'>
- 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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- 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
</pre>
</div>
</content>
</entry>
<entry>
<title>Changes for version 13.</title>
<updated>2008-09-28T13:38:22+00:00</updated>
<author>
<name>Taylor R Campbell</name>
<email>campbell@mumble.net</email>
</author>
<published>2008-09-28T13:38:22+00:00</published>
<link rel='alternate' type='text/html' href='https://paredit.org/cgit/paredit/commit/?id=36f2f18abb6eb19bbd687ec3149def604f93e2dd'/>
<id>36f2f18abb6eb19bbd687ec3149def604f93e2dd</id>
<content type='text'>
- 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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- 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
</pre>
</div>
</content>
</entry>
<entry>
<title>Changes for version 12.</title>
<updated>2008-09-28T13:37:44+00:00</updated>
<author>
<name>Taylor R Campbell</name>
<email>campbell@mumble.net</email>
</author>
<published>2008-09-28T13:37:44+00:00</published>
<link rel='alternate' type='text/html' href='https://paredit.org/cgit/paredit/commit/?id=1821854f887d7dc215edc0a997f8b3f1533d769d'/>
<id>1821854f887d7dc215edc0a997f8b3f1533d769d</id>
<content type='text'>
- 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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- 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
</pre>
</div>
</content>
</entry>
<entry>
<title>Changes for version 11.</title>
<updated>2008-09-28T13:36:58+00:00</updated>
<author>
<name>Taylor R Campbell</name>
<email>campbell@mumble.net</email>
</author>
<published>2008-09-28T13:36:58+00:00</published>
<link rel='alternate' type='text/html' href='https://paredit.org/cgit/paredit/commit/?id=f588dcb182672a9b94ed95c83318ddaeb226cbf2'/>
<id>f588dcb182672a9b94ed95c83318ddaeb226cbf2</id>
<content type='text'>
- 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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- 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
</pre>
</div>
</content>
</entry>
</feed>
