From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: =?UTF-8?Q?Cl=c3=a9ment_Pit--Claudel?= Newsgroups: gmane.emacs.devel Subject: How does one set up a syntax table for (* and //? Date: Wed, 11 Jan 2017 10:44:04 -0500 Message-ID: NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Trace: blaine.gmane.org 1484149490 15379 195.159.176.226 (11 Jan 2017 15:44:50 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Wed, 11 Jan 2017 15:44:50 +0000 (UTC) User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.5.1 To: Emacs developers Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Jan 11 16:44:46 2017 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cRL4j-0002XF-GH for ged-emacs-devel@m.gmane.org; Wed, 11 Jan 2017 16:44:33 +0100 Original-Received: from localhost ([::1]:54955 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cRL4o-0007ne-31 for ged-emacs-devel@m.gmane.org; Wed, 11 Jan 2017 10:44:38 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:60116) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cRL4B-0007mQ-Ic for emacs-devel@gnu.org; Wed, 11 Jan 2017 10:44:00 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cRL47-0007wG-Lv for emacs-devel@gnu.org; Wed, 11 Jan 2017 10:43:59 -0500 Original-Received: from mout.kundenserver.de ([217.72.192.75]:55718) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1cRL47-0007vJ-Ak for emacs-devel@gnu.org; Wed, 11 Jan 2017 10:43:55 -0500 Original-Received: from [18.189.99.164] ([18.189.99.164]) by mrelayeu.kundenserver.de (mreue101 [212.227.15.184]) with ESMTPSA (Nemesis) id 0M8zYj-1cJxjR2qUf-00CQb2 for ; Wed, 11 Jan 2017 16:43:52 +0100 X-Provags-ID: V03:K0:XMlADozDsfYQ61cyjqTyOILtkLjH+xBViOc9DAKWSO6bNUVnkaf exac5KKdPGZ+GnE5ANZaTuw48PW9QAa3g48ySSyfkzp2B0NF1XE8Rqcq5AJYycOKrtxJhvk DInui60na3JayQiM/+R+ObSZHF21H+591mZNfBJlH6AY3x6OTGdxjSN8PTtPMxu4wsJz8ym Md59ZiT0MLS1Ej00LUtug== X-UI-Out-Filterresults: notjunk:1;V01:K0:tEnQ28jKMFw=:3GQFdJ9jRfH/Ch3FTg4v6G 6P0ObHYtH9asCtatcUXY+A/scfriNHfs19CA97FNc38LYn5ppD8T9DBKslfY2WwnqasmF/l9s VadWOg0SNy69xrjlN8nsNp5qpJYJWzneXPxclD8ylSd7FPK9NXUpr1PVt2tlSJNckhHoBcGrN FDtZPXKFZMDU+L6HGYLk/BUePzT7hiAaWJuW9RvISvEJkfQGHVk3Od2IbGBHmb435py6jR2Mr GJDbNWxv3bsBIy7sfIZvKPC0wdvKHlqkn5d2w//dc3UJPm3Nq6Tx515Lcx6V+hY0+tNOefmAc mhT5MdZ00aHiYh6fA0IxWSKuHYk1xk5bJ+fOnYy737/uwhbV58ryiA3G1l4n3dYwVK3NYdKrc 3CcLGowYGIm3F9zhRHOb1l4LPOwiyG1cs7wlxOc9F97ULYe9c+OcqDVZAdTORQR1Fz5t+cUic MKaKXwHsYBcenb1ZSMFzshun/WkpivL3I3+nT1VfxHikILD43rOdFyoQo1yzxUJ6d3pdSUwc7 t43Vdcbsn2AP7CO01vlAsd1wmFiKuCZ9ncWVGKtLxDYKsJeyVptk22VYLEfFVKyFgg6grUjZq JysHlOPOeLPHzfHi5yBfOy400n+3X83z5uOIOYy2obo0Zoc257/pMzLGTBZlxIoxuei+9P7mO Q7IPBvVkeoRdVUkHUn4Az0k3k3+y+lK8yzQ0VrfFNuPZnkabbBtmq66DT3ZYWUII7SEfLgr5X 6IEu+dxi6rR0Ht8q X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 217.72.192.75 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:211195 Archived-At: Hi Emacs devel, As far as I can tell from the docs, the following syntax table should recognize // … line comments and nestable (* … *) comments properly: (defvar example-syntax-table (let ((table (make-syntax-table))) (modify-syntax-entry ?* ". 23" table) (modify-syntax-entry ?/ ". 12c" table) (modify-syntax-entry ?\n "> c" table) (modify-syntax-entry ?\( "()1n" table) (modify-syntax-entry ?\) ")(4n" table) table)) Yet it does not: (with-current-buffer (get-buffer-create "test") (erase-buffer) (prog-mode) (set-syntax-table example-syntax-table) (insert "// line comment\n") (insert "regular text\n") (insert "(* nested (* comments *) *)\n") (insert "regular text\n") (insert "(// another line comment,\nwhich incorrectly extends past the newline?\n") (pop-to-buffer (current-buffer))) In this example, the last line (“which incorrectly extends past the newline?”), is considered to be a comment, because the sequence "(/" is treated as a multiline comment opener. How can I work around this? Did I miss something in the manual? Thanks! Clément.