[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/d-mode 9edcfbd 197/346: Remove unused bits from d-in-knr-a
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/d-mode 9edcfbd 197/346: Remove unused bits from d-in-knr-argdecl |
Date: |
Sun, 29 Aug 2021 11:00:30 -0400 (EDT) |
branch: elpa/d-mode
commit 9edcfbdb830d970e312a37e4cbd944b753c3dd5d
Author: Vladimir Panteleev <git@thecybershadow.net>
Commit: Vladimir Panteleev <git@thecybershadow.net>
Remove unused bits from d-in-knr-argdecl
---
d-mode.el | 121 +++++++++++++++++++++++++++++---------------------------------
1 file changed, 57 insertions(+), 64 deletions(-)
diff --git a/d-mode.el b/d-mode.el
index 862e3dc..2afd78d 100644
--- a/d-mode.el
+++ b/d-mode.el
@@ -981,71 +981,64 @@ Key bindings:
(defun d-in-knr-argdecl (&optional lim)
"Modified version of `c-in-knr-argdecl' for d-mode." ;; checkdoc-params: lim
(save-excursion
- (save-restriction
- ;; If we're in a macro, our search range is restricted to it. Narrow to
- ;; the searchable range.
- (let* ((macro-start (save-excursion (and (c-beginning-of-macro)
(point))))
- (macro-end (save-excursion (and macro-start (c-end-of-macro)
(point))))
- (low-lim (max (or lim (point-min)) (or macro-start (point-min))))
- before-lparen after-rparen
- (here (point))
- (pp-count-out 20) ; Max number of paren/brace constructs before
+ ;; If we're in a macro, our search range is restricted to it. Narrow to
+ ;; the searchable range.
+ (let* (before-lparen
+ after-rparen
+ (pp-count-out 20) ; Max number of paren/brace constructs before
; we give up.
- ids ; List of identifiers in the parenthesized list.
- id-start after-prec-token decl-or-cast decl-res
- c-last-identifier-range identifier-ok)
- (narrow-to-region low-lim (or macro-end (point-max)))
-
- (catch 'knr
- (while (> pp-count-out 0) ; go back one paren/bracket pair each time.
- (setq pp-count-out (1- pp-count-out))
- (c-syntactic-skip-backward "^)]}=")
- (cond ((eq (char-before) ?\))
- (setq after-rparen (point)))
- ((eq (char-before) ?\])
- (setq after-rparen nil))
- (t ; either } (hit previous defun) or = or no more
- ; parens/brackets.
- (throw 'knr nil)))
-
- (if after-rparen
- ;; We're inside a paren. Could it be our argument list....?
- (if
- (and
- (progn
- (goto-char after-rparen)
- (unless (c-go-list-backward) (throw 'knr nil)) ;
- ;; FIXME!!! What about macros between the parens?
2007/01/20
- (setq before-lparen (point)))
-
- ;; It can't be the arg list if next token is ; or {
- (progn (goto-char after-rparen)
- (c-forward-syntactic-ws)
- (not (memq (char-after) '(?\; ?\{ ?\=))))
-
- ;; Is the thing preceding the list an identifier (the
- ;; function name), or a macro expansion?
- (progn
- (goto-char before-lparen)
- (eq (c-backward-token-2) 0)
- (or (eq (d--on-func-identifier) (point))
- (and (eq (char-after) ?\))
- (c-go-up-list-backward)
- (eq (c-backward-token-2) 0)
- (eq (d--on-func-identifier) (point)))))
-
- ;; (... original c-in-knr-argdecl logic omitted here ...)
- t)
- ;; ...Yes. We've identified the function's argument list.
- (throw 'knr
- (progn (goto-char after-rparen)
- (c-forward-syntactic-ws)
- (point)))
- ;; ...No. The current parens aren't the function's arg list.
- (goto-char before-lparen))
-
- (or (c-go-list-backward) ; backwards over [ .... ]
- (throw 'knr nil)))))))))
+ c-last-identifier-range)
+
+ (catch 'knr
+ (while (> pp-count-out 0) ; go back one paren/bracket pair each time.
+ (setq pp-count-out (1- pp-count-out))
+ (c-syntactic-skip-backward "^)]}=")
+ (cond ((eq (char-before) ?\))
+ (setq after-rparen (point)))
+ ((eq (char-before) ?\])
+ (setq after-rparen nil))
+ (t ; either } (hit previous defun) or = or no more
+ ; parens/brackets.
+ (throw 'knr nil)))
+
+ (if after-rparen
+ ;; We're inside a paren. Could it be our argument list....?
+ (if
+ (and
+ (progn
+ (goto-char after-rparen)
+ (unless (c-go-list-backward) (throw 'knr nil)) ;
+ ;; FIXME!!! What about macros between the parens?
2007/01/20
+ (setq before-lparen (point)))
+
+ ;; It can't be the arg list if next token is ; or {
+ (progn (goto-char after-rparen)
+ (c-forward-syntactic-ws)
+ (not (memq (char-after) '(?\; ?\{ ?\=))))
+
+ ;; Is the thing preceding the list an identifier (the
+ ;; function name), or a macro expansion?
+ (progn
+ (goto-char before-lparen)
+ (eq (c-backward-token-2) 0)
+ (or (eq (d--on-func-identifier) (point))
+ (and (eq (char-after) ?\))
+ (c-go-up-list-backward)
+ (eq (c-backward-token-2) 0)
+ (eq (d--on-func-identifier) (point)))))
+
+ ;; (... original c-in-knr-argdecl logic omitted here ...)
+ t)
+ ;; ...Yes. We've identified the function's argument list.
+ (throw 'knr
+ (progn (goto-char after-rparen)
+ (c-forward-syntactic-ws)
+ (point)))
+ ;; ...No. The current parens aren't the function's arg list.
+ (goto-char before-lparen))
+
+ (or (c-go-list-backward) ; backwards over [ .... ]
+ (throw 'knr nil))))))))
(defun d-around--c-in-knr-argdecl (orig-fun &rest args)
;; checkdoc-params: (orig-fun args)
- [nongnu] elpa/d-mode 98af62e 167/346: tests: Add test for #26 variant with compile- and run-time argument lists, (continued)
- [nongnu] elpa/d-mode 98af62e 167/346: tests: Add test for #26 variant with compile- and run-time argument lists, ELPA Syncer, 2021/08/29
- [nongnu] elpa/d-mode a97c92c 168/346: d-mode: Remove 'bit' from keyword list., ELPA Syncer, 2021/08/29
- [nongnu] elpa/d-mode 398f185 171/346: Merge pull request #85 from MartinNowak/fix49, ELPA Syncer, 2021/08/29
- [nongnu] elpa/d-mode 8cf1ec5 174/346: Work around Emacs bug #18845, ELPA Syncer, 2021/08/29
- [nongnu] elpa/d-mode f384327 179/346: Fix imenu with typename ending with keyword, ELPA Syncer, 2021/08/29
- [nongnu] elpa/d-mode e809bd1 181/346: Fix imenu with conditional non-function declarations, ELPA Syncer, 2021/08/29
- [nongnu] elpa/d-mode 5e08129 192/346: Fix indentation of function out contracts, ELPA Syncer, 2021/08/29
- [nongnu] elpa/d-mode 06fb0ff 189/346: Fix indentation of enums with a base type, ELPA Syncer, 2021/08/29
- [nongnu] elpa/d-mode 1afddc7 190/346: Fix a typo in a regex, ELPA Syncer, 2021/08/29
- [nongnu] elpa/d-mode 382a677 195/346: Use c-major-mode-is, ELPA Syncer, 2021/08/29
- [nongnu] elpa/d-mode 9edcfbd 197/346: Remove unused bits from d-in-knr-argdecl,
ELPA Syncer <=
- [nongnu] elpa/d-mode 175c6e5 193/346: Fix indentation of function constraints/contracts?, ELPA Syncer, 2021/08/29
- [nongnu] elpa/d-mode 5fdba4e 202/346: Add pragma keyword, ELPA Syncer, 2021/08/29
- [nongnu] elpa/d-mode 51b1af1 203/346: Fix K&R region detection and body-less function declarations, ELPA Syncer, 2021/08/29
- [nongnu] elpa/d-mode b5fb492 204/346: Fix fontification of manifest (enum) constants, ELPA Syncer, 2021/08/29
- [nongnu] elpa/d-mode e52434e 218/346: d-mode-test.el: Save actual result to file in case of mismatch, ELPA Syncer, 2021/08/29
- [nongnu] elpa/d-mode 609816b 219/346: tests: Move d-forward-type tests to new test file, ELPA Syncer, 2021/08/29
- [nongnu] elpa/d-mode 4d9f9ce 211/346: Drop support for Emacs 24, ELPA Syncer, 2021/08/29
- [nongnu] elpa/d-mode f2b4aec 205/346: Fix fontification of "a in b" expressions, ELPA Syncer, 2021/08/29
- [nongnu] elpa/d-mode f69e94e 207/346: Change test suite enumeration and activation, ELPA Syncer, 2021/08/29
- [nongnu] elpa/d-mode b0a59de 214/346: Fix mis-parsing of concatenating two variables, ELPA Syncer, 2021/08/29