Package: emacs-goodies-el
Version: 30.0-1
Severity: normal
Tags: patch

Hi,

quack.el 0.36 has been released. Attached is a diff that includes the
new revision of quack.el as well as a refreshed dpatch. It's not a
revolutionary upstream release so I think this is sufficient, I tested
a rebuilt package and it worked fine.

By the way, is the most convenient way to push these updates through
bug reports, through a personal email to you, or something else?
quack.el has actually seen two releases since I originally did the
work to get it in emacs-goodies-el, and I'm happy to continue updating
it, but for a moving upstream it probably makes sense to figure out
the easiest way for me to get these updates to you.

Regards,
Daniel

-- System Information:
Debian Release: squeeze/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: i386 (i686)

Kernel: Linux 2.6.29-2-686 (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages emacs-goodies-el depends on:
ii  bash                          3.2-5      The GNU Bourne Again SHell
ii  emacs22-gtk [emacsen]         22.3+1-1   The GNU Emacs editor (with GTK use

Versions of packages emacs-goodies-el recommends:
pn  dict                          <none>     (no description available)
ii  perl-doc                      5.10.0-22  Perl documentation
ii  wget                          1.11.4-2   retrieves files from the web

emacs-goodies-el suggests no packages.

-- no debconf information
Index: debian/patches/50_quack_autoload.dpatch
===================================================================
RCS file: /cvsroot/pkg-goodies-el/emacs-goodies-el/debian/patches/50_quack_autoload.dpatch,v
retrieving revision 1.2
diff -u -r1.2 50_quack_autoload.dpatch
--- debian/patches/50_quack_autoload.dpatch	3 Mar 2009 02:27:38 -0000	1.2
+++ debian/patches/50_quack_autoload.dpatch	27 May 2009 05:44:49 -0000
@@ -2,22 +2,13 @@
 ## 50_quack_autoload.dpatch by Daniel Moerner <[email protected]>
 ##
 ## All lines beginning with `## DP:' are a description of the patch.
-## DP: No description.
+## DP: Insert autoload headers for quack.el.
 
 @DPATCH@
 diff -urNad emacs-goodies-el~/elisp/emacs-goodies-el/quack.el emacs-goodies-el/elisp/emacs-goodies-el/quack.el
---- emacs-goodies-el~/elisp/emacs-goodies-el/quack.el	2009-03-02 20:39:52.000000000 -0500
-+++ emacs-goodies-el/elisp/emacs-goodies-el/quack.el	2009-03-02 21:18:30.000000000 -0500
-@@ -28,7 +28,7 @@
- ;; INTRODUCTION:
- ;;
- ;;     Quack enhances Emacs support for Scheme programming.  Quack is layered
--;;     atop the standard packages `cmuscheme.el', by Olin Shivers, and
-+;;     atop the standardpackages `cmuscheme.el', by Olin Shivers, and
- ;;     `scheme.el', by Bill Rozas and Dave Love.  Added features include:
- ;;
- ;;       * Menu and commands for viewing popular Scheme-related manuals or
-@@ -3117,6 +3117,8 @@
+--- emacs-goodies-el~/elisp/emacs-goodies-el/quack.el	2009-05-26 22:06:46.000000000 -0700
++++ emacs-goodies-el/elisp/emacs-goodies-el/quack.el	2009-05-26 22:43:29.897795890 -0700
+@@ -3102,6 +3102,8 @@
                               ;; Non-Scheme:
                               ("\\.plt\\'"    . quack-pltfile-mode)))
  
@@ -26,7 +17,7 @@
  ;; Syntax Table:
  
  (defmacro quack-str-syntax (str)
-@@ -4000,9 +4002,11 @@
+@@ -3989,9 +3991,11 @@
    (quack-when-xemacs
     (quack-install-global-menu)))
  
@@ -38,7 +29,7 @@
  (defun quack-scheme-mode-hookfunc ()
    (quack-shared-mode-hookfunc-stuff)
  
-@@ -4015,6 +4019,8 @@
+@@ -4004,6 +4008,8 @@
    ;;(quack-install-tool-bar)))
    )
  
@@ -47,7 +38,7 @@
  (add-hook 'scheme-mode-hook          'quack-scheme-mode-hookfunc)
  (add-hook 'inferior-scheme-mode-hook 'quack-inferior-scheme-mode-hookfunc)
  
-@@ -4100,6 +4106,7 @@
+@@ -4135,6 +4141,7 @@
  
  ;; TODO: Make a menu map for pltfile-mode.
  
Index: elisp/emacs-goodies-el/quack.el
===================================================================
RCS file: /cvsroot/pkg-goodies-el/emacs-goodies-el/elisp/emacs-goodies-el/quack.el,v
retrieving revision 1.1
diff -u -r1.1 quack.el
--- elisp/emacs-goodies-el/quack.el	3 Mar 2009 01:39:52 -0000	1.1
+++ elisp/emacs-goodies-el/quack.el	27 May 2009 05:44:51 -0000
@@ -5,7 +5,7 @@
 ;; Emacs-style font-lock specs adapted from GNU Emacs 21.2 scheme.el.
 ;; Scheme Mode menu adapted from GNU Emacs 21.2 cmuscheme.el.
 
-(defconst quack-version      "0.34")
+(defconst quack-version      "0.36")
 (defconst quack-author-name  "Neil Van Dyke")
 (defconst quack-author-email "[email protected]")
 (defconst quack-web-page     "http://www.neilvandyke.org/quack/";)
@@ -16,65 +16,20 @@
 Foundation; either version 2, or (at your option) any later version.  This 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 Emacs;
-see the file `COPYING'.  If not, write to the Free Software Foundation, Inc.,
-59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.")
+particular purpose.  See the GNU General Public License for more details.  See
+http://www.gnu.org/licenses/ for details.  For other licenses and consulting,
+please contact Neil Van Dyke.")
 
-(defconst quack-cvsid "$Id: quack.el,v 1.1 2009-03-03 01:39:52 psg Exp $")
+(defconst quack-cvsid "$Id: quack.el,v 1.462 2009/05/27 05:04:06 neilpair Exp $")
 
 ;;; Commentary:
 
 ;; INTRODUCTION:
 ;;
-;;     Quack enhances Emacs support for Scheme programming.  Quack is layered
-;;     atop the standard packages `cmuscheme.el', by Olin Shivers, and
-;;     `scheme.el', by Bill Rozas and Dave Love.  Added features include:
+;;     Quack enhances Emacs support for Scheme programming.
 ;;
-;;       * Menu and commands for viewing popular Scheme-related manuals or
-;;         books.  Uses local copies of PLT manuals when available, and remote
-;;         Web copies when necessary.  Command for keyword lookup in PLT
-;;         manual, with keyword defaulting to symbol at point.
-;;
-;;       * Menus and command for viewing SRFIs.  SRFI index information is
-;;         automatically downloaded from SRFI Web site.  Prompt defaults to
-;;         SRFI number referenced at point.
-;;
-;;       * A `find-file' alternative that defaults to the file corresponding to
-;;         the PLT `require' form at point.  (Other module systems will be
-;;         supported in future versions of Quack.)
-;;
-;;       * Two new sets of font-lock rules for Scheme: "PLT Style," which is
-;;         similar to that used by DrScheme 200 Check Syntax; and "Extended GNU
-;;         Emacs Style," which is an extended version of the standard Scheme
-;;         font-lock rules under GNU Emacs.
-;;
-;;       * Pretty-lambda fontification.  (GNU Emacs 21 only.)
-;;
-;;       * Enhanced `run-scheme' behavior.
-;;
-;;       * Enhanced `switch-to-scheme' behavior.
-;;
-;;       * Scheme Mode indentation rules for extensions of PLT, Guile, and
-;;         other dialects.
-;;
-;;       * Command to toggle a `define' form between `(define (<name> <args>)
-;;         <body>)' and `(define <name> (lambda (<args>) <body>))' syntax.
-;;
-;;       * Command for tidying the formatting in a Scheme Mode buffer.
-;;
-;;       * The `)' and `]' keys insert the character that agrees with the
-;;         s-expression's opening character.
-;;
-;;       * Automatic indenting options for Return key.
-;;
-;;       * Mode for inspecting contents of PLT `.plt' package files, before
-;;         releasing or installing the packages, or if one does not have PLT
-;;         available.
-;;
-;;       * Command to open a Dired on a specified PLT collection.
-;;
-;;       * `compile' mode can navigate from PLT `setup-plt' errors.
+;;     Install Quack rather than following non-Quack-based tutorials on how to
+;;     set up Emacs for Scheme.
 ;;
 ;;     The name "Quack" was a play on "DrScheme".
 ;;
