[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/sm-c-mode 3c3b1f7 08/12: * sm-c-mode.el (sm-c--comment-
From: |
Stefan Monnier |
Subject: |
[elpa] externals/sm-c-mode 3c3b1f7 08/12: * sm-c-mode.el (sm-c--comment-regexp): Fix excessive backtracking |
Date: |
Sat, 28 Nov 2020 18:11:08 -0500 (EST) |
branch: externals/sm-c-mode
commit 3c3b1f7f10b095d9ec1a780fca0b9d7ba9455049
Author: Stefan Monnier <monnier@iro.umontreal.ca>
Commit: Stefan Monnier <monnier@iro.umontreal.ca>
* sm-c-mode.el (sm-c--comment-regexp): Fix excessive backtracking
(sm-c-mode-syntax-table): Add + and -.
---
sm-c-mode.el | 12 +++++++-----
1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/sm-c-mode.el b/sm-c-mode.el
index 54b9a54..deaf952 100644
--- a/sm-c-mode.el
+++ b/sm-c-mode.el
@@ -1,6 +1,6 @@
;;; sm-c-mode.el --- Experimental C major mode based on SMIE -*-
lexical-binding: t; -*-
-;; Copyright (C) 2015 Free Software Foundation, Inc.
+;; Copyright (C) 2015, 2016 Free Software Foundation, Inc.
;; Author: Stefan Monnier <monnier@iro.umontreal.ca>
;; Version: 0
@@ -266,6 +266,8 @@ E.g. a #define nested within 2 #ifs will be turned into \"#
define\"."
(modify-syntax-entry ?\" "\"" st)
(modify-syntax-entry ?\' "\"" st)
(modify-syntax-entry ?= "." st)
+ (modify-syntax-entry ?+ "." st)
+ (modify-syntax-entry ?- "." st)
(modify-syntax-entry ?< "." st)
(modify-syntax-entry ?> "." st)
st))
@@ -812,7 +814,7 @@ if INNER is non-nil, it stops at the innermost one."
;;; Font-lock support
(defconst sm-c--comment-regexp
- "/\\(?:/.*\n\\|\\*\\(?:[^*]+\\(?:\\*+[^/*]\\)*\\)*\\*/\\)")
+ "/\\(?:/.*\n\\|\\*[^*]*\\(?:\\*+[^/*][^*]*\\)*\\*+/\\)")
(defconst sm-c--defun-regexp
(let* ((spc0 (concat "\\(?:\n?[ \t]\\|" sm-c--comment-regexp "\\)*"))
@@ -825,9 +827,9 @@ if INNER is non-nil, it stops at the innermost one."
(1 "")))))
(concat
"^\\(?:"
- (repeat '* "\\*" spc0)
- (repeat '* id (repeat 1 spc1 "\\|" spc0 "\\*" spc0))
- "\\(" id "\\)[ \t\n]*("
+ (repeat '* "\\*" spc0) ;Pointer symbols.
+ (repeat '* id (repeat 1 spc1 "\\|" spc0 "\\*" spc0)) ;Type(s).
+ "\\(" id "\\)[ \t\n]*(" ;Function name.
"\\|"
"[ \t]*#[ \t]*define[ \t]+\\(?1:" id "\\)("
"\\)"))))
- [elpa] branch externals/sm-c-mode created (now a207ad8), Stefan Monnier, 2020/11/28
- [elpa] externals/sm-c-mode 1f2c7ec 04/12: * sm-c-mode: Improve indentation of struct; plus bug fixes, Stefan Monnier, 2020/11/28
- [elpa] externals/sm-c-mode 9d2cff5 06/12: * packages/sm-c-mode: Add imenu/which-func/add-log support, Stefan Monnier, 2020/11/28
- [elpa] externals/sm-c-mode 97dea83 02/12: * sm-c-mode.el (sm-c-font-lock-keywords): Match function defs., Stefan Monnier, 2020/11/28
- [elpa] externals/sm-c-mode 4c63cb1 03/12: * sm-c-mode.el: Auto-align backslashes. Improve indent rules, Stefan Monnier, 2020/11/28
- [elpa] externals/sm-c-mode 5e67afc 07/12: * sm-c-mode/sm-c-mode.el (sm-c-smie-rules): Improve indent of enum's {...}, Stefan Monnier, 2020/11/28
- [elpa] externals/sm-c-mode 3ef465d 11/12: * packages/sm-c-mode/sm-c-mode.el: Improve \ alignment with long lines, Stefan Monnier, 2020/11/28
- [elpa] externals/sm-c-mode a207ad8 12/12: * .gitignore: New file, Stefan Monnier, 2020/11/28
- [elpa] externals/sm-c-mode a3efebd 09/12: * sm-c-mode.el: Fix some problems reported by Andrés Ramírez, Stefan Monnier, 2020/11/28
- [elpa] externals/sm-c-mode 5646e71 05/12: * sm-c-mode.el: Improve "Commentary:" and docstrings, Stefan Monnier, 2020/11/28
- [elpa] externals/sm-c-mode 3c3b1f7 08/12: * sm-c-mode.el (sm-c--comment-regexp): Fix excessive backtracking,
Stefan Monnier <=
- [elpa] externals/sm-c-mode 3b5d1e0 01/12: * sm-c-mode: New experimental package, Stefan Monnier, 2020/11/28
- [elpa] externals/sm-c-mode 0fde734 10/12: * packages/sm-c-mode/sm-c-mode.el: Release as version 1.0, Stefan Monnier, 2020/11/28