Elisp: Modify Syntax Table Temporarily

By Xah Lee. Date: . Last updated: .

Here's a example of how to use a temporary syntax table just for 1 command.

Suppose, we want the curly quote to be considered as a bracket.

Emacs standard-syntax-table considers the curly quote as punctuation character.

〔see Elisp: Find Syntax of a Char

(defun test ()
  "move cursor to the right 1 char, but if it is a left curly quote, jump to the right curly quote.
Version 2017-02-13"
  (interactive)
  (let ((xtemp-syn-table (make-syntax-table)))

    (modify-syntax-entry ?\“ "(”" xtemp-syn-table)
    (modify-syntax-entry ?\” ")“" xtemp-syn-table)

    (with-syntax-table xtemp-syn-table
      (if (looking-at "\\s(")
          (forward-sexp 1)
        (right-char )))))

test “xyz” text

Syntax Table Functions (ELISP Manual)

Elisp, character and syntax table