@@ -153,10 +108,21 @@
 ;; RELEASE ANNOUNCEMENTS EMAIL:
 ;;
 ;;     To receive email notification when a new Quack version is released, ask
-;;     [email protected] to add you to the moderated `quack-announce' list.
+;;     [email protected] to add you to the moderated `scheme-announce' list.
 
 ;; HISTORY:
 ;;
+;;     Version 0.36 (2009-05-27)
+;;         * Made `#:' ``colon keywords'' fontify in PLT-ish mode.
+;;         * Added PLT `r6rs' and `typed-scheme' languages to `quack-programs'.
+;;
+;;     Version 0.35 (2009-02-24)
+;;         * Added `interpreter-mode-alist' support, so Scheme scripts with "#!"
+;;           start in `scheme-mode'.
+;;         * Added PLT `parameterize-break'.
+;;         * Improved `compile' mode for PLT 4.x tracebacks when there is only
+;;           file, line, and column, but no additional information.
+;;
 ;;     Version 0.34 (2009-02-19)
 ;;         * Added fontify and indent support for PLT `define/kw', `lambda/kw',
 ;;          `parameterize*'.
@@ -771,6 +737,8 @@
   :initialize 'custom-initialize-default)
 
 (defcustom quack-pltish-fontify-keywords-p t
+  ;; TODO: !!! Rename this from "keywords" to "syntax-keywords", here, and in
+  ;; for face names.
   "*If non-nil, fontify keywords in PLT-style fontification.
 
 This only has effect when `quack-fontify-style' is `plt'."
