emacs-orgmode
[Top][All Lists]
Advanced

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

[Orgmode] Value of `ispell-dictionary-alist' reset by `org-agenda-list'


From: Sébastien Vauban
Subject: [Orgmode] Value of `ispell-dictionary-alist' reset by `org-agenda-list'
Date: Fri, 03 Sep 2010 17:36:39 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux)

Hello,

I still don't understand what's going on, but I've managed getting closer to a
long experienced problem in my Emacs: while I set the value of
=ispell-dictionary-alist= in the beginning of my =.emacs= file, it is reset
when calling =org-agenda-list=.

Extract of my =.emacs= file:

--8<---------------cut here---------------start------------->8---
        (require 'ispell)  ;; `ispell.el' is already loaded at this stage

        (eval-after-load "ispell"
          '(progn
             (message "Evaluate code AFTER HAVING LOADED `ispell'...")

             ;; default dictionary to use (if `ispell-local-dictionary' is nil)
             (setq ispell-dictionary "en_US")

             ;; extensions and extra switches to pass to the `ispell' program
             (cond
              ((equal ispell-program-name "aspell")
               (setq ispell-really-aspell t)
               (setq ispell-extra-args '("--sug-mode=ultra")))
              ((equal ispell-program-name "ispell")
               (setq ispell-really-aspell nil)))

             ;; redefine the list of installed dictionaries
             (setq ispell-dictionary-alist
                   '(
                     ;; default
                     (nil
                      "[A-Za-z]" "[^A-Za-z]"
                      "[']" nil ("-B") nil iso-8859-1)

                     ;; Yankee English
                     ("en_US"
                      "[A-Za-z]" "[^A-Za-z]"
                      "[']" nil ("-B") nil utf-8)))

             ;; standard French
             (when (or (file-exists-p "/usr/lib/aspell/fr_FR")
                       (file-exists-p "/usr/lib/aspell/francais.alias"))
                                        ; file can be opened for reading
               (add-to-list 'ispell-dictionary-alist
                            '("fr_FR"
                              "[a-zàâäéèêëîïôöùûüçA-ZÀÂÄÉÈÊËÎÏÔÖÙÛÜÇ]" 
"[^a-zàâäéèêëîïôöùûüçA-ZÀÂÄÉÈÊËÎÏÔÖÙÛÜÇ]"
                              "[-']" t nil "~list" utf-8)
                            'append))))

;; [...]

        (message "Value of `ispell-dictionary-alist' before `org-agenda-list'")
        (edebug-print ispell-dictionary-alist)

        (org-agenda-list)

        (message "Value of `ispell-dictionary-alist' after `org-agenda-list'")
        (edebug-print ispell-dictionary-alist)

        (delete-other-windows)
--8<---------------cut here---------------end--------------->8---

and what I read in the =Messages= buffer:

--8<---------------cut here---------------start------------->8---
Value of `ispell-dictionary-alist' before `org-agenda-list'

((nil "[A-Za-z]" "[^A-Za-z]" "[']" nil ("-B") nil iso-8859-1) ("en_US" 
"[A-Za-z]" "[^A-Za-z]" "[']" nil ("-B") nil utf-8) ("fr_FR" 
"[a-zàâäéèêëîïôöùûüçA-ZÀÂÄÉÈÊËÎÏÔÖÙÛÜÇ]" 
"[^a-zàâäéèêëîïôöùûüçA-ZÀÂÄÉÈÊËÎÏÔÖÙÛÜÇ]" "[-']" t nil "~list" utf-8))

OVERVIEW
Fontifying GTD.org... (regexps............................................)
OVERVIEW
Fontifying GTD.org... (regexps.............................................)
OVERVIEW
Fontifying GTD.org... (regexps..............................................)
OVERVIEW
Restoring clock data
Loading /home/sva/.emacs.d/org-clock-save.el...
Loading /home/sva/.emacs.d/org-clock-save.el (source)...done

[... snip ....]

Value of `ispell-dictionary-alist' after `org-agenda-list'

(("svenska" "[A-Za-zåäöéàüèæøçÅÄÖÉÀÜÈÆØÇ]" "[^A-Za-zåäöéàüèæøçÅÄÖÉÀÜÈÆØÇ]" 
"[']" nil ("-C") "~list" iso-8859-1) ("slovenian" 
"[A-Za-zÁÄÉÍÓÚÔÀťݮ©ÈÏ«Òáäéíóúôàåµý¾¹èï»ò]" 
"[^A-Za-zÁÄÉÍÓÚÔÀťݮ©ÈÏ«Òáäéíóúôàåµý¾¹èï»ò]" "" nil ("-B" "-d" "slovenian") 
nil iso-8859-2) ("slovak" "[A-Za-zÁÄÉÍÓÚÔÀťݮ©ÈÏ«Òáäéíóúôàåµý¾¹èï»ò]" 
"[^A-Za-zÁÄÉÍÓÚÔÀťݮ©ÈÏ«Òáäéíóúôàåµý¾¹èï»ò]" "" nil ("-B") nil iso-8859-2) 
("russianw" 
"[ÀÁÂÃÄŨÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÜÛÚÝÞßàáâãäå¸æçèéêëìíîïðñòóôõö÷øùüûúýþÿ]" 
"[^ÀÁÂÃÄŨÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÜÛÚÝÞßàáâãäå¸æçèéêëìíîïðñòóôõö÷øùüûúýþÿ]" "" nil 
nil nil windows-1251) ("russian" 
"[áâ÷çäå³öúéêëìíîïðòóôõæèãþûýøùÿüàñÁÂ×ÇÄÅ£ÖÚÉÊËÌÍÎÏÐÒÓÔÕÆÈÃÞÛÝØÙßÜÀÑ]" 
"[^áâ÷çäå³öúéêëìíîïðòóôõæèãþûýøùÿüàñÁÂ×ÇÄÅ£ÖÚÉÊËÌÍÎÏÐÒÓÔÕÆÈÃÞÛÝØÙßÜÀÑ]" "" nil 
nil nil koi8-r) ("portugues" "[a-zA-ZÁÂÉÓàáâéêíóãú]" "[^a-zA-ZÁÂÉÓàáâéêíóãú]" 
"[']" t ("-C") "~latin1" iso-8859-1) ("polish" "[A-Za-z¡£¦¬¯±³¶¼¿ÆÊÑÓæêñó]" 
"[^A-Za-z¡£¦¬¯±³¶¼¿ÆÊÑÓæêñó]" "[.]" nil nil nil iso-8859-2) ("norsk7-tex" 
"[A-Za-z{}\\'^`]" "[^A-Za-z{}\\'^`]" "[\"]" nil ("-d" "norsk") "~plaintex" 
iso-8859-1) ("norsk" "[A-Za-zÅÆÇÈÉÒÔØåæçèéòôø]" "[^A-Za-zÅÆÇÈÉÒÔØåæçèéòôø]" 
"[\"]" nil nil "~list" iso-8859-1) ("nederlands" 
"[A-Za-zÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜàáâãäåçèéêëìíîïñòóôõöùúûü]" 
"[^A-Za-zÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜàáâãäåçèéêëìíîïñòóôõöùúûü]" "[']" t ("-C") nil 
iso-8859-1) ("italiano" "[A-ZÀÁÈÉÌÍÒÓÙÚa-zàáèéìíóùú]" 
"[^A-ZÀÁÈÉÌÍÒÓÙÚa-zàáèéìíóùú]" "[-.]" nil ("-B" "-d" "italian") "~tex" 
iso-8859-1) ("german8" "[a-zA-ZÄÖÜäößü]" "[^a-zA-ZÄÖÜäößü]" "[']" t ("-C" "-d" 
"german") "~latin1" iso-8859-1) ("german" "[a-zA-Z\"]" "[^a-zA-Z\"]" "[']" t 
("-C") "~tex" iso-8859-1) ("francais-tex" 
"[A-Za-zÀÂÆÇÈÉÊËÎÏÔÙÛÜàâçèéêëîïôùûü\\]" 
"[^A-Za-zÀÂÆÇÈÉÊËÎÏÔÙÛÜàâçèéêëîïôùûü\\]" "[-'^`\"address@hidden" t nil "~tex" 
iso-8859-1) ("francais7" "[A-Za-z]" "[^A-Za-z]" "[`'^-]" t nil nil iso-8859-1) 
("esperanto-tex" "[A-Za-z^\\]" "[^A-Za-z^\\]" "[-'`\"]" t ("-C" "-d" 
"esperanto") "~tex" iso-8859-3) ("esperanto" "[A-Za-z¦¬¶¼ÆØÝÞæøýþ]" 
"[^A-Za-z¦¬¶¼ÆØÝÞæøýþ]" "[-']" t ("-C") "~latin3" iso-8859-3) ("deutsch8" 
"[a-zA-ZÄÖÜäößü]" "[^a-zA-ZÄÖÜäößü]" "[']" t ("-C" "-d" "deutsch") "~latin1" 
iso-8859-1) ("deutsch" "[a-zA-Z\"]" "[^a-zA-Z\"]" "[']" t ("-C") "~tex" 
iso-8859-1) ("dansk" "[A-ZÆØÅa-zæøå]" "[^A-ZÆØÅa-zæøå]" "[']" nil ("-C") nil 
iso-8859-1) ("czech" "[A-Za-zÁÉÌÍÓÚÙÝ®©ÈØÏ«Òáéìíóúùý¾¹èøï»ò]" 
"[^A-Za-zÁÉÌÍÓÚÙÝ®©ÈØÏ«Òáéìíóúùý¾¹èøï»ò]" "" nil ("-B") nil iso-8859-2) 
("brasileiro" "[A-ZÁÉÍÓÚÀÈÌÒÙÃÕÇÜÂÊÔa-záéíóúàèìòùãõçüâêô]" 
"[^A-ZÁÉÍÓÚÀÈÌÒÙÃÕÇÜÂÊÔa-záéíóúàèìòùãõçüâêô]" "[']" nil nil nil iso-8859-1) 
("nederlands8" "[A-Za-zÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜàáâãäåçèéêëìíîïñòóôõöùúûü]" 
"[^A-Za-zÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜàáâãäåçèéêëìíîïñòóôõöùúûü]" "[']" t ("-C" "-d" 
"dutch") nil iso-8859-1) ("francais-ch" "[A-Za-zÀÂÇÈÉÊËÎÏÔÙÛÜàâçèéêëîïôùûü]" 
"[^A-Za-zÀÂÇÈÉÊËÎÏÔÙÛÜàâçèéêëîïôùûü]" "[-']" t ("-d" "fr_CH-60") "~list" 
iso-8859-1) ("nl" "[[:alpha:]]" "[^[:alpha:]]" "['-]" t ("-d" "nl") nil utf-8) 
("fr_FR-sml" "[[:alpha:]]" "[^[:alpha:]]" "['.-]" t ("-d" "fr_FR-sml") nil 
utf-8) ("fr_FR-med" "[[:alpha:]]" "[^[:alpha:]]" "['.-]" t ("-d" "fr_FR-med") 
nil utf-8) ("fr_FR-lrg" "[[:alpha:]]" "[^[:alpha:]]" "['.-]" t ("-d" 
"fr_FR-lrg") nil utf-8) ("fr_FR-80" "[[:alpha:]]" "[^[:alpha:]]" "['.-]" t 
("-d" "fr_FR-80") nil utf-8) ("fr_FR" "[[:alpha:]]" "[^[:alpha:]]" "['.-]" t 
("-d" "fr_FR") nil utf-8) ("fr_FR-60" "[[:alpha:]]" "[^[:alpha:]]" "['.-]" t 
("-d" "fr_FR-60") nil utf-8) ("fr_FR-40" "[[:alpha:]]" "[^[:alpha:]]" "['.-]" t 
("-d" "fr_FR-40") nil utf-8) ("fr_CH-sml" "[[:alpha:]]" "[^[:alpha:]]" "['.-]" 
t ("-d" "fr_CH-sml") nil utf-8) ("fr_CH-med" "[[:alpha:]]" "[^[:alpha:]]" 
"['.-]" t ("-d" "fr_CH-med") nil utf-8) ("fr_CH-lrg" "[[:alpha:]]" 
"[^[:alpha:]]" "['.-]" t ("-d" "fr_CH-lrg") nil utf-8) ("fr_CH-80" 
"[[:alpha:]]" "[^[:alpha:]]" "['.-]" t ("-d" "fr_CH-80") nil utf-8) ("fr_CH-60" 
"[[:alpha:]]" "[^[:alpha:]]" "['.-]" t ("-d" "fr_CH-60") nil utf-8) ("fr_CH" 
"[[:alpha:]]" "[^[:alpha:]]" "['.-]" t ("-d" "fr_CH") nil utf-8) ("fr_CH-40" 
"[[:alpha:]]" "[^[:alpha:]]" "['.-]" t ("-d" "fr_CH-40") nil utf-8) ("fr-sml" 
"[[:alpha:]]" "[^[:alpha:]]" "['.-]" t ("-d" "fr-sml") nil utf-8) ("fr-med" 
"[[:alpha:]]" "[^[:alpha:]]" "['.-]" t ("-d" "fr-med") nil utf-8) ("fr-lrg" 
"[[:alpha:]]" "[^[:alpha:]]" "['.-]" t ("-d" "fr-lrg") nil utf-8) ("fr-80" 
"[[:alpha:]]" "[^[:alpha:]]" "['.-]" t ("-d" "fr-80") nil utf-8) ("fr" 
"[[:alpha:]]" "[^[:alpha:]]" "['.-]" t ("-d" "fr") nil utf-8) ("fr-60" 
"[[:alpha:]]" "[^[:alpha:]]" "['.-]" t ("-d" "fr-60") nil utf-8) ("fr-40" 
"[[:alpha:]]" "[^[:alpha:]]" "['.-]" t ("-d" "fr-40") nil utf-8) ("es" 
"[[:alpha:]]" "[^[:alpha:]]" "" t ("-d" "es") nil utf-8) ("en_US-wo_accents" 
"[[:alpha:]]" "[^[:alpha:]]" "'" t ("-d" "en_US-wo_accents") nil utf-8) 
("en_US-w_accents" "[[:alpha:]]" "[^[:alpha:]]" "'" t ("-d" "en_US-w_accents") 
nil utf-8) ("en_US" "[[:alpha:]]" "[^[:alpha:]]" "'" t ("-d" "en_US") nil 
utf-8) ("en_GB-wo_accents" "[[:alpha:]]" "[^[:alpha:]]" "'" t ("-d" 
"en_GB-wo_accents") nil utf-8) ("en_GB-w_accents" "[[:alpha:]]" "[^[:alpha:]]" 
"'" t ("-d" "en_GB-w_accents") nil utf-8) ("en_GB-ize-wo_accents" "[[:alpha:]]" 
"[^[:alpha:]]" "'" t ("-d" "en_GB-ize-wo_accents") nil utf-8) 
("en_GB-ize-w_accents" "[[:alpha:]]" "[^[:alpha:]]" "'" t ("-d" 
"en_GB-ize-w_accents") nil utf-8) ("en_GB-ize" "[[:alpha:]]" "[^[:alpha:]]" "'" 
t ("-d" "en_GB-ize") nil utf-8) ("en_GB-ise-wo_accents" "[[:alpha:]]" 
"[^[:alpha:]]" "'" t ("-d" "en_GB-ise-wo_accents") nil utf-8) 
("en_GB-ise-w_accents" "[[:alpha:]]" "[^[:alpha:]]" "'" t ("-d" 
"en_GB-ise-w_accents") nil utf-8) ("en_GB-ise" "[[:alpha:]]" "[^[:alpha:]]" "'" 
t ("-d" "en_GB-ise") nil utf-8) ("en_GB" "[[:alpha:]]" "[^[:alpha:]]" "'" t 
("-d" "en_GB") nil utf-8) ("en_CA-wo_accents" "[[:alpha:]]" "[^[:alpha:]]" "'" 
t ("-d" "en_CA-wo_accents") nil utf-8) ("en_CA-w_accents" "[[:alpha:]]" 
"[^[:alpha:]]" "'" t ("-d" "en_CA-w_accents") nil utf-8) ("en_CA" "[[:alpha:]]" 
"[^[:alpha:]]" "'" t ("-d" "en_CA") nil utf-8) ("en-wo_accents" "[[:alpha:]]" 
"[^[:alpha:]]" "'" t ("-d" "en-wo_accents") nil utf-8) ("en-w_accents" 
"[[:alpha:]]" "[^[:alpha:]]" "'" t ("-d" "en-w_accents") nil utf-8) 
("en-variant_2" "[[:alpha:]]" "[^[:alpha:]]" "'" t ("-d" "en-variant_2") nil 
utf-8) ("en-variant_1" "[[:alpha:]]" "[^[:alpha:]]" "'" t ("-d" "en-variant_1") 
nil utf-8) ("en-variant_0" "[[:alpha:]]" "[^[:alpha:]]" "'" t ("-d" 
"en-variant_0") nil utf-8) ("en" "[[:alpha:]]" "[^[:alpha:]]" "'" t ("-d" "en") 
nil utf-8) ("american-w_accents" "[[:alpha:]]" "[^[:alpha:]]" "'" t ("-d" 
"en_US-w_accents") nil utf-8) ("american-wo_accents" "[[:alpha:]]" 
"[^[:alpha:]]" "'" t ("-d" "en_US-wo_accents") nil utf-8) ("american" 
"[[:alpha:]]" "[^[:alpha:]]" "'" t ("-d" "en_US") nil utf-8) 
("british-ise-w_accents" "[[:alpha:]]" "[^[:alpha:]]" "'" t ("-d" 
"en_GB-ise-w_accents") nil utf-8) ("british-ise-wo_accents" "[[:alpha:]]" 
"[^[:alpha:]]" "'" t ("-d" "en_GB-ise-wo_accents") nil utf-8) ("british-ise" 
"[[:alpha:]]" "[^[:alpha:]]" "'" t ("-d" "en_GB-ise") nil utf-8) 
("british-ize-w_accents" "[[:alpha:]]" "[^[:alpha:]]" "'" t ("-d" 
"en_GB-ize-w_accents") nil utf-8) ("british-ize-wo_accents" "[[:alpha:]]" 
"[^[:alpha:]]" "'" t ("-d" "en_GB-ize-wo_accents") nil utf-8) ("british-ize" 
"[[:alpha:]]" "[^[:alpha:]]" "'" t ("-d" "en_GB-ize") nil utf-8) 
("british-w_accents" "[[:alpha:]]" "[^[:alpha:]]" "'" t ("-d" 
"en_GB-w_accents") nil utf-8) ("british-wo_accents" "[[:alpha:]]" 
"[^[:alpha:]]" "'" t ("-d" "en_GB-wo_accents") nil utf-8) ("british" 
"[[:alpha:]]" "[^[:alpha:]]" "'" t ("-d" "en_GB") nil utf-8) 
("canadian-w_accents" "[[:alpha:]]" "[^[:alpha:]]" "'" t ("-d" 
"en_CA-w_accents") nil utf-8) ("canadian-wo_accents" "[[:alpha:]]" 
"[^[:alpha:]]" "'" t ("-d" "en_CA-wo_accents") nil utf-8) ("canadian" 
"[[:alpha:]]" "[^[:alpha:]]" "'" t ("-d" "en_CA") nil utf-8) ("castellano" 
"[[:alpha:]]" "[^[:alpha:]]" "" t ("-d" "es") nil utf-8) ("castellano8" 
"[[:alpha:]]" "[^[:alpha:]]" "" t ("-d" "es") nil utf-8) ("dutch" "[[:alpha:]]" 
"[^[:alpha:]]" "['-]" t ("-d" "nl") nil utf-8) ("english-variant_0" 
"[[:alpha:]]" "[^[:alpha:]]" "'" t ("-d" "en-variant_0") nil utf-8) 
("english-variant_1" "[[:alpha:]]" "[^[:alpha:]]" "'" t ("-d" "en-variant_1") 
nil utf-8) ("english-variant_2" "[[:alpha:]]" "[^[:alpha:]]" "'" t ("-d" 
"en-variant_2") nil utf-8) ("english-w_accents" "[[:alpha:]]" "[^[:alpha:]]" 
"'" t ("-d" "en-w_accents") nil utf-8) ("english-wo_accents" "[[:alpha:]]" 
"[^[:alpha:]]" "'" t ("-d" "en-wo_accents") nil utf-8) ("english" "[[:alpha:]]" 
"[^[:alpha:]]" "'" t ("-d" "en") nil utf-8) ("espanol" "[[:alpha:]]" 
"[^[:alpha:]]" "" t ("-d" "es") nil utf-8) ("espa\361ol" "[[:alpha:]]" 
"[^[:alpha:]]" "" t ("-d" "es") nil utf-8) ("francais-40" "[[:alpha:]]" 
"[^[:alpha:]]" "['.-]" t ("-d" "fr_FR-40") nil utf-8) ("francais-60" 
"[[:alpha:]]" "[^[:alpha:]]" "['.-]" t ("-d" "fr_FR-60") nil utf-8) 
("francais-80" "[[:alpha:]]" "[^[:alpha:]]" "['.-]" t ("-d" "fr_FR-80") nil 
utf-8) ("francais-lrg" "[[:alpha:]]" "[^[:alpha:]]" "['.-]" t ("-d" "fr_FR-80") 
nil utf-8) ("francais-med" "[[:alpha:]]" "[^[:alpha:]]" "['.-]" t ("-d" 
"fr_FR-60") nil utf-8) ("francais-sml" "[[:alpha:]]" "[^[:alpha:]]" "['.-]" t 
("-d" "fr_FR-40") nil utf-8) ("francais" "[[:alpha:]]" "[^[:alpha:]]" "['.-]" t 
("-d" "fr_FR") nil utf-8) ("french-40" "[[:alpha:]]" "[^[:alpha:]]" "['.-]" t 
("-d" "fr_FR-40") nil utf-8) ("french-60" "[[:alpha:]]" "[^[:alpha:]]" "['.-]" 
t ("-d" "fr_FR-60") nil utf-8) ("french-80" "[[:alpha:]]" "[^[:alpha:]]" 
"['.-]" t ("-d" "fr_FR-80") nil utf-8) ("french-lrg" "[[:alpha:]]" 
"[^[:alpha:]]" "['.-]" t ("-d" "fr_FR-80") nil utf-8) ("french-med" 
"[[:alpha:]]" "[^[:alpha:]]" "['.-]" t ("-d" "fr_FR-60") nil utf-8) 
("french-sml" "[[:alpha:]]" "[^[:alpha:]]" "['.-]" t ("-d" "fr_FR-40") nil 
utf-8) ("french" "[[:alpha:]]" "[^[:alpha:]]" "['.-]" t ("-d" "fr_FR") nil 
utf-8) ("spanish" "[[:alpha:]]" "[^[:alpha:]]" "" t ("-d" "es") nil utf-8) 
("suisse-40" "[[:alpha:]]" "[^[:alpha:]]" "['.-]" t ("-d" "fr_CH-40") nil 
utf-8) ("suisse-60" "[[:alpha:]]" "[^[:alpha:]]" "['.-]" t ("-d" "fr_CH-60") 
nil utf-8) ("suisse-80" "[[:alpha:]]" "[^[:alpha:]]" "['.-]" t ("-d" 
"fr_CH-80") nil utf-8) ("suisse-lrg" "[[:alpha:]]" "[^[:alpha:]]" "['.-]" t 
("-d" "fr_CH-80") nil utf-8) ("suisse-med" "[[:alpha:]]" "[^[:alpha:]]" "['.-]" 
t ("-d" "fr_CH-60") nil utf-8) ("suisse-sml" "[[:alpha:]]" "[^[:alpha:]]" 
"['.-]" t ("-d" "fr_CH-40") nil utf-8) ("suisse" "[[:alpha:]]" "[^[:alpha:]]" 
"['.-]" t ("-d" "fr_CH") nil utf-8) (nil "[[:alpha:]]" "[^[:alpha:]]" "[']" nil 
("-B") nil utf-8))
--8<---------------cut here---------------end--------------->8---

Has anyone any idea on how to circumvent this?

Best regards,
  Seb

-- 
Sébastien Vauban




reply via email to

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