]> git.eshelyaron.com Git - emacs.git/commitdiff
Make gulp.el obsolete
authorGlenn Morris <rgm@gnu.org>
Wed, 26 Mar 2014 01:41:13 +0000 (21:41 -0400)
committerGlenn Morris <rgm@gnu.org>
Wed, 26 Mar 2014 01:41:13 +0000 (21:41 -0400)
* lisp/obsolete/gulp.el: Move here from emacs-lisp/.

* doc/emacs/ack.texi (Acknowledgments): Remove reference to obsolete file.

doc/emacs/ChangeLog
doc/emacs/ack.texi
etc/NEWS
lisp/ChangeLog
lisp/emacs-lisp/gulp.el [deleted file]
lisp/obsolete/gulp.el [new file with mode: 0644]

index 2432f18cb1f490f26735bae27b0e38dddc829d1c..36044d89ccdff14a4ec7369c402960e135ab125a 100644 (file)
@@ -1,3 +1,7 @@
+2014-03-26  Glenn Morris  <rgm@gnu.org>
+
+       * ack.texi (Acknowledgments): Remove reference to obsolete file.
+
 2014-03-22  Glenn Morris  <rgm@gnu.org>
 
        * help.texi (Help Files): Update C-h g description.
index 0ec2cf8624abe05d512842d40945e92f74608eae..ef4e202cea9b5fae467bb219ef4875cb4403ea77 100644 (file)
@@ -1181,9 +1181,8 @@ written @file{easymenu.el}, a facility for defining Emacs menus;
 color; and also co-authored portions of CC mode.
 
 @item
-Sam Steingold wrote @file{gulp.el}, a facility for asking package
-maintainers for updated versions of their packages via e-mail, and
-@file{midnight.el}, a package for running a command every midnight.
+Sam Steingold wrote @file{midnight.el}, a package for running a
+command every midnight.
 
 @item
 Ake Stenhoff and Lars Lindberg wrote @file{imenu.el}, a framework for
index b0a19726936fccceb30b5d11fb0e22ce34660fa8..7019619ee9bc5558ba7182f5f7cb70d210d5afac 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -43,6 +43,11 @@ otherwise leave it unmarked.
 ** The Rmail commands d, C-d and u now handle repeat counts
 to delete or undelete multiple messages.
 
+** Obsolete packages
+
+---
+*** gulp.el
+
 \f
 * New Modes and Packages in Emacs 24.5
 
index 0bc53b69da0b99f6f8230aad82bf2a91e07e519f..c9f6e7106651711c0e0beb78aefe51bf2a77593f 100644 (file)
@@ -1,5 +1,7 @@
 2014-03-26  Glenn Morris  <rgm@gnu.org>
 
+       * obsolete/gulp.el: Move here from emacs-lisp/.
+
        * files.el (lock-buffer, unlock-buffer, file-locked-p):
        Remove fallback aliases, since they are always defined now.
 