@@ -807,7 +775,7 @@
     "match-lambda" "match-lambda*" "match-let" "match-let*" "match-letrec"
     "match-define" "mixin" "module" "opt-lambda" "or" "override" "override*"
     "namespace-variable-bind/invoke-unit/sig" "parameterize" "parameterize*"
-    "private"
+    "parameterize-break" "private"
     "private*" "protect" "provide" "provide-signature-elements"
     "provide/contract" "public" "public*" "quasiquote" 
     "quasisyntax" "quasisyntax/loc" "quote" "receive"
@@ -879,7 +847,8 @@
 
 (defcustom quack-programs
   '("bigloo" "csi" "csi -hygienic" "gosh" "gsi" "gsi ~~/syntax-case.scm -"
-    "guile" "kawa" "mit-scheme" "mred -z" "mzscheme"
+    "guile" "kawa" "mit-scheme" "mred -z" "mzscheme" "mzscheme -il r6rs"
+    "mzscheme -il typed-scheme"
     "mzscheme -M errortrace" 
     "mzscheme3m" "mzschemecgc" "rs" "scheme" "scheme48" "scsh"
     "sisc" "stklos" "sxi")
@@ -998,6 +967,22 @@
   "Face used for parentheses when `quack-fontify-style' is `plt'."
   :group 'quack)
 
