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

