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

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

Make defadvice mode local


From: Frederik
Subject: Make defadvice mode local
Date: Sun, 03 Nov 2013 14:14:31 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.1.0

Hello lisp hackers,

I found the following snippet on the web which changes the filling of
paragraphs in LaTeX documents such that each sentence begins on a new line:

---------------8<------------------------------------------------------
;; Start each sentence on a new line when editing LaTex source files
;;
http://pleasefindattached.blogspot.de/2011/12/emacsauctex-sentence-fill-greatly.html

(defadvice LaTeX-fill-region-as-paragraph (around LaTeX-sentence-filling)
  "Start each sentence on a new line."
  (let ((from (ad-get-arg 0))
        (to-marker (set-marker (make-marker) (ad-get-arg 1)))
        tmp-end)
    (while (< from (marker-position to-marker))
      (forward-sentence)
      ;; might have gone beyond to-marker --- use whichever is smaller:
      (ad-set-arg 1 (setq tmp-end (min (point) (marker-position
to-marker))))
      ad-do-it
      (ad-set-arg 0 (setq from (point)))
      (unless (or
               (bolp)
               (looking-at "\\s *$"))
        (LaTeX-newline)))
    (set-marker to-marker nil)))
(ad-activate 'LaTeX-fill-region-as-paragraph) ; to activate
;;(ad-deactivate 'LaTeX-fill-region-as-paragraph) ; to deactivate
---------------8<------------------------------------------------------

However, I want that this behaviour only gets activated in documents
which are under version control.  So I seek a way to only activate the
advice in buffers with vc-mode enabled...

I don't know where to start as I practically don't know any lisp; but I
fear that this defadvice only can be enabled globally to all LaTeX
buffers...

Any pointers?

Regards,
Fred

-- 
Frederik




reply via email to

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