emacs-devel
[Top][All Lists]
Advanced

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

Re: address@hidden: modification hooks called only once in c-mode]


From: Richard Stallman
Subject: Re: address@hidden: modification hooks called only once in c-mode]
Date: Thu, 02 Aug 2007 11:45:38 -0400

Thanks for finding a simpler test case -- that is progress.

Can someone please DTRT and ack?

Mail-Followup-To: address@hidden
To: address@hidden
From: address@hidden (Johan =?utf-8?Q?Bockg=C3=A5rd?=)
Date: Wed, 01 Aug 2007 11:16:08 +0200
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8
Mail-Copies-To: never
Subject: Re: address@hidden: modification hooks called only once in
        c-mode]

Richard Stallman <address@hidden> writes:

> If the fix is simple enough, it should be installed in Emacs 22.

I don't have a fix, but here's a recipe that doesn't depends on c
mode.

;; emacs -Q

(defun test-bug-hook (overlay afterp beg end &optional r)
  (message "%s hook called" (if afterp "after" "before")))

(defun test-bug-after-change (beg end old-len)
  (remove-text-properties beg end nil))

(defun test-bug ()
  (interactive)
  (switch-to-buffer (get-buffer-create "*test*"))

  (kill-all-local-variables)
  (add-hook 'after-change-functions 'test-bug-after-change nil t)
  (setq font-lock-defaults '(nil t))

  (let ((beg (point)) ov)
    (insert "foobar")
    (setq ov (make-overlay beg (point)))
    (overlay-put ov 'face 'highlight)
    (overlay-put ov 'insert-in-front-hooks '(test-bug-hook)))
  (goto-char (point-min)))

(test-bug)

;; M-x eval-buffer RET
;; Insert char before overlay
;; => only before hook is called

-- 
Johan Bockgård



_______________________________________________
Emacs-devel mailing list
address@hidden
http://lists.gnu.org/mailman/listinfo/emacs-devel





reply via email to

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