[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/smalltalk-mode f5e8b4b: * smalltalk-mode.el: Use electr
From: |
Stefan Monnier |
Subject: |
[elpa] externals/smalltalk-mode f5e8b4b: * smalltalk-mode.el: Use electric-indent instead of smalltalk-colon |
Date: |
Tue, 23 Apr 2019 08:40:01 -0400 (EDT) |
branch: externals/smalltalk-mode
commit f5e8b4b6d9616331e0d1ab0e9e498856de0ffda3
Author: Stefan Monnier <address@hidden>
Commit: Stefan Monnier <address@hidden>
* smalltalk-mode.el: Use electric-indent instead of smalltalk-colon
(smalltalk-mode-map): Don't bind smalltalk-colon in Emacs≥24.4.
(smalltalk-mode): Add `:` to electric-indent-chars.
---
smalltalk-mode.el | 15 +++++++++++++--
1 file changed, 13 insertions(+), 2 deletions(-)
diff --git a/smalltalk-mode.el b/smalltalk-mode.el
index 60cd571..0e80a10 100644
--- a/smalltalk-mode.el
+++ b/smalltalk-mode.el
@@ -154,7 +154,9 @@ Requires Emacs≥23.3."
(defvar smalltalk-mode-map
(let ((keymap (make-sparse-keymap)))
;; (define-key keymap "\n" 'smalltalk-newline-and-indent)
+ ;; FIXME: Set `beginning-of-defun-function' instead!
(define-key keymap "\C-c\C-a" 'smalltalk-begin-of-defun)
+ ;; FIXME: Set `end-of-defun-function' instead!
(define-key keymap "\C-c\C-e" 'smalltalk-end-of-defun)
(unless smalltalk-use-smie
(define-key keymap "\C-c\C-f" 'smalltalk-forward-sexp)
@@ -162,14 +164,18 @@ Requires Emacs≥23.3."
(define-key keymap "\C-c\C-p" 'smalltalk-goto-previous-keyword)
(define-key keymap "\C-c\C-n" 'smalltalk-goto-next-keyword)
;; the following three are deprecated
+ ;; FIXME: Set `beginning-of-defun-function' instead!
(define-key keymap "\C-\M-a" 'smalltalk-begin-of-defun)
(unless smalltalk-use-smie
(define-key keymap "\C-\M-f" 'smalltalk-forward-sexp)
(define-key keymap "\C-\M-b" 'smalltalk-backward-sexp))
;; FIXME: Use post-self-insert-hook!
(define-key keymap "!" 'smalltalk-bang)
- ;; FIXME: Use post-self-insert-hook!
- (define-key keymap ":" 'smalltalk-colon)
+ ;; `electric-indent-local-mode' was added when we changed
+ ;; `electric-indent-mode' to be enabled by default, in which case we'll get
+ ;; the same result as `smalltalk-colon' via electric-indent-chars.
+ (unless (fboundp 'electric-indent-local-mode)
+ (define-key keymap ":" 'smalltalk-colon))
(define-key keymap "\C-ct" smalltalk-template-map)
;; -----
@@ -180,6 +186,8 @@ Requires Emacs≥23.3."
;; ‘<’, ‘>’, ‘:’ or ‘;’. The other punctuation characters are
;; reserved for minor modes, and ordinary letters are reserved for
;; users.
+ ;; FIXME: The same problem affect the `C-c t' binding of
+ ;; `smalltalk-template-map'.
(define-key keymap "\C-cd" 'smalltalk-doit)
(define-key keymap "\C-cf" 'smalltalk-filein-buffer)
(define-key keymap "\C-cm" 'gst)
@@ -548,6 +556,9 @@ Commands:
(set (make-local-variable 'paragraph-ignore-fill-prefix) t)
(set (make-local-variable 'indent-line-function)
#'smalltalk-indent-line)
+ (when (boundp 'electric-indent-chars)
+ ;; Instead of `smalltalk-colon'.
+ (add-to-list 'electric-indent-chars ?\:))
(when (and smalltalk-use-smie (fboundp 'smie-setup))
(smie-setup smalltalk--smie-grammar #'smalltalk--smie-rules
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [elpa] externals/smalltalk-mode f5e8b4b: * smalltalk-mode.el: Use electric-indent instead of smalltalk-colon,
Stefan Monnier <=