diff --git a/lisp/emacs-lisp/gulp.el b/lisp/emacs-lisp/gulp.el
deleted file mode 100644 (file)
index d0a89b3..0000000
+++ /dev/null
@@ -1,178 +0,0 @@
-;;; gulp.el --- ask for updates for Lisp packages
-
-;; Copyright (C) 1996, 2001-2014 Free Software Foundation, Inc.
-
-;; Author: Sam Shteingold <shteingd@math.ucla.edu>
-;; Maintainer: emacs-devel@gnu.org
-;; Keywords: maint
-
-;; This file is part of GNU Emacs.
-
-;; GNU Emacs 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 of the License, or
-;; (at your option) any later version.
-
-;; GNU Emacs 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 Emacs.  If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-
-;; Search the emacs/{version}/lisp directory for *.el files, extract the
-;; name of the author or maintainer and send him e-mail requesting
-;; update.
-
-;;; Code:
-(defgroup gulp nil
-  "Ask for updates for Lisp packages."
-  :prefix "-"
-  :group 'maint)
-
-(defcustom gulp-discard "^;+ *Maintainer: *\\(FSF\\|emacs-devel@gnu\\.org\\) *$"
-  "The regexp matching the packages not requiring the request for updates."
-  :version "24.4"                      ; added emacs-devel
-  :type 'regexp
-  :group 'gulp)
-
-(defcustom gulp-tmp-buffer "*gulp*"
-  "The name of the temporary buffer."
-  :type 'string
-  :group 'gulp)
-
-(defcustom gulp-max-len 2000
-  "Distance into a Lisp source file to scan for keywords."
-  :type 'integer
-  :group 'gulp)
-
-(defcustom gulp-request-header
-  (concat
-   "This message was created automatically.
-I'm going to start pretesting a new version of GNU Emacs soon, so I'd
-like to ask if you have any updates for the Emacs packages you work on.
-You're listed as the maintainer of the following package(s):\n\n")
-  "The starting text of a gulp message."
-  :type 'string
-  :group 'gulp)
-
-(defcustom gulp-request-end
-  (concat
-   "\nIf you have any changes since the version in the previous release ("
-   (format "%d.%d" emacs-major-version emacs-minor-version)
-   "),
-please send them to me ASAP.
-
-Please don't send the whole file.  Instead, please send a patch made with
-`diff -c' that shows precisely the changes you would like me to install.
-Also please include itemized change log entries for your changes;
-please use lisp/ChangeLog as a guide for the style and for what kinds
-of information to include.
-
-Thanks.")
-  "The closing text in a gulp message."
-  :type 'string
-  :group 'gulp)
-
-(declare-function mail-subject "sendmail" ())
-(declare-function mail-send "sendmail" ())
-
-(defun gulp-send-requests (dir &optional time)
-  "Send requests for updates to the authors of Lisp packages in directory DIR.
-For each maintainer, the message consists of `gulp-request-header',
-followed by the list of packages (with modification times if the optional
-prefix argument TIME is non-nil), concluded with `gulp-request-end'.
-
-You can't edit the messages, but you can confirm whether to send each one.
-
-The list of addresses for which you decided not to send mail
-is left in the `*gulp*' buffer at the end."
-  (interactive "DRequest updates for Lisp directory: \nP")
-  (with-current-buffer (get-buffer-create gulp-tmp-buffer)
-    (let ((m-p-alist (gulp-create-m-p-alist
-                     (directory-files dir nil "^[^=].*\\.el$" t)
-                     dir))
-         ;; Temporarily inhibit undo in the *gulp* buffer.
-         (buffer-undo-list t)
-         mail-setup-hook msg node)
-      (setq m-p-alist
-           (sort m-p-alist
-                 (function (lambda (a b)
-                             (string< (car a) (car b))))))
-      (while (setq node (car m-p-alist))
-       (setq msg (gulp-create-message (cdr node) time))
-       (setq mail-setup-hook
-             (lambda ()
-               (mail-subject)
-               (insert "It's time for Emacs updates again")
-               (goto-char (point-max))
-               (insert msg)))
-       (mail nil (car node))
-       (goto-char (point-min))
-       (if (y-or-n-p "Send? ") (mail-send)
-         (kill-this-buffer)
-         (set-buffer gulp-tmp-buffer)
-         (insert (format "%s\n\n" node)))
-       (setq m-p-alist (cdr m-p-alist))))
-    (set-buffer gulp-tmp-buffer)
-    (setq buffer-undo-list nil)))
-
-
-(defun gulp-create-message (rec time)
-  "Return the message string for REC, which is a list like (FILE TIME)."
-  (let (node (str gulp-request-header))
-    (while (setq node (car rec))
-      (setq str (concat str "\t" (car node)
-                       (if time (concat "\tLast modified:\t" (cdr node)))
-                       "\n"))
-      (setq rec (cdr rec)))
-    (concat str gulp-request-end)))
-
-
-(defun gulp-create-m-p-alist (flist dir)
-  "Create the maintainer/package alist for files in FLIST in DIR.
-That is a list of elements, each of the form (MAINTAINER PACKAGES...)."
-  (save-excursion
-    (let (mplist filen node mnt-tm mnt tm fl-tm)
-      (get-buffer-create gulp-tmp-buffer)
-      (set-buffer gulp-tmp-buffer)
-      (setq buffer-undo-list t)
-      (while flist
-       (setq fl-tm (gulp-maintainer (setq filen (car flist)) dir))
-       (if (setq tm (cdr fl-tm) mnt (car fl-tm));; there is a definite maintainer
-           (if (setq node (assoc mnt mplist));; this is not a new maintainer
-               (setq mplist (cons (cons mnt (cons (cons filen tm) (cdr node)))
-                                  (delete node mplist)))
-             (setq mplist (cons (list mnt (cons filen (cdr fl-tm))) mplist))))
-       (setq flist (cdr flist)))
-      (erase-buffer)
-      mplist)))
-
-(defun gulp-maintainer (filenm dir)
-  "Return a list (MAINTAINER TIMESTAMP) for the package FILENM in directory DIR."
-  (save-excursion
-    (let* ((fl (expand-file-name filenm dir)) mnt
-          (timest (format-time-string "%Y-%m-%d %a %T %Z"
-                                      (elt (file-attributes fl) 5))))
-      (set-buffer gulp-tmp-buffer)
-      (erase-buffer)
-      (insert-file-contents fl nil 0 gulp-max-len)
-      (goto-char 1)
-      (if (re-search-forward gulp-discard nil t)
-         (setq mnt nil) ;; do nothing, return nil
-       (goto-char 1)
-       (if (and (re-search-forward "^;+ *Maintainer: \\(.*\\)$" nil t)
-                (> (length (setq mnt (match-string 1))) 0))
-           () ;; found!
-         (goto-char 1)
-         (if (re-search-forward "^;+ *Author: \\(.*\\)$" nil t)
-             (setq mnt (match-string 1))))
-       (if (= (length mnt) 0) (setq mnt nil))) ;; "^;; Author: $" --> nil
-      (cons mnt timest))))
-
-(provide 'gulp)
-
-;;; gulp.el ends here
diff --git a/lisp/obsolete/gulp.el b/lisp/obsolete/gulp.el
new file mode 100644 (file)
index 0000000..d959b73
--- /dev/null
@@ -0,0 +1,179 @@
+;;; gulp.el --- ask for updates for Lisp packages
+
+;; Copyright (C) 1996, 2001-2014 Free Software Foundation, Inc.
+
+;; Author: Sam Shteingold <shteingd@math.ucla.edu>
+;; Maintainer: emacs-devel@gnu.org
+;; Keywords: maint
+;; Obsolete-since: 24.5
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs 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 of the License, or
+;; (at your option) any later version.
+
+;; GNU Emacs 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 Emacs.  If not, see <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;; Search the emacs/{version}/lisp directory for *.el files, extract the
+;; name of the author or maintainer and send him e-mail requesting
+;; update.
+
+;;; Code:
+(defgroup gulp nil
+  "Ask for updates for Lisp packages."
+  :prefix "-"
+  :group 'maint)
+
+(defcustom gulp-discard "^;+ *Maintainer: *\\(FSF\\|emacs-devel@gnu\\.org\\) *$"
+  "The regexp matching the packages not requiring the request for updates."
+  :version "24.4"                      ; added emacs-devel
+  :type 'regexp
+  :group 'gulp)
+
+(defcustom gulp-tmp-buffer "*gulp*"
+  "The name of the temporary buffer."
+  :type 'string
+  :group 'gulp)
+
+(defcustom gulp-max-len 2000
+  "Distance into a Lisp source file to scan for keywords."
+  :type 'integer
+  :group 'gulp)
+
+(defcustom gulp-request-header
+  (concat
+   "This message was created automatically.
+I'm going to start pretesting a new version of GNU Emacs soon, so I'd
+like to ask if you have any updates for the Emacs packages you work on.
+You're listed as the maintainer of the following package(s):\n\n")
+  "The starting text of a gulp message."
+  :type 'string
+  :group 'gulp)
+
+(defcustom gulp-request-end
+  (concat
+   "\nIf you have any changes since the version in the previous release ("
+   (format "%d.%d" emacs-major-version emacs-minor-version)
+   "),
+please send them to me ASAP.
+
+Please don't send the whole file.  Instead, please send a patch made with
+`diff -c' that shows precisely the changes you would like me to install.
+Also please include itemized change log entries for your changes;
+please use lisp/ChangeLog as a guide for the style and for what kinds
+of information to include.
+
+Thanks.")
+  "The closing text in a gulp message."
+  :type 'string
+  :group 'gulp)
+
+(declare-function mail-subject "sendmail" ())
+(declare-function mail-send "sendmail" ())
+
+(defun gulp-send-requests (dir &optional time)
+  "Send requests for updates to the authors of Lisp packages in directory DIR.
+For each maintainer, the message consists of `gulp-request-header',
+followed by the list of packages (with modification times if the optional
+prefix argument TIME is non-nil), concluded with `gulp-request-end'.
+
+You can't edit the messages, but you can confirm whether to send each one.
+
+The list of addresses for which you decided not to send mail
+is left in the `*gulp*' buffer at the end."
+  (interactive "DRequest updates for Lisp directory: \nP")
+  (with-current-buffer (get-buffer-create gulp-tmp-buffer)
+    (let ((m-p-alist (gulp-create-m-p-alist
+                     (directory-files dir nil "^[^=].*\\.el$" t)
+                     dir))
+         ;; Temporarily inhibit undo in the *gulp* buffer.
+         (buffer-undo-list t)
+         mail-setup-hook msg node)
+      (setq m-p-alist
+           (sort m-p-alist
+                 (function (lambda (a b)
+                             (string< (car a) (car b))))))
+      (while (setq node (car m-p-alist))
+       (setq msg (gulp-create-message (cdr node) time))
+       (setq mail-setup-hook
+             (lambda ()
+               (mail-subject)
+               (insert "It's time for Emacs updates again")
+               (goto-char (point-max))
+               (insert msg)))
+       (mail nil (car node))
+       (goto-char (point-min))
+       (if (y-or-n-p "Send? ") (mail-send)
+         (kill-this-buffer)
+         (set-buffer gulp-tmp-buffer)
+         (insert (format "%s\n\n" node)))
+       (setq m-p-alist (cdr m-p-alist))))
+    (set-buffer gulp-tmp-buffer)
+    (setq buffer-undo-list nil)))
+
+
+(defun gulp-create-message (rec time)
+  "Return the message string for REC, which is a list like (FILE TIME)."
+  (let (node (str gulp-request-header))
+    (while (setq node (car rec))
+      (setq str (concat str "\t" (car node)
+                       (if time (concat "\tLast modified:\t" (cdr node)))
+                       "\n"))
+      (setq rec (cdr rec)))
+    (concat str gulp-request-end)))
+
+
+(defun gulp-create-m-p-alist (flist dir)
+  "Create the maintainer/package alist for files in FLIST in DIR.
+That is a list of elements, each of the form (MAINTAINER PACKAGES...)."
+  (save-excursion
+    (let (mplist filen node mnt-tm mnt tm fl-tm)
+      (get-buffer-create gulp-tmp-buffer)
+      (set-buffer gulp-tmp-buffer)
+      (setq buffer-undo-list t)
+      (while flist
+       (setq fl-tm (gulp-maintainer (setq filen (car flist)) dir))
+       (if (setq tm (cdr fl-tm) mnt (car fl-tm));; there is a definite maintainer
+           (if (setq node (assoc mnt mplist));; this is not a new maintainer
+               (setq mplist (cons (cons mnt (cons (cons filen tm) (cdr node)))
+                                  (delete node mplist)))
+             (setq mplist (cons (list mnt (cons filen (cdr fl-tm))) mplist))))
+       (setq flist (cdr flist)))
+      (erase-buffer)
+      mplist)))
+
+(defun gulp-maintainer (filenm dir)
+  "Return a list (MAINTAINER TIMESTAMP) for the package FILENM in directory DIR."
+  (save-excursion
+    (let* ((fl (expand-file-name filenm dir)) mnt
+          (timest (format-time-string "%Y-%m-%d %a %T %Z"
+                                      (elt (file-attributes fl) 5))))
+      (set-buffer gulp-tmp-buffer)
+      (erase-buffer)
+      (insert-file-contents fl nil 0 gulp-max-len)
+      (goto-char 1)
+      (if (re-search-forward gulp-discard nil t)
+         (setq mnt nil) ;; do nothing, return nil
+       (goto-char 1)
+       (if (and (re-search-forward "^;+ *Maintainer: \\(.*\\)$" nil t)
+                (> (length (setq mnt (match-string 1))) 0))
+           () ;; found!
+         (goto-char 1)
+         (if (re-search-forward "^;+ *Author: \\(.*\\)$" nil t)
+             (setq mnt (match-string 1))))
+       (if (= (length mnt) 0) (setq mnt nil))) ;; "^;; Author: $" --> nil
+      (cons mnt timest))))
+
+(provide 'gulp)
+
+;;; gulp.el ends here