[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 14:40:56 +0200 |
User-agent: |
Gnus/5.130006 (Ma Gnus v0.6) Emacs/24.1 (windows-nt) |
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
- 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 <=
- 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, 2012/08/20