help-smalltalk
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: display _ as left arrow (was Re: Help on sending a UDP Packet)


From: Stefan Monnier
Subject: Re: display _ as left arrow (was Re: Help on sending a UDP Packet)
Date: Wed, 13 Jan 2021 14:57:47 -0500
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)

> I installed the patch below for now.

Duh, here it is,


        Stefan


diff --git a/smalltalk-mode.el b/smalltalk-mode.el
index f662fe1d69..5260b1e510 100644
--- a/smalltalk-mode.el
+++ b/smalltalk-mode.el
@@ -2,8 +2,8 @@
 
 ;; Author: Steve Byrne
 ;; Maintainer: Derek Zhou <derek@3qin.us>
-;; Version: 3.2.92
-;; Copyright 1988-2020  Free Software Foundation, Inc.
+;; Version: 4.0
+;; Copyright 1988-2021  Free Software Foundation, Inc.
 
 ;; This file is part of GNU Smalltalk.
 
@@ -39,6 +39,13 @@
 ;; Incorporates Frank Caggiano's changes for Emacs 19.
 ;; Updates and changes for Emacs 20 and 21 by David Forster
 
+;;; News
+
+;; New in 4.0:
+;; - Completely rewritten indentation code, which now relies on SMIE
+;; - Support for `prettify-symbols-mode'
+;; - Use `electric-indent-mode'
+
 ;;; Code:
 
 (require 'smie nil t)                   ;Not indispensable (yet).
@@ -352,10 +359,11 @@ of the line where the search succeeded.  Otherwise, 
return nil."
              ("<" id ">")              ;Meta info like `comment' and `category'
              (exp "!" exp)             ;GNU Smalltalk extension
              (id ":=" exp)             ;Assignment
+             (id "_" exp)             ;Assignment
              (exp ";" exp)             ;Message cascading
              (exp "\n" exp)            ;Separator for bang method header
              (exp "." exp)))           ;Separate instructions
-      '((assoc "!") (assoc "|") (assoc "." "\n") (noassoc ":=" "^")
+      '((assoc "!") (assoc "|") (assoc "." "\n") (noassoc ":=" "_" "^")
         (assoc ";") (assoc "kw-sel" "bin-sel"))))))
 
 (defconst smalltalk--smie-id-re
@@ -453,7 +461,7 @@ of the line where the search succeeded.  Otherwise, return 
nil."
   "Return non-nil if the thing at point is allowed to be an /expr/."
   (save-excursion
     (pcase (smalltalk--smie-backward-token)
-      ((or `"bin-sel" `"kw-sel" ":=" `"." `"^" `"!" "|")
+      ((or `"bin-sel" `"kw-sel" ":=" "_" `"." `"^" `"!" "|")
        t)
       ((or `"|-open" `";" `"lit-symbol" "lit-number") nil)
       ;;`""' means we bumped into a paren or a string.
@@ -475,7 +483,7 @@ of the line where the search succeeded.  Otherwise, return 
nil."
     (`(:elem . basic) smalltalk-indent-amount)
     (`(:after . "|") 0)
     (`(:after . ">") 0)                 ;Indentation after a pragma.
-    (`(:after . ":=") smalltalk-indent-amount)
+    (`(:after . ,(or ":=" "_")) smalltalk-indent-amount)
     (`(:after . "\n") (if (smie-rule-parent-p "!") ;GST2 method header 
separator
                           smalltalk-indent-amount))
     (`(:after . ";")
@@ -534,6 +542,7 @@ of the line where the search succeeded.  Otherwise, return 
nil."
 
 (defvar smalltalk-prettify-symbols-alist
   '(("^" . ?↑)
+    ("_" . ?←)
     (":=" . ?←)))
 
 ;;;; ---[ Interactive functions ]---------------------------------------




reply via email to

[Prev in Thread] Current Thread [Next in Thread]