[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
scheme.el bug & fix
From: |
David PONCE |
Subject: |
scheme.el bug & fix |
Date: |
Fri, 14 Feb 2003 11:44:09 +0100 (MET) |
Hi All,
With today Emacs 21.3.50.1, `scheme-mode' don't setup a correct
syntax-table. And, for example, comments are considered as normal
code!
The problem is that `scheme-mode-syntax-table' is not initialized
with the syntax-table built in the let form, but with a standard
syntax table.
I applied the following patch to my local copy of scheme.el, to fix
that.
Hope it will help.
David
Index: lisp/progmodes/scheme.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/progmodes/scheme.el,v
retrieving revision 1.42
diff -c -r1.42 scheme.el
*** lisp/progmodes/scheme.el 11 Feb 2003 21:23:00 -0000 1.42
--- lisp/progmodes/scheme.el 14 Feb 2003 10:27:49 -0000
***************
*** 56,110 ****
(defvar scheme-mode-syntax-table
(let ((st (make-syntax-table))
(i 0))
! (with-syntax-table st
!
! ;; Default is atom-constituent.
! (while (< i 256)
! (modify-syntax-entry i "_ ")
! (setq i (1+ i)))
!
! ;; Word components.
! (setq i ?0)
! (while (<= i ?9)
! (modify-syntax-entry i "w ")
! (setq i (1+ i)))
! (setq i ?A)
! (while (<= i ?Z)
! (modify-syntax-entry i "w ")
! (setq i (1+ i)))
! (setq i ?a)
! (while (<= i ?z)
! (modify-syntax-entry i "w ")
! (setq i (1+ i)))
!
! ;; Whitespace
! (modify-syntax-entry ?\t " ")
! (modify-syntax-entry ?\n "> ")
! (modify-syntax-entry ?\f " ")
! (modify-syntax-entry ?\r " ")
! (modify-syntax-entry ? " ")
!
! ;; These characters are delimiters but otherwise undefined.
! ;; Brackets and braces balance for editing convenience.
! (modify-syntax-entry ?\[ "(] ")
! (modify-syntax-entry ?\] ")[ ")
! (modify-syntax-entry ?{ "(} ")
! (modify-syntax-entry ?} "){ ")
! (modify-syntax-entry ?\| " 23")
!
! ;; Other atom delimiters
! (modify-syntax-entry ?\( "() ")
! (modify-syntax-entry ?\) ")( ")
! (modify-syntax-entry ?\; "< ")
! (modify-syntax-entry ?\" "\" ")
! (modify-syntax-entry ?' " p")
! (modify-syntax-entry ?` " p")
!
! ;; Special characters
! (modify-syntax-entry ?, "_ p")
! (modify-syntax-entry ?@ "_ p")
! (modify-syntax-entry ?# "_ p14")
! (modify-syntax-entry ?\\ "\\ "))
st))
(defvar scheme-mode-abbrev-table nil)
--- 56,109 ----
(defvar scheme-mode-syntax-table
(let ((st (make-syntax-table))
(i 0))
!
! ;; Default is atom-constituent.
! (while (< i 256)
! (modify-syntax-entry i "_ " st)
! (setq i (1+ i)))
!
! ;; Word components.
! (setq i ?0)
! (while (<= i ?9)
! (modify-syntax-entry i "w " st)
! (setq i (1+ i)))
! (setq i ?A)
! (while (<= i ?Z)
! (modify-syntax-entry i "w " st)
! (setq i (1+ i)))
! (setq i ?a)
! (while (<= i ?z)
! (modify-syntax-entry i "w " st)
! (setq i (1+ i)))
!
! ;; Whitespace
! (modify-syntax-entry ?\t " " st)
! (modify-syntax-entry ?\n "> " st)
! (modify-syntax-entry ?\f " " st)
! (modify-syntax-entry ?\r " " st)
! (modify-syntax-entry ? " " st)
!
! ;; These characters are delimiters but otherwise undefined.
! ;; Brackets and braces balance for editing convenience.
! (modify-syntax-entry ?\[ "(] " st)
! (modify-syntax-entry ?\] ")[ " st)
! (modify-syntax-entry ?{ "(} " st)
! (modify-syntax-entry ?} "){ " st)
! (modify-syntax-entry ?\| " 23" st)
!
! ;; Other atom delimiters
! (modify-syntax-entry ?\( "() " st)
! (modify-syntax-entry ?\) ")( " st)
! (modify-syntax-entry ?\; "< " st)
! (modify-syntax-entry ?\" "\" " st)
! (modify-syntax-entry ?' " p" st)
! (modify-syntax-entry ?` " p" st)
!
! ;; Special characters
! (modify-syntax-entry ?, "_ p" st)
! (modify-syntax-entry ?@ "_ p" st)
! (modify-syntax-entry ?# "_ p14" st)
! (modify-syntax-entry ?\\ "\\ " st)
st))
(defvar scheme-mode-abbrev-table nil)
- scheme.el bug & fix,
David PONCE <=
- Re: scheme.el bug & fix, Stefan Monnier, 2003/02/16
- Re: scheme.el bug & fix, Luc Teirlinck, 2003/02/16
- Re: scheme.el bug & fix, Stefan Monnier, 2003/02/17
- Re: scheme.el bug & fix, Luc Teirlinck, 2003/02/17
- Re: scheme.el bug & fix, Stefan Monnier, 2003/02/18
- Re: scheme.el bug & fix, Richard Stallman, 2003/02/19
- Re: scheme.el bug & fix, Stefan Monnier, 2003/02/19