help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: How to delay loading of packages (when eval-after-load does notapply


From: Sebastien Vauban
Subject: Re: How to delay loading of packages (when eval-after-load does notapply)?
Date: Mon, 20 Aug 2012 17:24:58 +0200
User-agent: Gnus/5.130006 (Ma Gnus v0.6) Emacs/24.1 (windows-nt)

Hi Raffaele,

Raffaele Ricciardi wrote:
> On 20/08/12 13:40, Sebastien Vauban wrote:
>> "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'.
>>
>> 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 above code, I can paste the "copied line" wherever I want,
>>   including in the middle of a line:
>
> I don't use those commands.  I knew about that EmacsWiki page, so I told you.

OK. Thanks for helping, anyway.

> Well, go back to your original functions, then, after replacing `mark-active'
> with `use-region-p'.

That does work well, functionally, but then I'm back with around 2 seconds of
load time. So, there must be something else there which causes the load of
many, many packages.

> However, using advices is overkill for what you are trying to accomplish.
> Since you are looking for an improved version of existing commands, the
> cleanest approach is to wrap such commands as new commands and then replace
> the existing key bindings

Why are you saying that defadvice is overkill?  Not performant?  Not advised?

What about redefining the functions without the defadvice?

Best regards,
  Seb

-- 
Sebastien Vauban


reply via email to

[Prev in Thread] Current Thread [Next in Thread]