Re: adding smalltalk-mode to ELPA?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

Re: adding smalltalk-mode to ELPA?

Stefan Monnier
>>> Anyway, from what I understand, you have no intention of moving
>>> smalltalk-mode.el elsewhere nor to spend your time with a 2-way sync.
>>> In that case, I think it's best not to add smalltalk-mode.el to GNU
>>> ELPA to avoid the risk of a fork.
>> i am not a member of the smalltalk dev team, they are listed on
>> savannah[1] - i was only offering some general observations,
>> anticipating what i would expect to be the response of most upstreams
>> when asked to to do the things you are suggesting
> I am currently not a GNU Emacs user and as a result have been quiet on
> this topic.
> There seems to be benefit[1] to move the smalltalk-model.el into the GNU
> ELPA repository.  I can check what rms wrote but I need one of you to do
> the actual move.

Here's what I suggest:
- I used `filter-branch` to get a Git branch which only contains the
  Elisp files of the GNU Smalltalk distribution
  (i.e. smalltalk-mode.el, gst-mode.el.in, and
  smalltalk-mode-init.el.in, but not snprintfv/doc/gnome-doc.el which
  seems unrelated).
- I wrote the tentative patch below which converts gst-mode.el.in to
  gst-mode.el (by assuming `gst` can be found in $PATH), and moves the
  content of smalltalk-mode-init.el.in into smalltalk-mode.el (with
  autoload annotations so that these get executed at startup when the
  smalltalk-mode package is activated rather than only later when/if the
  smalltalk-mode.el file is loaded).  It also slightly reformats the
  copyright blurbs to better follow the conventions and changes the
  GPLv2+ to GPLv3+.

I can add the result to elpa.git (from where elpa.gnu.org will create
a GNU ELPA package).  As things stand, this package would be labeled
"version 3.2.92".

If you disagree with some part of the patch below, feel free to point it
out so I can adjust it.

After that's done, I guess you could annotate your copy of those files
with a blurb explaining that the upstream version of the code can be
found in http://elpa.gnu.org/packages/smalltalk-mode.html.

Does that sound good?


        Stefan


