From: "Chong Yidong" <cyd@stupidchicken.com>
Cc: miles@gnu.org, snogglethorpe@gmail.com,
Luc Teirlinck <teirllm@dms.auburn.edu>,
emacs-devel@gnu.org
Subject: Re: require-hard-newlines to use newline
Date: Tue, 8 Mar 2005 11:39:21 -0500 (EST) [thread overview]
Message-ID: <2451.220.255.169.59.1110299961.squirrel@www.stupidchicken.com> (raw)
In-Reply-To: <E1D8hAz-0007ue-L5@fencepost.gnu.org>
> If I understood correctly, we do not like code included with the Emacs
> distribution to use `defadvice'. longlines.el uses defadvice for
> `newline', `kill-region', `copy-region-as-kill', `yank' and
> `yank-pop'.
>
> Yes,it would be good to think about other mechanisms to use instead
> of that. Yidong, would you like to think about what kind of new hook
> might make it possible to do the job?
What the advice does is mainly encoding and decoding yanked text. When a
piece of text is yanked into a longlines buffer, the newlines have to be
marked as hard. Conversely, when text is killed from a longlines buffer,
the soft newlines have to be removed before it is placed in the kill ring.
As I see it, there are two ways to get around using advice:
1. If Longlines is to be merged into Emacs, lines like
(if (and (fboundp longlines-mode) longlines-mode) blahblahblah)
could be added to kill-region and the other functions. This is what
Transient mark mode does, but I doubt that Longlines mode is "important"
enough to justify it.
2. Defining two new abnormal hooks, maybe named yank-encode-functions and
kill-encode-functions, to be called by kill-region etc (or possibly the
lower-level functions like kill-new and kill-append.) Each function would
be called with one argument, the yanked or killed string, and return an
encoded string to be passed to the next function, or to the buffer/kill
ring. For example, kill-region could do something like
(mapcar '(lambda (fun) (setq string (funcall fun string)))
'kill-encode-functions)
next prev parent reply other threads:[~2005-03-08 16:39 UTC|newest]
Thread overview: 60+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-03-02 2:26 (no subject) Chong Yidong
2005-03-02 3:02 ` Luc Teirlinck
2005-03-02 3:26 ` require-hard-newlines to use newline Chong Yidong
2005-03-02 3:55 ` Luc Teirlinck
2005-03-03 2:29 ` Richard Stallman
2005-03-03 2:49 ` Chong Yidong
2005-03-03 20:57 ` Richard Stallman
2005-03-03 22:32 ` Chong Yidong
2005-03-04 0:33 ` Luc Teirlinck
2005-03-04 0:56 ` Chong Yidong
2005-03-04 1:40 ` Miles Bader
2005-03-04 6:02 ` Chong Yidong
2005-03-04 9:55 ` David Kastrup
2005-03-04 23:46 ` Richard Stallman
2005-03-08 0:05 ` Luc Teirlinck
2005-03-08 2:10 ` Chong Yidong
2005-03-08 3:09 ` Luc Teirlinck
2005-03-08 4:28 ` Luc Teirlinck
2005-03-08 15:45 ` Luc Teirlinck
2005-03-08 16:42 ` Chong Yidong
2005-03-08 18:04 ` Stefan Monnier
2005-03-08 18:12 ` Luc Teirlinck
2005-03-08 19:02 ` Stefan Monnier
2005-03-08 18:26 ` Luc Teirlinck
2005-03-08 16:03 ` Richard Stallman
2005-03-08 16:39 ` Chong Yidong [this message]
2005-03-09 9:45 ` Chong Yidong
2005-03-11 1:46 ` Richard Stallman
2005-03-11 9:10 ` Chong Yidong
2005-03-11 10:25 ` Kim F. Storm
2005-03-11 13:03 ` Chong Yidong
2005-03-11 14:32 ` Stefan Monnier
2005-03-11 14:57 ` Kim F. Storm
2005-03-11 15:08 ` Chong Yidong
2005-03-11 15:28 ` Stefan Monnier
2005-03-11 15:13 ` Chong Yidong
2005-03-11 15:30 ` Stefan Monnier
2005-03-11 16:11 ` Chong Yidong
2005-03-11 17:32 ` Stefan Monnier
2005-03-12 2:40 ` Chong Yidong
2005-03-11 22:29 ` Kim F. Storm
2005-03-12 2:23 ` Chong Yidong
2005-03-12 22:16 ` Richard Stallman
2005-03-12 23:53 ` Stefan Monnier
2005-03-14 3:00 ` Richard Stallman
2005-03-13 6:14 ` Chong Yidong
2005-03-14 3:00 ` Richard Stallman
2005-03-14 3:42 ` Chong Yidong
2005-03-15 18:39 ` Richard Stallman
2005-03-12 22:16 ` Richard Stallman
2005-03-04 23:45 ` Richard Stallman
2005-03-05 2:03 ` Chong Yidong
2005-03-06 0:41 ` Richard Stallman
-- strict thread matches above, loose matches on Subject: below --
2005-03-06 2:18 Chong Yidong
2005-03-07 5:02 ` Richard Stallman
2005-03-07 10:45 ` Oliver Scholz
2005-03-08 0:50 ` Luc Teirlinck
2005-03-08 1:43 ` Luc Teirlinck
2005-03-08 2:52 ` Richard Stallman
2005-03-08 1:31 ` Luc Teirlinck
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=2451.220.255.169.59.1110299961.squirrel@www.stupidchicken.com \
--to=cyd@stupidchicken.com \
--cc=emacs-devel@gnu.org \
--cc=miles@gnu.org \
--cc=snogglethorpe@gmail.com \
--cc=teirllm@dms.auburn.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).