When I use c-mode or lisp-mode, transpose-words and transpose-sexps move
words or paren-balenced sections while leaving punctuation, operators
and spacing alone, which is very useful:

# "|" represents point;
fn(a, {B; C|; D}, (e+f))
# transpose-words produces:
fn(a, {B; D; C|}, (e+f))

fn(a, {B; C; D},| (e+f))
# transpose-sexps produces:
fn(a, (e+f), {B; C; D}|)
```

However I find in ess-mode transpose-words and transpose-sexps produces much
less useful results, moving the spaces and punctuation:

fn(a, {B; C; D}, (e+f))
# transpose-words produces:
fn(a, {B; DC; |}, (e+f))

fn(a, {B; C; D},| (e+f))
# transpose-sexps produces:
fn(a, (e+f){B; C; D}, |)

Why is ESS affecting the behavior of these functions?

Peter

	[[alternative HTML version deleted]]

