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


reply via email to

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