GNU bug report logs -
#79371
[PATCH] Make yank-in-context also can indent the yanked text.
Previous Next
Full log
Message #32 received at submit <at> debbugs.gnu.org (full text, mbox):
>> [ I see that limiting it to `yank-in-context` means that it's limited to
>> a command that already cares about the difference between
>> code/comments/strings. So there's some logic to it. ]
>
> Originally, my idea was to implement this in yank (and its other
> commands), but the yank code base is (for some reason) separated into
> subr.el, so it was going to be difficult and inconvenient for me, i
> decided to add it to `yank-in-context`, since this command is intended
> for yanking code[1].
Yeah, I think it makes sense.
>> It also occurred to me that it could make sense to link it to
>> electric-indent.
> Fine, I'll see how to implement it in electric-indent.
I'm not sure that's such a good idea.
At some point I did consider implementing `electric-indent` in
a different way, which would automatically cover things like `yank`, but
in the end electric-indent is fairly "conservative" in terms of when it
reindents. But conceptually the two are somewhat related, tho your
functionality might be closer to modes like `aggressive-indent-mode`.
If you're careful to place an undo boundary before doing the
`indent-region`, it ends up being a choice between:
- Don't reindent by default, let user hit `C-M-\` if they want to reindent.
- Reindent by default, let user hit `C-/` if they didn't want to reindent.
IOW, I'm rather favorable to your proposition. It seems worth a try.
Tho, maybe you want to pay attention to
(or (memq indent-line-function
electric-indent-functions-without-reindent)
electric-indent-inhibit)
so as not to call `indent-region` when that function is unlikely to do
a good job.
Stefan
This bug report was last modified 8 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.