summaryrefslogtreecommitdiff
path: root/rust-mode.el
diff options
context:
space:
mode:
authorPhillip Lord <phillip.lord@russet.org.uk>2020-05-02 10:35:06 +0100
committerNathan Moreau <nathan.moreau@m4x.org>2020-05-03 17:06:24 +0200
commit8733792250169d7c2234d6eec710ae4ba37c15e5 (patch)
tree9b9707271ecb3b4c020193cd9c132bda81685251 /rust-mode.el
parent39f32ccd6a1183df26a223a23db255a67076cd2d (diff)
downloadrust-mode-8733792250169d7c2234d6eec710ae4ba37c15e5.tar.gz
Drop Emacs-24
Emacs-24 is now two major versions behind and will soon be three, so formally remove support for it.
Diffstat (limited to 'rust-mode.el')
-rw-r--r--rust-mode.el75
1 files changed, 2 insertions, 73 deletions
diff --git a/rust-mode.el b/rust-mode.el
index 9d6040b..6a0c1b5 100644
--- a/rust-mode.el
+++ b/rust-mode.el
@@ -4,7 +4,7 @@
;; Author: Mozilla
;; Url: https://github.com/rust-lang/rust-mode
;; Keywords: languages
-;; Package-Requires: ((emacs "24.0"))
+;; Package-Requires: ((emacs "25.1"))
;; This file is distributed under the terms of both the MIT license and the
;; Apache License (version 2.0).
@@ -28,13 +28,6 @@
(defvar rust-buffer-project)
(make-variable-buffer-local 'rust-buffer-project)
-;; for GNU Emacs < 24.3
-(eval-when-compile
- (unless (fboundp 'setq-local)
- (defmacro setq-local (var val)
- "Set variable VAR to value VAL in current buffer."
- (list 'set (list 'make-local-variable (list 'quote var)) val))))
-
(defun rust-re-word (inner) (concat "\\<" inner "\\>"))
(defun rust-re-grab (inner) (concat "\\(" inner "\\)"))
(defun rust-re-shy (inner) (concat "\\(?:" inner "\\)"))
@@ -2005,77 +1998,13 @@ visit the new file."
(goto-char old-point)))
(t
(when (rust-in-str)
- (rust--up-list -1 t t))
+ (up-list -1 t t))
(insert "(")
(forward-sexp)
(insert ")")
(backward-sexp)))
(insert "dbg!"))
-(defun rust--up-list (&optional arg escape-strings no-syntax-crossing)
- "Compatibility for emacs 24."
- (or arg (setq arg 1))
- (let ((inc (if (> arg 0) 1 -1))
- (pos nil))
- (while (/= arg 0)
- (condition-case err
- (save-restriction
- ;; If we've been asked not to cross string boundaries
- ;; and we're inside a string, narrow to that string so
- ;; that scan-lists doesn't find a match in a different
- ;; string.
- (when no-syntax-crossing
- (let* ((syntax (syntax-ppss))
- (string-comment-start (nth 8 syntax)))
- (when string-comment-start
- (save-excursion
- (goto-char string-comment-start)
- (narrow-to-region
- (point)
- (if (nth 3 syntax) ; in string
- (condition-case nil
- (progn (forward-sexp) (point))
- (scan-error (point-max)))
- (forward-comment 1)
- (point)))))))
- (if (null forward-sexp-function)
- (goto-char (or (scan-lists (point) inc 1)
- (buffer-end arg)))
- (condition-case err
- (while (progn (setq pos (point))
- (forward-sexp inc)
- (/= (point) pos)))
- (scan-error (goto-char (nth (if (> arg 0) 3 2) err))))
- (if (= (point) pos)
- (signal 'scan-error
- (list "Unbalanced parentheses" (point) (point))))))
- (scan-error
- (let ((syntax nil))
- (or
- ;; If we bumped up against the end of a list, see whether
- ;; we're inside a string: if so, just go to the beginning
- ;; or end of that string.
- (and escape-strings
- (or syntax (setf syntax (syntax-ppss)))
- (nth 3 syntax)
- (goto-char (nth 8 syntax))
- (progn (when (> inc 0)
- (forward-sexp))
- t))
- ;; If we narrowed to a comment above and failed to escape
- ;; it, the error might be our fault, not an indication
- ;; that we're out of syntax. Try again from beginning or
- ;; end of the comment.
- (and no-syntax-crossing
- (or syntax (setf syntax (syntax-ppss)))
- (nth 4 syntax)
- (goto-char (nth 8 syntax))
- (or (< inc 0)
- (forward-comment 1))
- (setf arg (+ arg inc)))
- (signal (car err) (cdr err))))))
- (setq arg (- arg inc)))))
-
;;;###autoload
(defun rust-dbg-wrap-or-unwrap ()
"Either remove or add the dbg! macro."