all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: "Sebastien Vauban" <wxhgmqzgwmuf-geNee64TY+gS+FvcfC7Uqw@public.gmane.org>
To: help-gnu-emacs-mXXj517/zsQ@public.gmane.org
Subject: Re: How to delay loading of packages (when eval-after-load does notapply)?
Date: Mon, 20 Aug 2012 14:40:56 +0200	[thread overview]
Message-ID: <801uj1zqg7.fsf@somewhere.org> (raw)
In-Reply-To: 80zk5tv04z.fsf@somewhere.org

Hi Raffaele,

"Sebastien Vauban" wrote:
> Raffaele Ricciardi wrote:
>> On 08/17/2012 01:11 PM, Sebastien Vauban wrote:
>>> Now, wanting to apply the same mechanism for other slow parts of my .emacs
>>> file, I'm stuck with this one[1]:
>>>
>>> --8<---------------cut here---------------start------------->8---
>>>     ;; add the ability to copy or cut the current line without marking it
>>>     ;; (no active region) -- idea stolen from SlickEdit
>>>     (defadvice kill-ring-save (before slickcopy activate compile)
>>>       "When called interactively with no active region, copy the current
>>>     line instead."
>>>       (interactive
>>>        (if mark-active (list (region-beginning) (region-end))
>>>          (message "Copied the current line")
>>>          (list (line-beginning-position)
>>>                (line-beginning-position 2)))))
>>>
>>>     (defadvice kill-region (before slickcut activate compile)
>>>       "When called interactively with no active region, kill the current
>>>     line instead."
>>>       (interactive
>>>        (if mark-active (list (region-beginning) (region-end))
>>>          (list (line-beginning-position)
>>>                (line-beginning-position 2)))))
>>> --8<---------------cut here---------------end--------------->8---
>>
>> See http://www.emacswiki.org/emacs/WholeLineOrRegion
>>
>> Note the use of `use-region-p' instead of 'mark-active'.
>
> I don't understand all the subtleties, except that it uses a function directly
> defined in `simple.el', but it does a great job: no noticeable delay!

After using it for a couple of "workable" hours, I must say that the code
found on EmacsWiki does not work as good (at least from my point of view) as
the code above.

Two (minor) problems found:

- With the above code, when killing multiple subsequent lines, they are merged
  as one entry in the kill ring.

  With the code from EW, they stay separate entries.

- With the above code, I can paste the "copied line" wherever I want,
  including in the middle of a line:

    Some *sentence                (* = position of point)

  becomes:

    Some YANKED TEXT*sentence

  With the code from EW, the yanked text is inserted above the current line,
  as if point was at the beginning of line when I'm yanking.

    Some *sentence                (* = position of point)

  becomes:

    YANKED TEXT
    *Some sentence

  BTW, point's position is changed after yanking.

Do you observe that as well?

Best regards,
  Seb

-- 
Sebastien Vauban


  reply	other threads:[~2012-08-20 12:40 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-08-15 19:22 How to delay loading of packages (when eval-after-load does not apply)? Sebastien Vauban
2012-08-15 19:43 ` How to delay loading of packages (when eval-after-load does notapply)? Drew Adams
     [not found] ` <mailman.7059.1345059803.855.help-gnu-emacs@gnu.org>
2012-08-17 10:07   ` Sebastien Vauban
2012-08-17 10:31     ` Raffaele Ricciardi
2012-08-17 12:11       ` Sebastien Vauban
2012-08-17 12:20         ` Raffaele Ricciardi
2012-08-17 18:33           ` Sebastien Vauban
2012-08-20 12:40             ` Sebastien Vauban [this message]
2012-08-20 13:39               ` Raffaele Ricciardi
2012-08-20 15:24                 ` Sebastien Vauban

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

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=801uj1zqg7.fsf@somewhere.org \
    --to=wxhgmqzgwmuf-genee64ty+gs+fvcfc7uqw@public.gmane.org \
    --cc=help-gnu-emacs-mXXj517/zsQ@public.gmane.org \
    /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 external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.