--- flyspell.el.orig 2007-06-19 15:04:09.000000000 +0200 +++ flyspell.el 2007-06-19 15:04:21.000000000 +0200 @@ -1445,7 +1445,8 @@ ;;* declared correct. */ ;;*---------------------------------------------------------------------*/ (defun flyspell-process-localwords (misspellings-buffer) - (let (localwords case-fold-search + (let ((localwords ispell-buffer-session-localwords) + case-fold-search (ispell-casechars (ispell-get-casechars))) ;; Get localwords from the original buffer (save-excursion @@ -2085,6 +2086,9 @@ (setq ispell-pdict-modified-p '(t))) ((or (eq replace 'buffer) (eq replace 'session)) (ispell-send-string (concat "@" word "\n")) + (add-to-list 'ispell-buffer-session-localwords word) + (or ispell-buffer-local-name ; session localwords might conflict + (setq ispell-buffer-local-name (buffer-name))) (flyspell-unhighlight-at cursor-location) (if (null ispell-pdict-modified-p) (setq ispell-pdict-modified-p