Subject: bug#1013: 23.0.60; permanent-local not honored for word-wrap

From: "Lennart Borgman (gmail)" <[email-masked]>
Date: Mon, 22 Sep 2008 00:25:29 +0200

I played a bit with making a unit test for this, see the attached file.
This requires the ert2.el that comes with nXhtml and should be placed in
the same subdir as nxhtmltest-suites.el.

;;; emacstest-suites.el --- Some unit tests for Emacs
;;
;; Author: Lennart Borgman (lennart O borgman A gmail O com)
;; Created: 2008-09-21T22:34:11+0200 Sun
;; Version:
;; Last-Updated:
;; URL:
;; Keywords:
;; Compatibility:
;;
;; Features that might be required by this library:
;;
;;   None
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;;; Commentary:
;;
;; Unit tests for some Emacs bug reports.
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;;; Change log:
;;
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; This program is free software; you can redistribute it and/or
;; modify it under the terms of the GNU General Public License as
;; published by the Free Software Foundation; either version 2, or
;; (at your option) any later version.
;;
;; This program is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
;; General Public License for more details.
;;
;; You should have received a copy of the GNU General Public License
;; along with this program; see the file COPYING.  If not, write to
;; the Free Software Foundation, Inc., 51 Franklin Street, Fifth
;; Floor, Boston, MA 02110-1301, USA.
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;;; Code:

(eval-when-compile (require 'cl))

(setq debug-on-error t)

(defvar emacstest-bin
  (file-name-directory (if load-file-name load-file-name buffer-file-name)))

(pushnew emacstest-bin load-path)
(require 'ert2)

(defvar emacstest-files-root
  (let* ((this-dir emacstest-bin)
         (root (expand-file-name "inemacs/" this-dir)))
    (unless (file-accessible-directory-p root)
          (error (if (file-exists-p root)
                     "Can't read files in test directory %s"
                   "Can't find test directory %s")
                 root))
    root))

(let ((distr-in "c:/EmacsW32/nxhtml/tests/inemacs/"))
  (when (file-directory-p distr-in)
    (setq nxhtmltest-files-root distr-in)))

(ert-deftest emacs-bug1013 ()
  "Emacs bug 1013.
See URL
`http://debbugs.gnu.org/cgi/bugreport.cgi?bug=1013'."
  (with-temp-buffer
    (insert "
      (defvar word-wrap2 nil)
      (make-variable-buffer-local 'word-wrap2)
      (defcustom word-wrap3 nil
        \"doc 3\"
        :type 'boolean)
      (make-variable-buffer-local 'word-wrap3)
      (put 'word-wrap  'permanent-local t)
      (put 'word-wrap2 'permanent-local t)
      (put 'word-wrap3 'permanent-local t)
      (setq word-wrap t)
      (setq word-wrap2 t)
      (setq word-wrap3 t)
      (kill-all-local-variables)")
    (eval-buffer)
    (ert-should (eq word-wrap3 t))
    (ert-should (eq word-wrap2 t))
    (ert-should (eq word-wrap t))
    ))

(provide 'emacstest-suites)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; emacstest-suites.el ends here