Re: adding smalltalk-mode to ELPA?

Stefan Monnier <[email protected]>
Newsgroups gmane.comp.lang.smalltalk.gnu.general
Message-ID <[email protected]>
> 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 <[email protected]> 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
>>[email protected]
>>https://lists.gnu.org/mailman/listinfo/help-smalltalk
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.