[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
- How to delay loading of packages (when eval-after-load does not apply)?, Sebastien Vauban, 2012/08/15
- RE: How to delay loading of packages (when eval-after-load does notapply)?, Drew Adams, 2012/08/15
- Message not available
- Re: How to delay loading of packages (when eval-after-load does notapply)?, Sebastien Vauban, 2012/08/17
- Re: How to delay loading of packages (when eval-after-load does notapply)?, Raffaele Ricciardi, 2012/08/17
- Re: How to delay loading of packages (when eval-after-load does notapply)?, Sebastien Vauban, 2012/08/17
- Re: How to delay loading of packages (when eval-after-load does notapply)?, Raffaele Ricciardi, 2012/08/17
- Re: How to delay loading of packages (when eval-after-load does notapply)?, Sebastien Vauban, 2012/08/17
- Re: How to delay loading of packages (when eval-after-load does notapply)?, Sebastien Vauban, 2012/08/20
- Re: How to delay loading of packages (when eval-after-load does notapply)?, Raffaele Ricciardi, 2012/08/20
- Re: How to delay loading of packages (when eval-after-load does notapply)?,
Sebastien Vauban <=