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: Fri, 17 Aug 2012 14:11:24 +0200	[thread overview]
Message-ID: <80sjblk9ar.fsf@somewhere.org> (raw)
In-Reply-To: a96kslF1aeU1@mid.individual.net

Hi Raffaele and Drew,

Raffaele Ricciardi wrote:
> On 08/17/2012 11:07 AM, Sebastien Vauban wrote:
>> "Drew Adams" wrote:
>>>> How could I say: load fuzzy when I will make a search for the
>>>> first time?
>>>
>>> Try `isearch-mode-hook' with `require'.
>>
>> I got:
>>
>>    Symbol's function definition is void: turn-on-fuzzy-isearch
>>
>> I don't understand why my `eval-after-load' is executed directly...
>
> You have to quote the form you are passing to `eval-after-load', like this:
>
> (eval-after-load "fuzzy"
>   '(turn-on-fuzzy-isearch))
>
> Otherwise, yes, the form is evaluated on the spot.

Excellent. That did the trick... Thanks a lot!

> Also, "fuzzy" means eval the following form after the library "fuzzy" has
> been loaded, whilst 'fuzzy means eval the following code after the feature
> 'fuzzy has been provided. I always go for the latter first, because then I'm
> able to rename a library according to its version. I would only backpedal if
> the library provided its feature on top of the file as some third-party
> libraries do - AFAIK this was a workaround for older Emacsen - and I couldn't
> fix that, but the latter has never happened.

Thanks for the comments...

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---

How could I say: apply the following when I will press `C-w' or `M-w' for the
first time?

I search for hooks in `simple.el', but only found

- activate-mark-hook
- deactivate-mark-hook

which are not exactly what I need.

Any idea?

Best regards,
  Seb

--
Sebastien Vauban

[1] As already reported here (see
http://lists.gnu.org/archive/html/help-gnu-emacs/2012-08/msg00092.html), that
chunk of code takes around 2 seconds to execute, at Emacs startup time.


  reply	other threads:[~2012-08-17 12:11 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 [this message]
2012-08-17 12:20         ` Raffaele Ricciardi
2012-08-17 18:33           ` Sebastien Vauban
2012-08-20 12:40             ` Sebastien Vauban
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=80sjblk9ar.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.