Elisp: How to 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's standard-syntax-table considers the curly quote as punctuation character.

〔►see Elisp: How to Find Syntax of a Character?

(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 (($temp-syn-table (make-syntax-table)))

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

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

test “xyz” text

(info "(elisp) Syntax Table Functions")

Writing Major Mode

  1. How to Write a Emacs Major Mode for Syntax Coloring
  2. Elisp: html6-mode
  3. Elisp: Font Lock Mode Basics
  4. Elisp: How to Define Face
  5. Elisp: How to Color Comment in Major Mode
  6. Elisp: How to Write Comment Command in Major Mode
  7. Elisp: How to Write Your Own Comment Command from Scratch
  8. Elisp: How to Write Keyword Completion Command
  9. Elisp: How to Create Keymap for Major Mode
  10. Elisp: Create Abbrev and Templates for Major Mode
  11. Elisp: Text Properties
  12. Elisp: Overlay Highlighting
  13. Emacs: Lookup Google, Dictionary, Documentation
  14. Elisp: Syntax Table Tutorial

  1. Elisp: How to Name Your Major Mode
  2. Elisp: What's “feature”?
  3. Elisp: require, load, load-file, autoload, feature, Explained

Syntax Table

  1. Elisp: Syntax Table Tutorial
  2. Elisp: How to Find Syntax of a Character?
  3. Elisp: How to Modify Syntax Table Temporarily
  4. Elisp: How to Determine If Cursor is Inside String or Comment
  5. Elisp: Regex Patterns and Syntax Table
  6. Elisp: Find Matching Bracket Character
Like it? Buy Xah Emacs Tutorial. Thanks.