diff --git a/.gitignore b/.gitignore
new file mode 100644
index 000000000..fcf24f130
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,3 @@
+*.elc
+smalltalk-mode-pkg.el
+smalltalk-mode-autoloads.el
diff --git a/gst-mode.el.in b/gst-mode.el
similarity index 91%
rename from gst-mode.el.in
rename to gst-mode.el
index 15713acdd..02f820d9c 100644
--- a/gst-mode.el.in
+++ b/gst-mode.el
@@ -1,29 +1,31 @@
+;;; gst-mode.el --- Interaction with GNU Smalltalk subprocess
+;;
+;; Copyright 1988-2019  Free Software Foundation, Inc.
+;; Written by Steve Byrne.
+;;
+;; This file is part of GNU Smalltalk.
+;;
+;; GNU Smalltalk is free software; you can redistribute it and/or modify it
+;; under the terms of the GNU General Public License as published by the Free
+;; Software Foundation; either version 3, or (at your option) any later
+;; version.
+;;
+;; GNU Smalltalk is distributed in the hope that it will be useful, but
+;; WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+;; or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+;; for more details.
+;;
+;; You should have received a copy of the GNU General Public License
+;; along with this program.  If not, see <http://www.gnu.org/licenses/>.
+;;
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;;;
-;;; Copyright 1988-92, 1994-95, 1999, 2000, 2003, 2007, 2008
-;;; Free Software Foundation, Inc.
-;;; Written by Steve Byrne.
-;;;
-;;; This file is part of GNU Smalltalk.
-;;;
-;;; GNU Smalltalk is free software; you can redistribute it and/or modify it
-;;; under the terms of the GNU General Public License as published by the Free
-;;; Software Foundation; either version 2, or (at your option) any later
-;;; version.
-;;;
-;;; GNU Smalltalk is distributed in the hope that it will be useful, but
-;;; WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-;;; or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-;;; for more details.
-;;;
-;;; You should have received a copy of the GNU General Public License along
-;;; with GNU Smalltalk; see the file COPYING.  If not, write to the Free
-;;; Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-;;;
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
-;;; Incorporates Frank Caggiano's changes for Emacs 19.
-;;; Updates and changes for Emacs 20 and 21 by David Forster
+;;; Commentary:
+
+;; Incorporates Frank Caggiano's changes for Emacs 19.
+;; Updates and changes for Emacs 20 and 21 by David Forster
+
+;;; Code:
 
 (require 'comint)
 
@@ -32,7 +34,7 @@
 
 (defvar *gst-process* nil
   "Holds the GNU Smalltalk process")
-(defvar gst-program-name "@bindir@/gst -V"
+(defvar gst-program-name "gst -V"
   "GNU Smalltalk command to run.  Do not use the -a, -f or -- options.")
 
 (defvar smalltalk-command-string nil
@@ -63,6 +65,7 @@
     keymap)
   "Keymap used in Smalltalk interactor mode.")
 
+;;;###autoload
 (defun gst (command-line)
   "Invoke GNU Smalltalk"
   (interactive (list (if (null current-prefix-arg)
diff --git a/smalltalk-mode-init.el.in b/smalltalk-mode-init.el.in
deleted file mode 100644
index a2dbef9d4..000000000
--- a/smalltalk-mode-init.el.in
+++ /dev/null
@@ -1,19 +0,0 @@
-;; Autoload file for smalltalk-mode
-
-;; duplicate zip files' setup for star files or fall back on
-;; archive-mode, which scans file contents to determine type so is
-;; safe to use
-(push (cons "\\.star\\'"
-    (catch 'archive-mode
-      (dolist (mode-assoc auto-mode-alist 'archive-mode)
- (and (string-match (car mode-assoc) "Starfile.zip")
-     (functionp (cdr mode-assoc))
-     (throw 'archive-mode (cdr mode-assoc))))))
-      auto-mode-alist)
-
-(if (boundp 'inhibit-local-variables-regexps)
-    (push "\\.star\\'" inhibit-local-variables-regexps)
-    (push "\\.star\\'" inhibit-first-line-modes-regexp))
-
-@WITH_EMACS_COMINT_TRUE@(autoload 'gst "@lispdir@/gst-mode.elc" "" t)
-
diff --git a/smalltalk-mode.el b/smalltalk-mode.el
index 6eb3b566c..e92d410b2 100644
--- a/smalltalk-mode.el
+++ b/smalltalk-mode.el
@@ -2,14 +2,13 @@
 
 ;; Author: Steve Byrne
 ;; Version: 3.2.92
-;; Copyright 1988-92, 1994-95, 1999, 2000, 2003, 2007, 2008, 2009
-;; Free Software Foundation, Inc.
+;; Copyright 1988-2019  Free Software Foundation, Inc.
 
 ;; This file is part of GNU Smalltalk.
 
 ;; GNU Smalltalk is free software; you can redistribute it and/or modify it
 ;; under the terms of the GNU General Public License as published by the Free
-;; Software Foundation; either version 2, or (at your option) any later
+;; Software Foundation; either version 3, or (at your option) any later
 ;; version.
 
 ;; GNU Smalltalk is distributed in the hope that it will be useful, but
@@ -231,6 +230,27 @@ Commands:
 ;;;###autoload
 (add-to-list 'auto-mode-alist '("\\.st\\'" . smalltalk-mode))
 
+;; GNU Smalltalk uses files with name `.star' which use the zip format.
+;; Duplicate zip files' setup for star files or fall back on
+;; archive-mode, which scans file contents to determine type so is
+;; safe to use.
+;;;###autoload
+(add-to-list
+ 'auto-mode-alist
+ (cons "\\.star\\'"
+       (catch 'archive-mode
+ (dolist (mode-assoc auto-mode-alist 'archive-mode)
+   (and (string-match (car mode-assoc) "Starfile.zip")
+ (functionp (cdr mode-assoc))
+ (throw 'archive-mode (cdr mode-assoc)))))))
+
+;;;###autoload
+(add-to-list (if (boundp 'inhibit-local-variables-regexps)
+                 'inhibit-local-variables-regexps
+               'inhibit-first-line-modes-regexp)
+             "\\.star\\'")
+
+
 (defun smalltalk-tab ()
   (interactive)
   (let (col)

_______________________________________________
help-smalltalk mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/help-smalltalk
Reply | Threaded
Open this post in threaded view
|

Re: adding smalltalk-mode to ELPA?

Derek Zhou-3

Stefan Monnier writes:

> - I wrote the tentative patch below which converts gst-mode.el.in to
>   gst-mode.el (by assuming `gst` can be found in $PATH), and moves the
>   content of smalltalk-mode-init.el.in into smalltalk-mode.el (with
>   autoload annotations so that these get executed at startup when the
>   smalltalk-mode package is activated rather than only later when/if the
>   smalltalk-mode.el file is loaded).  It also slightly reformats the
>   copyright blurbs to better follow the conventions and changes the
>   GPLv2+ to GPLv3+.

I don't use gst-mode so I cannot comment on this. I guess we will also
need to remove autotool hooks for gst-mode.el.in in the build
scripts if we want to remain 2-way sync in the future. Will the actual
user of gst-mode speak up? OTOH smalltalk-mode.el should cause no
problem.

Derek



_______________________________________________
help-smalltalk mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/help-smalltalk
Reply | Threaded
Open this post in threaded view
|

Re: adding smalltalk-mode to ELPA?

Stefan Monnier
In reply to this post by Stefan Monnier
Oh, one more thing: packages on elpa.git need a "maintainer email" to
which we send a copy of every commit.  Which address should we
use there?  Since these email messages contain diffs we usually use
either the address of a "development" mailing-list or of one person.
Should I put Derek Zhou's email address there?


        Stefan


> I can add the result to elpa.git (from where elpa.gnu.org will create
> a GNU ELPA package).  As things stand, this package would be labeled
> "version 3.2.92".
>
> If you disagree with some part of the patch below, feel free to point it
> out so I can adjust it.
>
> After that's done, I guess you could annotate your copy of those files
> with a blurb explaining that the upstream version of the code can be
> found in http://elpa.gnu.org/packages/smalltalk-mode.html.
>
> Does that sound good?
>
>
>         Stefan
>
>
> diff --git a/.gitignore b/.gitignore
> new file mode 100644
> index 000000000..fcf24f130
> --- /dev/null
> +++ b/.gitignore
> @@ -0,0 +1,3 @@
> +*.elc
> +smalltalk-mode-pkg.el
> +smalltalk-mode-autoloads.el
> diff --git a/gst-mode.el.in b/gst-mode.el
> similarity index 91%
> rename from gst-mode.el.in
> rename to gst-mode.el
> index 15713acdd..02f820d9c 100644
> --- a/gst-mode.el.in
> +++ b/gst-mode.el
> @@ -1,29 +1,31 @@
> +;;; gst-mode.el --- Interaction with GNU Smalltalk subprocess
> +;;
> +;; Copyright 1988-2019  Free Software Foundation, Inc.
> +;; Written by Steve Byrne.
> +;;
> +;; This file is part of GNU Smalltalk.
> +;;
> +;; GNU Smalltalk is free software; you can redistribute it and/or modify it
> +;; under the terms of the GNU General Public License as published by the Free
> +;; Software Foundation; either version 3, or (at your option) any later
> +;; version.
> +;;
> +;; GNU Smalltalk is distributed in the hope that it will be useful, but
> +;; WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
> +;; or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
> +;; for more details.
> +;;
> +;; You should have received a copy of the GNU General Public License
> +;; along with this program.  If not, see <http://www.gnu.org/licenses/>.
> +;;
>  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
> -;;;
> -;;; Copyright 1988-92, 1994-95, 1999, 2000, 2003, 2007, 2008
> -;;; Free Software Foundation, Inc.
> -;;; Written by Steve Byrne.
> -;;;
> -;;; This file is part of GNU Smalltalk.
> -;;;
> -;;; GNU Smalltalk is free software; you can redistribute it and/or modify it
> -;;; under the terms of the GNU General Public License as published by the Free
> -;;; Software Foundation; either version 2, or (at your option) any later
> -;;; version.
> -;;;
> -;;; GNU Smalltalk is distributed in the hope that it will be useful, but
> -;;; WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
> -;;; or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
> -;;; for more details.
> -;;;
> -;;; You should have received a copy of the GNU General Public License along
> -;;; with GNU Smalltalk; see the file COPYING.  If not, write to the Free
> -;;; Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
> -;;;
> -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
>  
> -;;; Incorporates Frank Caggiano's changes for Emacs 19.
> -;;; Updates and changes for Emacs 20 and 21 by David Forster
> +;;; Commentary:
> +
> +;; Incorporates Frank Caggiano's changes for Emacs 19.
> +;; Updates and changes for Emacs 20 and 21 by David Forster
> +
> +;;; Code:
>  
>  (require 'comint)
>  
> @@ -32,7 +34,7 @@
>  
>  (defvar *gst-process* nil
>    "Holds the GNU Smalltalk process")
> -(defvar gst-program-name "@bindir@/gst -V"
> +(defvar gst-program-name "gst -V"
>    "GNU Smalltalk command to run.  Do not use the -a, -f or -- options.")
>  
>  (defvar smalltalk-command-string nil
> @@ -63,6 +65,7 @@
>      keymap)
>    "Keymap used in Smalltalk interactor mode.")
>  
> +;;;###autoload
>  (defun gst (command-line)
>    "Invoke GNU Smalltalk"
>    (interactive (list (if (null current-prefix-arg)
> diff --git a/smalltalk-mode-init.el.in b/smalltalk-mode-init.el.in
> deleted file mode 100644
> index a2dbef9d4..000000000
> --- a/smalltalk-mode-init.el.in
> +++ /dev/null
> @@ -1,19 +0,0 @@
> -;; Autoload file for smalltalk-mode
> -
> -;; duplicate zip files' setup for star files or fall back on
> -;; archive-mode, which scans file contents to determine type so is
> -;; safe to use
> -(push (cons "\\.star\\'"
> -    (catch 'archive-mode
> -      (dolist (mode-assoc auto-mode-alist 'archive-mode)
> - (and (string-match (car mode-assoc) "Starfile.zip")
> -     (functionp (cdr mode-assoc))
> -     (throw 'archive-mode (cdr mode-assoc))))))
> -      auto-mode-alist)
> -
> -(if (boundp 'inhibit-local-variables-regexps)
> -    (push "\\.star\\'" inhibit-local-variables-regexps)
> -    (push "\\.star\\'" inhibit-first-line-modes-regexp))
> -
> -@WITH_EMACS_COMINT_TRUE@(autoload 'gst "@lispdir@/gst-mode.elc" "" t)
> -
> diff --git a/smalltalk-mode.el b/smalltalk-mode.el
> index 6eb3b566c..e92d410b2 100644
> --- a/smalltalk-mode.el
> +++ b/smalltalk-mode.el
> @@ -2,14 +2,13 @@
>  
>  ;; Author: Steve Byrne
>  ;; Version: 3.2.92
> -;; Copyright 1988-92, 1994-95, 1999, 2000, 2003, 2007, 2008, 2009
> -;; Free Software Foundation, Inc.
> +;; Copyright 1988-2019  Free Software Foundation, Inc.
>  
>  ;; This file is part of GNU Smalltalk.
>  
>  ;; GNU Smalltalk is free software; you can redistribute it and/or modify it
>  ;; under the terms of the GNU General Public License as published by the Free
> -;; Software Foundation; either version 2, or (at your option) any later
> +;; Software Foundation; either version 3, or (at your option) any later
>  ;; version.
>  
>  ;; GNU Smalltalk is distributed in the hope that it will be useful, but
> @@ -231,6 +230,27 @@ Commands:
>  ;;;###autoload
>  (add-to-list 'auto-mode-alist '("\\.st\\'" . smalltalk-mode))
>  
> +;; GNU Smalltalk uses files with name `.star' which use the zip format.
> +;; Duplicate zip files' setup for star files or fall back on
> +;; archive-mode, which scans file contents to determine type so is
> +;; safe to use.
> +;;;###autoload
> +(add-to-list
> + 'auto-mode-alist
> + (cons "\\.star\\'"
> +       (catch 'archive-mode
> + (dolist (mode-assoc auto-mode-alist 'archive-mode)
> +   (and (string-match (car mode-assoc) "Starfile.zip")
> + (functionp (cdr mode-assoc))
> + (throw 'archive-mode (cdr mode-assoc)))))))
> +
> +;;;###autoload
> +(add-to-list (if (boundp 'inhibit-local-variables-regexps)
> +                 'inhibit-local-variables-regexps
> +               'inhibit-first-line-modes-regexp)
> +             "\\.star\\'")
> +
> +
>  (defun smalltalk-tab ()
>    (interactive)
>    (let (col)

_______________________________________________
help-smalltalk mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/help-smalltalk
Reply | Threaded
Open this post in threaded view
|

Re: adding smalltalk-mode to ELPA?

Derek Zhou-3
yes, I can collect patches, test them, push them in my github clone and send pull request to elpa.

On April 10, 2019 1:04:53 AM GMT+08:00, Stefan Monnier <[hidden email]> wrote:

>Oh, one more thing: packages on elpa.git need a "maintainer email" to
>which we send a copy of every commit.  Which address should we
>use there?  Since these email messages contain diffs we usually use
>either the address of a "development" mailing-list or of one person.
>Should I put Derek Zhou's email address there?
>
>
>        Stefan
>
>
>> I can add the result to elpa.git (from where elpa.gnu.org will create
>> a GNU ELPA package).  As things stand, this package would be labeled
>> "version 3.2.92".
>>
>> If you disagree with some part of the patch below, feel free to point
>it
>> out so I can adjust it.
>>
>> After that's done, I guess you could annotate your copy of those
>files
>> with a blurb explaining that the upstream version of the code can be
>> found in http://elpa.gnu.org/packages/smalltalk-mode.html.
>>
>> Does that sound good?
>>
>>
>>         Stefan
>>
>>
>> diff --git a/.gitignore b/.gitignore
>> new file mode 100644
>> index 000000000..fcf24f130
>> --- /dev/null
>> +++ b/.gitignore
>> @@ -0,0 +1,3 @@
>> +*.elc
>> +smalltalk-mode-pkg.el
>> +smalltalk-mode-autoloads.el
>> diff --git a/gst-mode.el.in b/gst-mode.el
>> similarity index 91%
>> rename from gst-mode.el.in
>> rename to gst-mode.el
>> index 15713acdd..02f820d9c 100644
>> --- a/gst-mode.el.in
>> +++ b/gst-mode.el
>> @@ -1,29 +1,31 @@
>> +;;; gst-mode.el --- Interaction with GNU Smalltalk subprocess
>> +;;
>> +;; Copyright 1988-2019  Free Software Foundation, Inc.
>> +;; Written by Steve Byrne.
>> +;;
>> +;; This file is part of GNU Smalltalk.
>> +;;
>> +;; GNU Smalltalk is free software; you can redistribute it and/or
>modify it
>> +;; under the terms of the GNU General Public License as published by
>the Free
>> +;; Software Foundation; either version 3, or (at your option) any
>later
>> +;; version.
>> +;;
>> +;; GNU Smalltalk is distributed in the hope that it will be useful,
>but
>> +;; WITHOUT ANY WARRANTY; without even the implied warranty of
>MERCHANTABILITY
>> +;; or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
>License
>> +;; for more details.
>> +;;
>> +;; You should have received a copy of the GNU General Public License
>> +;; along with this program.  If not, see
><http://www.gnu.org/licenses/>.
>> +;;
>>
>;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
>> -;;;
>> -;;; Copyright 1988-92, 1994-95, 1999, 2000, 2003, 2007, 2008
>> -;;; Free Software Foundation, Inc.
>> -;;; Written by Steve Byrne.
>> -;;;
>> -;;; This file is part of GNU Smalltalk.
>> -;;;
>> -;;; GNU Smalltalk is free software; you can redistribute it and/or
>modify it
>> -;;; under the terms of the GNU General Public License as published
>by the Free
>> -;;; Software Foundation; either version 2, or (at your option) any
>later
>> -;;; version.
>> -;;;
>> -;;; GNU Smalltalk is distributed in the hope that it will be useful,
>but
>> -;;; WITHOUT ANY WARRANTY; without even the implied warranty of
>MERCHANTABILITY
>> -;;; or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
>License
>> -;;; for more details.
>> -;;;
>> -;;; You should have received a copy of the GNU General Public
>License along
>> -;;; with GNU Smalltalk; see the file COPYING.  If not, write to the
>Free
>> -;;; Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
>02110-1301, USA.
>> -;;;
>>
>-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
>>  
>> -;;; Incorporates Frank Caggiano's changes for Emacs 19.
>> -;;; Updates and changes for Emacs 20 and 21 by David Forster
>> +;;; Commentary:
>> +
>> +;; Incorporates Frank Caggiano's changes for Emacs 19.
>> +;; Updates and changes for Emacs 20 and 21 by David Forster
>> +
>> +;;; Code:
>>  
>>  (require 'comint)
>>  
>> @@ -32,7 +34,7 @@
>>  
>>  (defvar *gst-process* nil
>>    "Holds the GNU Smalltalk process")
>> -(defvar gst-program-name "@bindir@/gst -V"
>> +(defvar gst-program-name "gst -V"
>>    "GNU Smalltalk command to run.  Do not use the -a, -f or --
>options.")
>>  
>>  (defvar smalltalk-command-string nil
>> @@ -63,6 +65,7 @@
>>      keymap)
>>    "Keymap used in Smalltalk interactor mode.")
>>  
>> +;;;###autoload
>>  (defun gst (command-line)
>>    "Invoke GNU Smalltalk"
>>    (interactive (list (if (null current-prefix-arg)
>> diff --git a/smalltalk-mode-init.el.in b/smalltalk-mode-init.el.in
>> deleted file mode 100644
>> index a2dbef9d4..000000000
>> --- a/smalltalk-mode-init.el.in
>> +++ /dev/null
>> @@ -1,19 +0,0 @@
>> -;; Autoload file for smalltalk-mode
>> -
>> -;; duplicate zip files' setup for star files or fall back on
>> -;; archive-mode, which scans file contents to determine type so is
>> -;; safe to use
>> -(push (cons "\\.star\\'"
>> -    (catch 'archive-mode
>> -      (dolist (mode-assoc auto-mode-alist 'archive-mode)
>> - (and (string-match (car mode-assoc) "Starfile.zip")
>> -     (functionp (cdr mode-assoc))
>> -     (throw 'archive-mode (cdr mode-assoc))))))
>> -      auto-mode-alist)
>> -
>> -(if (boundp 'inhibit-local-variables-regexps)
>> -    (push "\\.star\\'" inhibit-local-variables-regexps)
>> -    (push "\\.star\\'" inhibit-first-line-modes-regexp))
>> -
>> -@WITH_EMACS_COMINT_TRUE@(autoload 'gst "@lispdir@/gst-mode.elc" ""
>t)
>> -
>> diff --git a/smalltalk-mode.el b/smalltalk-mode.el
>> index 6eb3b566c..e92d410b2 100644
>> --- a/smalltalk-mode.el
>> +++ b/smalltalk-mode.el
>> @@ -2,14 +2,13 @@
>>  
>>  ;; Author: Steve Byrne
>>  ;; Version: 3.2.92
>> -;; Copyright 1988-92, 1994-95, 1999, 2000, 2003, 2007, 2008, 2009
>> -;; Free Software Foundation, Inc.
>> +;; Copyright 1988-2019  Free Software Foundation, Inc.
>>  
>>  ;; This file is part of GNU Smalltalk.
>>  
>>  ;; GNU Smalltalk is free software; you can redistribute it and/or
>modify it
>>  ;; under the terms of the GNU General Public License as published by
>the Free
>> -;; Software Foundation; either version 2, or (at your option) any
>later
>> +;; Software Foundation; either version 3, or (at your option) any
>later
>>  ;; version.
>>  
>>  ;; GNU Smalltalk is distributed in the hope that it will be useful,
>but
>> @@ -231,6 +230,27 @@ Commands:
>>  ;;;###autoload
>>  (add-to-list 'auto-mode-alist '("\\.st\\'" . smalltalk-mode))
>>  
>> +;; GNU Smalltalk uses files with name `.star' which use the zip
>format.
>> +;; Duplicate zip files' setup for star files or fall back on
>> +;; archive-mode, which scans file contents to determine type so is
>> +;; safe to use.
>> +;;;###autoload
>> +(add-to-list
>> + 'auto-mode-alist
>> + (cons "\\.star\\'"
>> +       (catch 'archive-mode
>> + (dolist (mode-assoc auto-mode-alist 'archive-mode)
>> +   (and (string-match (car mode-assoc) "Starfile.zip")
>> + (functionp (cdr mode-assoc))
>> + (throw 'archive-mode (cdr mode-assoc)))))))
>> +
>> +;;;###autoload
>> +(add-to-list (if (boundp 'inhibit-local-variables-regexps)
>> +                 'inhibit-local-variables-regexps
>> +               'inhibit-first-line-modes-regexp)
>> +             "\\.star\\'")
>> +
>> +
>>  (defun smalltalk-tab ()
>>    (interactive)
>>    (let (col)
>
>_______________________________________________
>help-smalltalk mailing list
>[hidden email]
>https://lists.gnu.org/mailman/listinfo/help-smalltalk

--
Sent from my Android device with K-9 Mail. Please excuse my brevity.

_______________________________________________
help-smalltalk mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/help-smalltalk
Reply | Threaded
Open this post in threaded view
|

Re: adding smalltalk-mode to ELPA?

Stefan Monnier
> yes, I can collect patches, test them, push them in my github clone
> and send pull request to elpa.

OK, done, thank you.
It's now up at http://elpa.gnu.org/packages/smalltalk-mode.html

While testing this URL I just saw that the result is pretty poor for
lack of a worthwhile `Commentary:` section in smalltalk-mode.el.
Also it fails to refer to the specific "GNU Smalltalk" implementation.
Still some work to do...


        Stefan


> On April 10, 2019 1:04:53 AM GMT+08:00, Stefan Monnier <[hidden email]> wrote:
>>Oh, one more thing: packages on elpa.git need a "maintainer email" to
>>which we send a copy of every commit.  Which address should we
>>use there?  Since these email messages contain diffs we usually use
>>either the address of a "development" mailing-list or of one person.
>>Should I put Derek Zhou's email address there?
>>
>>
>>        Stefan
>>
>>
>>> I can add the result to elpa.git (from where elpa.gnu.org will create
>>> a GNU ELPA package).  As things stand, this package would be labeled
>>> "version 3.2.92".
>>>
>>> If you disagree with some part of the patch below, feel free to point
>>it
>>> out so I can adjust it.
>>>
>>> After that's done, I guess you could annotate your copy of those
>>files
>>> with a blurb explaining that the upstream version of the code can be
>>> found in http://elpa.gnu.org/packages/smalltalk-mode.html.
>>>
>>> Does that sound good?
>>>
>>>
>>>         Stefan
>>>
>>>
>>> diff --git a/.gitignore b/.gitignore
>>> new file mode 100644
>>> index 000000000..fcf24f130
>>> --- /dev/null
>>> +++ b/.gitignore
>>> @@ -0,0 +1,3 @@
>>> +*.elc
>>> +smalltalk-mode-pkg.el
>>> +smalltalk-mode-autoloads.el
>>> diff --git a/gst-mode.el.in b/gst-mode.el
>>> similarity index 91%
>>> rename from gst-mode.el.in
>>> rename to gst-mode.el
>>> index 15713acdd..02f820d9c 100644
>>> --- a/gst-mode.el.in
>>> +++ b/gst-mode.el
>>> @@ -1,29 +1,31 @@
>>> +;;; gst-mode.el --- Interaction with GNU Smalltalk subprocess
>>> +;;
>>> +;; Copyright 1988-2019  Free Software Foundation, Inc.
>>> +;; Written by Steve Byrne.
>>> +;;
>>> +;; This file is part of GNU Smalltalk.
>>> +;;
>>> +;; GNU Smalltalk is free software; you can redistribute it and/or
>>modify it
>>> +;; under the terms of the GNU General Public License as published by
>>the Free
>>> +;; Software Foundation; either version 3, or (at your option) any
>>later
>>> +;; version.
>>> +;;
>>> +;; GNU Smalltalk is distributed in the hope that it will be useful,
>>but
>>> +;; WITHOUT ANY WARRANTY; without even the implied warranty of
>>MERCHANTABILITY
>>> +;; or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
>>License
>>> +;; for more details.
>>> +;;
>>> +;; You should have received a copy of the GNU General Public License
>>> +;; along with this program.  If not, see
>><http://www.gnu.org/licenses/>.
>>> +;;
>>>
>>;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
>>> -;;;
>>> -;;; Copyright 1988-92, 1994-95, 1999, 2000, 2003, 2007, 2008
>>> -;;; Free Software Foundation, Inc.
>>> -;;; Written by Steve Byrne.
>>> -;;;
>>> -;;; This file is part of GNU Smalltalk.
>>> -;;;
>>> -;;; GNU Smalltalk is free software; you can redistribute it and/or
>>modify it
>>> -;;; under the terms of the GNU General Public License as published
>>by the Free
>>> -;;; Software Foundation; either version 2, or (at your option) any
>>later
>>> -;;; version.
>>> -;;;
>>> -;;; GNU Smalltalk is distributed in the hope that it will be useful,
>>but
>>> -;;; WITHOUT ANY WARRANTY; without even the implied warranty of
>>MERCHANTABILITY
>>> -;;; or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
>>License
>>> -;;; for more details.
>>> -;;;
>>> -;;; You should have received a copy of the GNU General Public
>>License along
>>> -;;; with GNU Smalltalk; see the file COPYING.  If not, write to the
>>Free
>>> -;;; Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
>>02110-1301, USA.
>>> -;;;
>>>
>>-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
>>>  
>>> -;;; Incorporates Frank Caggiano's changes for Emacs 19.
>>> -;;; Updates and changes for Emacs 20 and 21 by David Forster
>>> +;;; Commentary:
>>> +
>>> +;; Incorporates Frank Caggiano's changes for Emacs 19.
>>> +;; Updates and changes for Emacs 20 and 21 by David Forster
>>> +
>>> +;;; Code:
>>>  
>>>  (require 'comint)
>>>  
>>> @@ -32,7 +34,7 @@
>>>  
>>>  (defvar *gst-process* nil
>>>    "Holds the GNU Smalltalk process")
>>> -(defvar gst-program-name "@bindir@/gst -V"
>>> +(defvar gst-program-name "gst -V"
>>>    "GNU Smalltalk command to run.  Do not use the -a, -f or --
>>options.")
>>>  
>>>  (defvar smalltalk-command-string nil
>>> @@ -63,6 +65,7 @@
>>>      keymap)
>>>    "Keymap used in Smalltalk interactor mode.")
>>>  
>>> +;;;###autoload
>>>  (defun gst (command-line)
>>>    "Invoke GNU Smalltalk"
>>>    (interactive (list (if (null current-prefix-arg)
>>> diff --git a/smalltalk-mode-init.el.in b/smalltalk-mode-init.el.in
>>> deleted file mode 100644
>>> index a2dbef9d4..000000000
>>> --- a/smalltalk-mode-init.el.in
>>> +++ /dev/null
>>> @@ -1,19 +0,0 @@
>>> -;; Autoload file for smalltalk-mode
>>> -
>>> -;; duplicate zip files' setup for star files or fall back on
>>> -;; archive-mode, which scans file contents to determine type so is
>>> -;; safe to use
>>> -(push (cons "\\.star\\'"
>>> -    (catch 'archive-mode
>>> -      (dolist (mode-assoc auto-mode-alist 'archive-mode)
>>> - (and (string-match (car mode-assoc) "Starfile.zip")
>>> -     (functionp (cdr mode-assoc))
>>> -     (throw 'archive-mode (cdr mode-assoc))))))
>>> -      auto-mode-alist)
>>> -
>>> -(if (boundp 'inhibit-local-variables-regexps)
>>> -    (push "\\.star\\'" inhibit-local-variables-regexps)
>>> -    (push "\\.star\\'" inhibit-first-line-modes-regexp))
>>> -
>>> -@WITH_EMACS_COMINT_TRUE@(autoload 'gst "@lispdir@/gst-mode.elc" ""
>>t)
>>> -
>>> diff --git a/smalltalk-mode.el b/smalltalk-mode.el
>>> index 6eb3b566c..e92d410b2 100644
>>> --- a/smalltalk-mode.el
>>> +++ b/smalltalk-mode.el
>>> @@ -2,14 +2,13 @@
>>>  
>>>  ;; Author: Steve Byrne
>>>  ;; Version: 3.2.92
>>> -;; Copyright 1988-92, 1994-95, 1999, 2000, 2003, 2007, 2008, 2009
>>> -;; Free Software Foundation, Inc.
>>> +;; Copyright 1988-2019  Free Software Foundation, Inc.
>>>  
>>>  ;; This file is part of GNU Smalltalk.
>>>  
>>>  ;; GNU Smalltalk is free software; you can redistribute it and/or
>>modify it
>>>  ;; under the terms of the GNU General Public License as published by
>>the Free
>>> -;; Software Foundation; either version 2, or (at your option) any
>>later
>>> +;; Software Foundation; either version 3, or (at your option) any
>>later
>>>  ;; version.
>>>  
>>>  ;; GNU Smalltalk is distributed in the hope that it will be useful,
>>but
>>> @@ -231,6 +230,27 @@ Commands:
>>>  ;;;###autoload
>>>  (add-to-list 'auto-mode-alist '("\\.st\\'" . smalltalk-mode))
>>>  
>>> +;; GNU Smalltalk uses files with name `.star' which use the zip
>>format.
>>> +;; Duplicate zip files' setup for star files or fall back on
>>> +;; archive-mode, which scans file contents to determine type so is
>>> +;; safe to use.
>>> +;;;###autoload
>>> +(add-to-list
>>> + 'auto-mode-alist
>>> + (cons "\\.star\\'"
>>> +       (catch 'archive-mode
>>> + (dolist (mode-assoc auto-mode-alist 'archive-mode)
>>> +   (and (string-match (car mode-assoc) "Starfile.zip")
>>> + (functionp (cdr mode-assoc))
>>> + (throw 'archive-mode (cdr mode-assoc)))))))
>>> +
>>> +;;;###autoload
>>> +(add-to-list (if (boundp 'inhibit-local-variables-regexps)
>>> +                 'inhibit-local-variables-regexps
>>> +               'inhibit-first-line-modes-regexp)
>>> +             "\\.star\\'")
>>> +
>>> +
>>>  (defun smalltalk-tab ()
>>>    (interactive)
>>>    (let (col)
>>
>>_______________________________________________
>>help-smalltalk mailing list
>>[hidden email]
>>https://lists.gnu.org/mailman/listinfo/help-smalltalk

_______________________________________________
help-smalltalk mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/help-smalltalk
Reply | Threaded
Open this post in threaded view
|

Re: adding smalltalk-mode to ELPA?

Derek Zhou-3


On April 13, 2019 7:21:09 AM GMT+08:00, Stefan Monnier <[hidden email]> wrote:

>> yes, I can collect patches, test them, push them in my github clone
>> and send pull request to elpa.
>
>OK, done, thank you.
>It's now up at http://elpa.gnu.org/packages/smalltalk-mode.html
>
>While testing this URL I just saw that the result is pretty poor for
>lack of a worthwhile `Commentary:` section in smalltalk-mode.el.
>Also it fails to refer to the specific "GNU Smalltalk" implementation.
>Still some work to do...
>
Thanks a lot! Commentary is certainly something I can do to help :)

--
Sent from my Android device with K-9 Mail. Please excuse my brevity

_______________________________________________
help-smalltalk mailing list
[hidden email]
https://lists.gnu.org/mailman/listinfo/help-smalltalk