+(defconst quack-pltish-colon-keyword-face 'quack-pltish-colon-keyword-face)
+(defface  quack-pltish-colon-keyword-face
+  '((t (:bold t :foreground "gray50")))
+  "Face used for `#:' keywords when `quack-fontify-style' is `plt'.
+Note that this isn't based on anything in PLT."
+  :group 'quack)
+
+(defconst quack-pltish-paren-face 'quack-pltish-paren-face)
+(defface  quack-pltish-paren-face
+  '((((class color) (background light)) (:foreground "red3"))
+    (((class color) (background dark))  (:foreground "red1"))
+    (((class grayscale))                (:foreground "gray"))
+    (t                                  ()))
+  "Face used for parentheses when `quack-fontify-style' is `plt'."
+  :group 'quack)
+
 (defconst quack-banner-face 'quack-banner-face)
 (defface  quack-banner-face
   '((t (:family "Helvetica")))
@@ -3167,43 +3152,44 @@
 
 ;; Indent Properties:
 
-(put 'begin0            'scheme-indent-function 1)
-(put 'c-declare         'scheme-indent-function 0)
-(put 'c-lambda          'scheme-indent-function 2)
-(put 'case-lambda       'scheme-indent-function 0)
-(put 'catch             'scheme-indent-function 1)
-(put 'chicken-setup     'scheme-indent-function 1)
-(put 'class             'scheme-indent-function 'defun)
-(put 'class*            'scheme-indent-function 'defun)
-(put 'compound-unit/sig 'scheme-indent-function 0)
-(put 'dynamic-wind      'scheme-indent-function 0)
-(put 'for/fold          'scheme-indent-function 2)
-(put 'instantiate       'scheme-indent-function 2)
-(put 'interface         'scheme-indent-function 1)
-(put 'lambda/kw         'scheme-indent-function 1)
-(put 'let*-values       'scheme-indent-function 1)
-(put 'let+              'scheme-indent-function 1)
-(put 'let-values        'scheme-indent-function 1)
-(put 'let/ec            'scheme-indent-function 1)
-(put 'mixin             'scheme-indent-function 2)
-(put 'module            'scheme-indent-function 'defun)
-(put 'opt-lambda        'scheme-indent-function 1)
-(put 'parameterize      'scheme-indent-function 1)
-(put 'parameterize*     'scheme-indent-function 1)
-(put 'quasisyntax/loc   'scheme-indent-function 1)
-(put 'receive           'scheme-indent-function 2)
-(put 'send*             'scheme-indent-function 1)
-(put 'sigaction         'scheme-indent-function 1)
-(put 'syntax-case       'scheme-indent-function 2)
-(put 'syntax/loc        'scheme-indent-function 1)
-(put 'unit              'scheme-indent-function 'defun)
-(put 'unit/sig          'scheme-indent-function 2)
-(put 'unless            'scheme-indent-function 1)
-(put 'when              'scheme-indent-function 1)
-(put 'while             'scheme-indent-function 1)
-(put 'with-handlers     'scheme-indent-function 1)
-(put 'with-method       'scheme-indent-function 1)
-(put 'with-syntax       'scheme-indent-function 1)
+(put 'begin0             'scheme-indent-function 1)
+(put 'c-declare          'scheme-indent-function 0)
+(put 'c-lambda           'scheme-indent-function 2)
+(put 'case-lambda        'scheme-indent-function 0)
+(put 'catch              'scheme-indent-function 1)
+(put 'chicken-setup      'scheme-indent-function 1)
+(put 'class              'scheme-indent-function 'defun)
+(put 'class*             'scheme-indent-function 'defun)
+(put 'compound-unit/sig  'scheme-indent-function 0)
+(put 'dynamic-wind       'scheme-indent-function 0)
+(put 'for/fold           'scheme-indent-function 2)
+(put 'instantiate        'scheme-indent-function 2)
+(put 'interface          'scheme-indent-function 1)
+(put 'lambda/kw          'scheme-indent-function 1)
+(put 'let*-values        'scheme-indent-function 1)
+(put 'let+               'scheme-indent-function 1)
+(put 'let-values         'scheme-indent-function 1)
+(put 'let/ec             'scheme-indent-function 1)
+(put 'mixin              'scheme-indent-function 2)
+(put 'module             'scheme-indent-function 'defun)
+(put 'opt-lambda         'scheme-indent-function 1)
+(put 'parameterize       'scheme-indent-function 1)
+(put 'parameterize-break 'scheme-indent-function 1)
+(put 'parameterize*      'scheme-indent-function 1)
+(put 'quasisyntax/loc    'scheme-indent-function 1)
+(put 'receive            'scheme-indent-function 2)
+(put 'send*              'scheme-indent-function 1)
+(put 'sigaction          'scheme-indent-function 1)
+(put 'syntax-case        'scheme-indent-function 2)
+(put 'syntax/loc         'scheme-indent-function 1)
+(put 'unit               'scheme-indent-function 'defun)
+(put 'unit/sig           'scheme-indent-function 2)
+(put 'unless             'scheme-indent-function 1)
+(put 'when               'scheme-indent-function 1)
+(put 'while              'scheme-indent-function 1)
+(put 'with-handlers      'scheme-indent-function 1)
+(put 'with-method        'scheme-indent-function 1)
+(put 'with-syntax        'scheme-indent-function 1)
 
 ;; Keymaps:
 
@@ -3318,9 +3304,10 @@
       ,(quack-bool-menuitem "Fontify Definition Names \(in PLT Style\)"
                             quack-pltish-fontify-definition-names-p
                             :active (eq quack-fontify-style 'plt))
-      ,(quack-bool-menuitem "Fontify Keywords \(in PLT Style\)"
+      ,(quack-bool-menuitem "Fontify Syntax Keywords \(in PLT Style\)"
                             quack-pltish-fontify-keywords-p
                             :active (eq quack-fontify-style 'plt))
+      ;; TODO: Add menuitem here for "Fontify #: Keywords \(in PLT Style\)"
       ,(quack-bool-menuitem "Fontify 3-Semicolon Comments \(in PLT Style\)"
                             quack-fontify-threesemi-p
                             :active (memq quack-fontify-style '(plt)))
@@ -3688,7 +3675,9 @@
     ;;quack-banner-face)
     ;; Unix cookie line.
     ("\\`#![^\r\n]*" . quack-pltish-comment-face)
-     ;; Self-evals:
+    ;; Colon keywords:
+    ("\\<#:\\sw+\\>" . quack-pltish-colon-keyword-face)
+    ;; Self-evals:
     ("'\\sw+\\>"                . quack-pltish-selfeval-face)
     ("'|\\(\\sw\\| \\)+|"       . quack-pltish-selfeval-face)
     ;; Note: The first alternative in the following rule will misleadingly
@@ -4030,6 +4019,11 @@
                    'quack-compile-no-line-number)))
   `(
 
+    ;; PLT MzScheme 4.1.4 "=== context ===" traceback when there is only file,
+    ;; line, and column info, but potentially no following ":" and additional
+    ;; info like procedure name.
+    ("^\\([^:\n\"]+\\):\\([0-9]+\\):\\([0-9]+\\)" 1 2 3)
+
     ;; PLT MzScheme 205 "setup-plt"
     ;;   load-handler: expected a `module' declaration for `bar-unit' in
     ;;   "/u/collects/bar/bar-unit.ss", but found something else
@@ -4073,6 +4067,47 @@
 
 (quack-install-compilation-mode-stuff)
 
+;; Interpreter-mode-alist:
+
+(defvar quack-saved-interpreter-mode-alist nil)
+
+(defvar quack-interpreter-mode-alist-additions
+  (mapcar (function (lambda (x)
+                      (cons x 'scheme-mode)))
+          '("bigloo"
+            "csi"
+            "gosh"
+            "gsi"
+            "guile"
+            "kawa"
+            "mit-scheme"
+            "mred"
+            "mred3m"
+            "mredcgc"
+            "mzscheme"
+            "mzscheme3m"
+            "mzschemecgc"
+            "r5rs"
+            "r6rs"
+            "rs"
+            "rs"
+            "scheme"
+            "scheme48"
+            "scsh"
+            "sisc"
+            "stklos"
+            "sxi")))
+
+(defun quack-install-interpreter-mode-alist ()
+  (unless quack-saved-interpreter-mode-alist
+    (setq quack-saved-interpreter-mode-alist
+          interpreter-mode-alist))
+  (setq interpreter-mode-alist
+        (append quack-interpreter-mode-alist-additions
+                quack-saved-interpreter-mode-alist)))
+
+(quack-install-interpreter-mode-alist)
+
 ;; PLT Package Mode:
 
 ;; TODO: Do some simple checking and summarize what directories and files are

Reply via email to