2004-02-24  Katsumi Yamaoka  <yamaoka@jpl.org>
 
+       * dgnushack.el (with-syntax-table): Redefine it for XEmacs 21.5.
+
        * message.el (message-setup-fill-variables): Add mml tags to
        paragraph-start and paragraph-separate.  Suggested by Andrew Korty
        <ajk@iu.edu>.
 
           load-path)))
 (add-path "semi")
 
+(when (and (featurep 'xemacs)
+          (let ((table (copy-syntax-table emacs-lisp-mode-syntax-table)))
+            (modify-syntax-entry ?= " " table)
+            (with-temp-buffer
+              (with-syntax-table table
+                (insert "foo=bar")
+                (goto-char (point-min))
+                (forward-sexp 1)
+                (eolp)))))
+  ;; The original `with-syntax-table' uses `copy-syntax-table' which
+  ;; doesn't seem to copy modified syntax entries in XEmacs 21.5.
+  (defmacro with-syntax-table (syntab &rest body)
+    "Evaluate BODY with the SYNTAB as the current syntax table."
+    `(let ((stab (syntax-table)))
+       (unwind-protect
+          (progn
+            ;;(set-syntax-table (copy-syntax-table ,syntab))
+            (set-syntax-table ,syntab)
+            ,@body)
+        (set-syntax-table stab)))))
+
 (push srcdir load-path)
 (load (expand-file-name "lpath.el" srcdir) nil t t)