diff --git a/aclpc/acl-medium.lisp b/aclpc/acl-medium.lisp
index 11044f28f46d2d9393a4ff82667d2db36ab3e393..52c19ebd54ddfca797b1a00ced53fd78082a7f54 100644
--- a/aclpc/acl-medium.lisp
+++ b/aclpc/acl-medium.lisp
@@ -155,15 +155,12 @@
   (color-rgb (wincolor->color (win:GetSysColor win:COLOR_BTNFACE))))
 
 (defmethod dc-image-for-ink ((medium acl-medium) (ink (eql +foreground-ink+)))
-  (declare (values image created-bitmap created-mask-bitmap))
   (dc-image-for-ink medium (medium-foreground medium)))
 
 (defmethod dc-image-for-ink ((medium acl-medium) (ink (eql +background-ink+)))
-  (declare (values image created-bitmap created-mask-bitmap))
   (dc-image-for-ink medium (medium-background medium)))
 
 (defmethod dc-image-for-ink ((medium acl-medium) (ink t))
-  (declare (values image created-bitmap created-mask-bitmap))
   ;; Don't blow out if somebody tries to use a fancy ink like compose-in.
   (dc-image-for-ink medium (medium-foreground medium)))
 
@@ -209,7 +206,6 @@
 			(convert blue))))))
 
 (defmethod dc-image-for-ink ((medium acl-medium) (ink color))
-  (declare (values image created-bitmap created-mask-bitmap))
   (let ((cache (port-dc-cache (port medium))))
     (or (gethash ink cache)
 	(setf (gethash ink cache)
@@ -235,17 +231,14 @@
   *blank-image*)
 
 (defmethod dc-image-for-ink ((medium acl-medium) (ink (eql +everywhere+)))
-  (declare (values image created-bitmap created-mask-bitmap))
   (dc-image-for-ink medium +foreground-ink+))
 
 (defmethod dc-image-for-ink ((medium acl-medium) (ink standard-opacity))
-  (declare (values image created-bitmap created-mask-bitmap))
   (if (>= (opacity-value ink) 0.5)
     (dc-image-for-ink medium +foreground-ink+)
     *blank-image*))
 
 (defmethod dc-image-for-ink ((medium acl-medium) (ink region))
-  (declare (values image created-bitmap created-mask-bitmap))
   (dc-image-for-ink medium +foreground-ink+))
 
 ;;; ink for patterns, tiles, etc
@@ -439,7 +432,6 @@
        (color->wincolor (elt designs tcolor))))))
 
 (defmethod dc-image-for-ink ((medium acl-medium) (ink pattern))
-  (declare (values image created-bitmap created-mask-bitmap))
   ;; The "pattern" part of the ink is put into the brush.
   ;; This will return a list of two DCs if one of the inks is transparent.
   (let ((cache (port-dc-cache (port medium))))
@@ -506,7 +498,6 @@ draw icons and mouse cursors on the screen.
 |#
 
 (defmethod dc-image-for-ink ((medium acl-medium) (ink rectangular-tile))
-  (declare (values image created-bitmap created-mask-bitmap))
   ;; The only case we handle right now is stipples
   (let ((cache (port-dc-cache (port medium))))
     (or (gethash ink cache)
@@ -541,7 +532,6 @@ draw icons and mouse cursors on the screen.
   (error "This NT CLIM operation is NYI (Not Yet Implemented)."))
 
 (defmethod dc-image-for-ink ((medium acl-medium) (ink flipping-ink))
-  (declare (values image created-bitmap created-mask-bitmap))
   (let ((cache (port-dc-cache (port medium))))
     (or (gethash ink cache)
 	(setf (gethash ink cache)
@@ -565,7 +555,6 @@ draw icons and mouse cursors on the screen.
 			       :background-color nil))))))))
 
 (defmethod dc-image-for-ink ((medium acl-medium) (ink contrasting-ink))
-  (declare (values image created-bitmap created-mask-bitmap))
   (dc-image-for-ink medium (make-color-for-contrasting-ink ink)))
 
 (defmethod dc-image-for-ink ((medium acl-medium) (ink composite-out))
diff --git a/aclpc/acl-widget.lisp b/aclpc/acl-widget.lisp
index 561e98728289e7cf6f2b9f13b26c5002c4414d58..9932990ed510be071d7a6e390d8100519dd61ce0 100644
--- a/aclpc/acl-widget.lisp
+++ b/aclpc/acl-widget.lisp
@@ -486,7 +486,6 @@
 ;;; Retreive the start and end position of the
 ;;; selection in a mswin-text-edit gadget.
 (defmethod get-selection ((pane mswin-text-edit)) 
-  (declare (values startpos endpos))
   (let ((mirror (sheet-direct-mirror pane)))
     (cond (mirror
            (let ((startptr
diff --git a/clim/accept.lisp b/clim/accept.lisp
index fab617ffb117f7eae37dfbd8eed48471d1d0dfad..38c526e02c102eac4c184af6958d22738dc708bf 100644
--- a/clim/accept.lisp
+++ b/clim/accept.lisp
@@ -335,7 +335,6 @@
 				(delimiter-gestures nil delimiter-gestures-p)
 				(additional-delimiter-gestures nil)
 				(start 0) (end nil))
-  (declare (values object type index))
 
   ;; Allow the arguments to be presentation type abbreviations
   (multiple-value-bind (expansion expanded)
diff --git a/clim/command.lisp b/clim/command.lisp
index e53d276fa80d06676e41668c75bcb7070cb46cec..3d0b31dbea86585ee6bb6b83ecc572de4eb8c54d 100644
--- a/clim/command.lisp
+++ b/clim/command.lisp
@@ -313,7 +313,6 @@
   (gethash command-name (slot-value command-table 'commands)))
 
 (defun command-accessible-in-command-table-p (command-name command-table)
-  (declare (values command-table))
   (do-command-table-inheritance (comtab command-table)
     (when (command-present-in-command-table-p command-name comtab)
       (return-from command-accessible-in-command-table-p comtab)))
@@ -385,7 +384,6 @@
          (slot-value (find-command-table command-table) 'command-line-names))))
 
 (defun find-command-from-command-line-name (name command-table &key (errorp t))
-  (declare (values command command-table))
   (do-command-table-inheritance (comtab command-table)
     ;;--- Use binary search on COMMAND-LINE-NAMES (completion aarrays)
     (let ((item (find name (slot-value comtab 'command-line-names)
@@ -549,7 +547,6 @@
        (slot-value (find-command-table command-table) 'menu)))
 
 (defun find-menu-item (menu-name command-table &key (errorp t))
-  (declare (values menu-item command-table))
   (let* ((command-table (find-command-table command-table))
          (item (find menu-name (slot-value command-table 'menu)
                      :test #'menu-name-equal :key #'first)))
@@ -786,7 +783,6 @@
 
 (defun find-keystroke-item (keystroke command-table
                             &key (test #'keyboard-event-matches-gesture-name-p) (errorp t))
-  (declare (values menu-item command-table))
   (let* ((command-table (find-command-table command-table))
          (entry (block find-entry
                   ;; Do it the hard way so that GESTURE-SPEC-EQL doesn't see NILs
@@ -805,7 +801,6 @@
 
 (defun lookup-keystroke-item (keystroke command-table
                               &key (test #'keyboard-event-matches-gesture-name-p))
-  (declare (values menu-item command-table))
   (labels ((map-menu (command-table)
              (map nil #'(lambda (entry)
                           (let ((item (third entry)))
diff --git a/clim/completer.lisp b/clim/completer.lisp
index f99face190d38a3cf7adb039a812afbe6af9586e..a8a0ee790a51f6de2499380e656a70a4c6b4471f 100644
--- a/clim/completer.lisp
+++ b/clim/completer.lisp
@@ -44,7 +44,6 @@
                        &key partial-completers allow-any-input possibility-printer
                             (help-displays-possibilities t))
   (declare (dynamic-extent function))
-  (declare (values answer-object success string))
   (with-temporary-string (stuff-so-far :length 100 :adjustable t)
    (with-delimiter-gestures (partial-completers)
     (with-activation-gestures (*magic-completion-gestures*)
@@ -278,7 +277,6 @@
 (defun complete-from-possibilities (string completions delimiters
                                     &key (action :complete) predicate
                                          (name-key #'first) (value-key #'second))
-  (declare (values string success object nmatches possibilities))
   (when (and (not (eq action :possibilities))
              (not (eq action :apropos-possibilities))
              (zerop (length string)))
@@ -318,7 +316,6 @@
 ;; gotten by funcalling a generator rather than from a completion alist.
 (defun complete-from-generator (string generator delimiters
                                 &key (action :complete) predicate)
-  (declare (values string success object nmatches possibilities))
   (declare (dynamic-extent generator))
   (when (and (not (eq action :possibilities))
              (not (eq action :apropos-possibilities))
@@ -356,7 +353,6 @@
 (defun chunkwise-complete-string (string completion object action delimiters
                                   best-completion best-length best-object
                                   nmatches possibilities)
-  (declare (values best-completion best-length best-object nmatches possibilities))
   (let* ((length (length string))
          (matches (if (eq action :apropos-possibilities)
                       (if (search string completion :test #'char-equal) length 0)
@@ -408,7 +404,6 @@
 ;; where the strings mismatches and the index of the last character that was
 ;; unambiguous.  When MERGE-P, STRING1 gets side-effected.
 (defun chunkwise-string-compare (string1 string2 delimiters &optional merge-p end1)
-  (declare (values matched ambiguous))
   (let ((len1 (or end1 (length string1)))
         (len2 (length string2))
         (matched 0)
diff --git a/clim/cursor.lisp b/clim/cursor.lisp
index 4bce77036d5ab8441a3f88d9c69f80589a5e0502..5fa958d14e39712338f7aca4ea54228765ae872a 100644
--- a/clim/cursor.lisp
+++ b/clim/cursor.lisp
@@ -56,7 +56,6 @@
 (defparameter +cursor-focus+  (byte 1 2))
 
 (defun decode-cursor-flags (flags)
-  #+Genera (declare (values active state focus))
   (values (ldb-test +cursor-active+ flags)
           (ldb-test +cursor-state+ flags)
           (ldb-test +cursor-focus+ flags)))
diff --git a/clim/dragging-output.lisp b/clim/dragging-output.lisp
index e9d715c9f97d216670e1e71657b35029fdec7355..e1e5e95e7b51410210b99282e22e05aaaca3f823 100644
--- a/clim/dragging-output.lisp
+++ b/clim/dragging-output.lisp
@@ -26,7 +26,6 @@
                            &key (repaint t) multiple-window
                                 (erase #'erase-output-record erase-sp) feedback
                                 (finish-on-release *dragging-output-finish-on-release*))
-  (declare (values final-x final-y delta-x delta-y))
   (let (last-x last-y
         (delta-x 0)
         (delta-y 0)
diff --git a/clim/gestures.lisp b/clim/gestures.lisp
index c99c5fc00c88f6925793ec6537c0468e67046cf4..7288d190ec855f96e3533e4098d86948786f48a3 100644
--- a/clim/gestures.lisp
+++ b/clim/gestures.lisp
@@ -85,7 +85,6 @@
              ,@body))))))
 
 (defun gesture-name-button-and-modifiers (gesture-name)
-  (declare (values button modifier-state))
   (do-button-and-modifier-state (button modifier-state bucket)
     (when (member gesture-name bucket)
       (return-from gesture-name-button-and-modifiers
@@ -94,7 +93,6 @@
   nil)
 
 (defun gesture-name-keysym-and-modifiers (gesture-name)
-  (declare (values keysym modifier-state))
   (dotimes (index (ash 1 (length *modifier-keys*)))
     (let ((bucket (aref *keysym-and-modifier-key->gesture* index)))
       (dolist (entry bucket)
@@ -266,7 +264,6 @@
 ;; A slower, more careful version of the above that gets used to
 ;; validate programmer input
 (defun decode-gesture-spec (gesture-spec &key (errorp t))
-  (declare (values keysym modifiers))
   (when (atom gesture-spec)
     (return-from decode-gesture-spec
       (values gesture-spec nil)))
diff --git a/clim/histories.lisp b/clim/histories.lisp
index ca25ebd0f12e467a6a28bca0427d47dafea2f652..cfdea3aa61be050d6b423451baf5bd13fd6f1d8f 100644
--- a/clim/histories.lisp
+++ b/clim/histories.lisp
@@ -97,7 +97,6 @@
 
 ;; Get the element from HISTORY indexed by INDEX.
 (defmethod history-element ((history basic-history) index &optional fixup-p)
-  (declare (values element index))
   (let ((delta 0))
     (with-slots (elements current-length temporary-element) history
       (without-scheduling
diff --git a/clim/incremental-redisplay.lisp b/clim/incremental-redisplay.lisp
index 644984ee39307c630933aa6db89ba20c2d1da810..e275a47bab0906018ecee6346a8bb9a7bb26e8e2 100644
--- a/clim/incremental-redisplay.lisp
+++ b/clim/incremental-redisplay.lisp
@@ -453,7 +453,6 @@
                       (x-offset (coordinate 0)) (y-offset (coordinate 0))
                       (old-x-offset (coordinate 0)) (old-y-offset (coordinate 0)))
   (declare (type coordinate x-offset y-offset old-x-offset old-y-offset))
-  (declare (values erases moves draws erase-overlapping move-overlapping))
   #-aclpc (declare (ignore check-overlapping))
   #+ignore (when (eq record wt::*c*) (break "found it"))
   (let ((erases nil)
@@ -557,7 +556,6 @@
                              &optional (x-offset (coordinate 0)) (y-offset (coordinate 0))
                                        (old-x-offset (coordinate 0)) (old-y-offset (coordinate 0)))
   (declare (type coordinate x-offset y-offset old-x-offset old-y-offset))
-  (declare (values erases moves draws erase-overlapping move-overlapping))
   (let ((new-draws nil))
     (labels ((augment-draws (record x-offset y-offset old-x-offset old-y-offset)
                (let ((erases-that-overlap nil))
@@ -823,8 +821,6 @@
                       (old-child-extent
                         (output-record-old-bounding-rectangle child))
                       erases moves draws erase-overlapping move-overlapping)
-  (declare (values new-mode new-erases new-moves new-draws
-                   new-erase-overlapping new-move-overlapping))
   #-aclpc (declare (ignore move-overlapping erase-overlapping draws 
                    moves erases old-child-extent old-child-position)) ;--- Why
   ;; If :DELETE, and deleted all children, delete self,
@@ -938,7 +934,6 @@
             &optional check-overlapping
                       (x-offset (coordinate 0)) (y-offset (coordinate 0))
                       (old-x-offset (coordinate 0)) (old-y-offset (coordinate 0)))
-  (declare (values erases moves draws erase-overlapping move-overlapping))
   #-aclpc (declare (ignore old-x-offset old-y-offset check-overlapping))
   (with-slots (all-new old-bounding-rectangle contents-ok old-parent) record
     ;; if it's all-new, don't bother walking the hierarchy, just redraw.
diff --git a/clim/input-defs.lisp b/clim/input-defs.lisp
index 4319a5f15a102d5aeadccbf7f168049a87a3bcaa..3d2a8e7518ec291282de9a7887ca4f32e2fa3e31 100644
--- a/clim/input-defs.lisp
+++ b/clim/input-defs.lisp
@@ -264,7 +264,6 @@
                 (pointer-y-position pointer) y-position))))))
 
 (defmethod query-pointer ((pointer standard-pointer))
-  (declare (values sheet x y))
   (with-slots (sheet x-position y-position) pointer
     (values sheet x-position y-position)))
 
diff --git a/clim/input-editor-commands.lisp b/clim/input-editor-commands.lisp
index f2f5e49f0e0c481fe01d8f37d3a4fd14c6089e79..9aab205cf0b73fc64060e7b6a8dc0325998c767b 100644
--- a/clim/input-editor-commands.lisp
+++ b/clim/input-editor-commands.lisp
@@ -334,7 +334,6 @@ This may confused the input editor" gestures))
       (queue-rescan stream ':activation))))
 
 (defun complete-symbol-name (stream input-buffer &aux (colon-string ":"))
-  (declare (values string ambiguous word-start))
   (multiple-value-bind (word-start word-end colon)
       (word-start-and-end input-buffer '(#\space #\( #\) #\")
                           (stream-insertion-pointer stream))
@@ -1068,7 +1067,6 @@ This may confused the input editor" gestures))
 ;;; Lispy input editing commands
 
 (defun function-arglist (function)
-  (declare (values arglist found-p))
   #+Clozure      (values (ccl:arglist function) t)
   #+Genera       (values (sys:arglist function) T)
   #+Cloe-Runtime (sys::arglist function)
@@ -1076,7 +1074,6 @@ This may confused the input editor" gestures))
   #+Lucid        (values (lucid-common-lisp:arglist function) t))
 
 (defun word-start-and-end (string start-chars &optional (start 0))
-  (declare (values word-start word-end colon))
   (flet ((open-paren-p (thing)
            (or (not (characterp thing))                ;noise strings and blips are delimiters
                (member thing start-chars)))
@@ -1108,7 +1105,6 @@ This may confused the input editor" gestures))
               colon))))
 
 (defun symbol-at-position (stream input-buffer delimiters)
-  (declare (values symbol package start end))
   (multiple-value-bind (word-start word-end)
       (word-start-and-end input-buffer delimiters
                           (stream-insertion-pointer stream))
diff --git a/clim/interactive-protocol.lisp b/clim/interactive-protocol.lisp
index fe25a7c2bcf6943546172973d87e57eebeffdf0b..bf93c93bfba2b402d09194fb646971c2452515db 100644
--- a/clim/interactive-protocol.lisp
+++ b/clim/interactive-protocol.lisp
@@ -591,7 +591,6 @@
 ;; the result does not want to include the space, but which succeeds on a
 ;; balancing open-paren and the result does want to include the paren.
 (defun forward-or-backward (input-buffer start-position reverse-p predicate)
-  (declare (values new-position))
   (let ((position start-position)
         (adjustment (if reverse-p -1 +1))
         (limit (if reverse-p 0 (fill-pointer input-buffer))))
diff --git a/clim/menus.lisp b/clim/menus.lisp
index a546737f4ce1db3f680b23f70532ae7d6a192ad3..bca8b2641b6f737aba8f69dc10c01475dbaeb673 100644
--- a/clim/menus.lisp
+++ b/clim/menus.lisp
@@ -274,7 +274,6 @@
                              (cell-align-x ':left) (cell-align-y ':top)
                              pointer-documentation menu-type gesture
                              x-position y-position)
-  (declare (values value chosen-item gesture))
   (declare (ignore text-style default-item foreground background
                    label scroll-bars printer presentation-type
                    cache unique-id id-test cache-value cache-test
@@ -301,7 +300,6 @@
                  (cell-align-x ':left) (cell-align-y ':top)
                  pointer-documentation menu-type gesture
                  background foreground)
-  (declare (values value chosen-item gesture))
   (declare (ignore #-aclpc keys gesture))
   (flet ((present-item (item stream)
            (present item presentation-type :stream stream)))
@@ -498,7 +496,6 @@
                                       x-spacing y-spacing (row-wise nil)
                                       (cell-align-x ':left) (cell-align-y ':top)
                                       menu-type)
-  (declare (values value chosen-item gesture))
   (flet ((present-item (item stream)
            (present item presentation-type :stream stream)))
     (declare (dynamic-extent #'present-item))
@@ -614,7 +611,6 @@
                              label text-style (scroll-bars t)
                              pointer-documentation menu-type
                         &allow-other-keys)
-  (declare (values value chosen-item gesture))
   (declare (dynamic-extent keys))
   (with-slots (name menu-contents items default-presentation root-window)
               static-menu
diff --git a/clim/output-protocol.lisp b/clim/output-protocol.lisp
index 4ac4fce6241871447fdd541038270372934103db..b2d69c8d2b3fe24e0dc3bb1417c1bd917a0e0e09 100644
--- a/clim/output-protocol.lisp
+++ b/clim/output-protocol.lisp
@@ -587,7 +587,6 @@
 
 (defmethod text-size ((stream output-protocol-mixin) string
                       &key (text-style (medium-merged-text-style stream)) (start 0) end)
-  (declare (values largest-x total-height last-x last-y baseline))
   (when (characterp string)
     (setq string (string string)
           start 0
@@ -602,7 +601,6 @@
 ;;; useful as that might be.
 (defmethod stream-string-output-size ((stream output-protocol-mixin)
                                       string &key (start 0) end text-style)
-  (declare (values last-x largest-x last-y total-height baseline))
   (when (characterp string) (setq string (string string)))
   (unless end (setf end (length string)))
   (let ((style (or text-style (medium-merged-text-style stream)))
@@ -725,7 +723,6 @@
 
 ;; Damnable string streams!
 (defmethod text-size ((stream t) string &key text-style (start 0) end)
-  (declare (values largest-x total-height last-x last-y baseline))
   (declare (ignore text-style))
   (let ((char-width 8)
         (line-height 12)
@@ -769,8 +766,6 @@
 ;;; A few utilities for string writing.
 
 (defmethod decode-stream-for-writing ((stream output-protocol-mixin) &optional brief-p)
-  (declare (values cursor-x cursor-y baseline line-height
-                   style max-x record-p draw-p glyph-buffer))
   (multiple-value-bind (cursor-x cursor-y) (stream-cursor-position stream)
     (let ((baseline (stream-baseline stream))
           (line-height (stream-current-line-height stream))
@@ -806,7 +801,6 @@
                                            (medium medium)
                                            string start end style
                                            cursor-x max-x &optional glyph-buffer)
-  (declare (values write-char next-char-index new-cursor-x new-baseline new-height font))
   (declare (type coordinate cursor-x max-x))
   (declare (type fixnum start end))
   (block stream-scan-string-for-writing
@@ -898,7 +892,6 @@
 ;;; characters; they are handled in WRITE-CHAR instead.
 (defmethod stream-scan-character-for-writing ((stream output-protocol-mixin) medium
                                               character style cursor-x max-x)
-  (declare (values char-normal new-cursor-x new-baseline new-height font))
   (declare (type coordinate cursor-x max-x))
   (multiple-value-bind (index font escapement-x escapement-y origin-x origin-y bb-x bb-y)
       (port-glyph-for-character (port medium) character style)
@@ -926,7 +919,6 @@
 
 (defmethod stream-handle-line-wrap ((stream output-protocol-mixin) cursor-y height max-x
                                     draw-p record-p)
-  (declare (values cursor-x cursor-y baseline line-height))
   (when record-p (stream-close-text-output-record stream t))
   (when draw-p
     (draw-character-wrap-indicator stream cursor-y height max-x record-p))
diff --git a/clim/r-tree.lisp b/clim/r-tree.lisp
index b6cc55dfac50844d83b3ca0b5f3553008f301429..bc097c8d21454077af2e1e146a9f129001b7aa7b 100644
--- a/clim/r-tree.lisp
+++ b/clim/r-tree.lisp
@@ -225,7 +225,6 @@
 
 ;; Add a record to an R tree, and return the (possibly new) root
 (defun r-tree-insert (root record)
-  (declare (values new-root))
   (let ((leaf root))
     (loop 
       (when (r-tree-leaf-node-p leaf)
@@ -451,7 +450,6 @@
 
 ;; Remove an object from the R tree and trim it appropriately
 (defun r-tree-delete (root record)
-  (declare (values new-root found-p))
   (with-stack-array (orphans 20 :fill-pointer 0)
     (multiple-value-bind (found-p delete-p)
         (r-tree-delete-1 root record orphans)
diff --git a/clim/recording-protocol.lisp b/clim/recording-protocol.lisp
index 28676576e0f24fe824d95de492f45cf6041cc732..9714d5913573a0a80de6f981c363584086530b38 100644
--- a/clim/recording-protocol.lisp
+++ b/clim/recording-protocol.lisp
@@ -470,7 +470,6 @@
 ;; relative to ANCESTOR in order to get coordinates relative to
 ;; DESCENDANT.
 (defun convert-from-ancestor-to-descendant-coordinates (ancestor descendant)
-  (declare (values x-offset y-offset))
   (cond ((eq descendant ancestor)
          (values (coordinate 0) (coordinate 0)))
         ((null descendant)
@@ -491,7 +490,6 @@
 ;; relative to DESCENDANT in order to get coordinates relative to
 ;; ANCESTOR.
 (defun convert-from-descendant-to-ancestor-coordinates (descendant ancestor)
-  (declare (values x-offset y-offset))
   (cond ((eq descendant ancestor)
          (values (coordinate 0) (coordinate 0)))
         ((null descendant)
diff --git a/clim/standard-types.lisp b/clim/standard-types.lisp
index 9b04720bc57197725fe46bf4ad5bacb584d9e84e..5081bd98125665531d46c93bcb50b5c4f3ac4d64 100644
--- a/clim/standard-types.lisp
+++ b/clim/standard-types.lisp
@@ -1080,7 +1080,6 @@
 
 (defun accept-sequence-element (stream element-type view separators
                                 element-default element-default-type default-supplied-p)
-  (declare (values object object-type))
   (multiple-value-bind (object object-type)
       (with-input-context (element-type) (object object-type)
            (with-delimiter-gestures (separators)
@@ -1733,7 +1732,6 @@
 
 #+Genera
 (defun dw-type-to-clim-type (object dw-type)
-  (declare (values new-object clim-type changed-p))
   (dw:with-type-decoded (type-name data-args pr-args) dw-type
      (let ((new (assoc type-name *dw-type-to-clim-type-alist*)))
        (if new
diff --git a/clim/stream-defprotocols.lisp b/clim/stream-defprotocols.lisp
index f36ca498e3b4f142363208ef73887a299db32bd6..8bf42e3771b586878bb49e0d6562335a8f12ce2b 100644
--- a/clim/stream-defprotocols.lisp
+++ b/clim/stream-defprotocols.lisp
@@ -258,7 +258,6 @@
 
 (defoperation text-size basic-extended-output-protocol
   ((stream basic-extended-output-protocol) string &key text-style start end)
-  #-aclpc (declare (values largest-x total-height last-x last-y baseline))
   (:no-defgeneric t))
 
 (defoperation stream-cursor-position basic-extended-output-protocol
diff --git a/clim/tracking-pointer.lisp b/clim/tracking-pointer.lisp
index 424502f48c1d1b08674669404024445cc6f9a053..29d728e93f159d7b810b40dd783a19adea160f42 100644
--- a/clim/tracking-pointer.lisp
+++ b/clim/tracking-pointer.lisp
@@ -16,7 +16,6 @@
   `(push-unique '(,name ,arglist) *tracking-pointer-clauses* :key #'car))
 
 (defun validate-tracking-pointer-clause (name arglist)
-  (declare (values new-arglist ignores))
   (let ((item (find name *tracking-pointer-clauses* :key #'car)))
     (unless item
       (error "~S is not a known TRACKING-POINTER clause." name))
diff --git a/clim/translators.lisp b/clim/translators.lisp
index fb9253cfdbaba93ba4f0251f7c8f4c99b5d404dc..5c63ec8d44ef8e57dfe3dca8a05bef089b7e5cea 100644
--- a/clim/translators.lisp
+++ b/clim/translators.lisp
@@ -510,7 +510,6 @@
 (defun presentation-matches-context-type (presentation context-type
                                           frame window x y
                                           &key event (modifier-state 0))
-  (declare (values translator any-match-p))
   (let ((one-matched nil)
         (translators
           (find-presentation-translators
diff --git a/clx/clx-port.lisp b/clx/clx-port.lisp
index b7f6da3310c7e14610932050a4b6c343bb926c83..d242c1c47080739bf2ec1c049f871bd6baa8bc44 100644
--- a/clx/clx-port.lisp
+++ b/clx/clx-port.lisp
@@ -322,7 +322,6 @@
 
 (defmethod port-glyph-for-character ((port clx-port)
 				     character text-style &optional our-font)
-  (declare (values index font escapement-x escapement-y origin-x origin-y bb-x bb-y))
   (multiple-value-bind (character-set index)
       (char-character-set-and-index character)
     (when (eq character-set *standard-character-set*)
diff --git a/compatibility/clim1-compatibility.lisp b/compatibility/clim1-compatibility.lisp
index 651a16f8790afbcc6399843f541e7aa612d58d1e..122048e9298a8ebf86d027fd908dd9d01d837160 100644
--- a/compatibility/clim1-compatibility.lisp
+++ b/compatibility/clim1-compatibility.lisp
@@ -842,7 +842,6 @@
 		    (insert-default nil) (replace-input t)
 		    (present-p nil) (active-p t))
   (declare (dynamic-extent accept-args))
-  (declare (values object type))
   (declare (ignore prompt-mode display-default query-identifier
 		   activation-gestures additional-activation-gestures
 		   delimiter-gestures additional-delimiter-gestures 
@@ -1183,7 +1182,6 @@
 					  &key event (modifier-state 0)
 					       #+CLIM-1-compatibility
 					       (shift-mask 0 shift-mask-p))
-  (declare (values translator any-match-p))
   #+CLIM-1-compatibility
   (when shift-mask-p
     (setq modifier-state shift-mask))
@@ -1596,7 +1594,6 @@
 			     #+CLIM-1-compatibility default-style
 			     #+CLIM-1-compatibility inter-row-spacing
 			     #+CLIM-1-compatibility inter-column-spacing)
-  (declare (values value chosen-item gesture))
   (declare (ignore associated-window
 		   text-style default-item
 		   label printer presentation-type
@@ -1653,7 +1650,6 @@
 		 #+CLIM-1-compatibility default-style
 		 #+CLIM-1-compatibility inter-row-spacing
 		 #+CLIM-1-compatibility inter-column-spacing)
-  (declare (values value chosen-item gesture))
   (declare (ignore keys))
   #+CLIM-1-compatibility
   (when default-style
@@ -1718,7 +1714,6 @@
 				      #+CLIM-1-compatibility default-style
 				      #+CLIM-1-compatibility inter-row-spacing
 				      #+CLIM-1-compatibility inter-column-spacing)
-  (declare (values value chosen-item gesture))
   #+CLIM-1-compatibility
   (when default-style
     (setq text-style default-style))
diff --git a/demo/browser.lisp b/demo/browser.lisp
index 5ffd90d542b5fea5179f5475c50386f271514027..2a30e8feb7208fe1f64d638f5b4e07aedd8e570e 100644
--- a/demo/browser.lisp
+++ b/demo/browser.lisp
@@ -109,8 +109,7 @@
 (defgeneric display-node (call-node stream))
 (defgeneric node-generate-inferior-objects (call-node subtype))
 (defgeneric node-any-inferior-objects-p (call-node subtype))
-(defgeneric node-arc-drawer (call-node)
-  #+genera (declare (values arc-drawer arc-drawing-options)))
+(defgeneric node-arc-drawer (call-node))
 
 
 (defclass basic-call-node ()
@@ -219,9 +218,7 @@
 (defvar *browser-types* nil)
 
 (defgeneric browser-type-subtypes (type))
-(defgeneric browser-type-information (type subtype)
-  #+genera (declare (values node-maker root-node-maker
-			    graph-type grapher-args presentation-type options)))
+(defgeneric browser-type-information (type subtype))
 
 (defmacro define-browser-type (type presentation-type graph-type options &body subtypes)
   #+genera (declare (zwei:indentation 3 3 4 1))
diff --git a/demo/custom-records.lisp b/demo/custom-records.lisp
index e56062bdf7a01f9825cbd057aae221bde453a8f0..217d415d78e813657c7b2ca243a5a0e54b8c7ce1 100644
--- a/demo/custom-records.lisp
+++ b/demo/custom-records.lisp
@@ -318,7 +318,6 @@
 (defun bsearch (number vector 
 		&key (key #'identity) (start 0) (end (1- (length vector))))
   ;; If a number is in between two values, return the first of the two
-  (declare (values index element))
   (if (< end start)
       (values nil 0)
       (let (#+Genera (vector vector) 
@@ -397,7 +396,6 @@
 	      internal-time-units-per-second))))))
 
 (defun display-sample-dataset (dataset &optional (stream *standard-output*))
-  (declare (values output-record elapsed-time))
   (terpri stream)
   (elapsed-time (display-data dataset stream)))
 
diff --git a/demo/output-record.lisp b/demo/output-record.lisp
index c7fef8e0d00482dc855df7e07edc3f2cb5101d21..3d9755e8d9804fc9a6c2b581f14fbf45bf4e2698 100644
--- a/demo/output-record.lisp
+++ b/demo/output-record.lisp
@@ -18,7 +18,6 @@
 		       (end (1- (length array))))
   "Binary search to find a number in a sorted array."
   ;; If a number is inbetween two values, return the first of the two.
-  (declare (values index element))
   (if (< end start)
       (values nil 0)
       (let ((array array) mid Nmid found)
diff --git a/genera/genera-mirror.lisp b/genera/genera-mirror.lisp
index 18b80f8a6e61713b9063dd1450f103074c8dfcc5..110fcab5384f0da71823a57752f3913e4dc001db 100644
--- a/genera/genera-mirror.lisp
+++ b/genera/genera-mirror.lisp
@@ -414,7 +414,6 @@
 (defvar *old-mouse-chord-shifts* 0)
 
 (defun-inline buttons-up (old-buttons new-buttons)
-  (declare (values buttons-up buttons-down))
   (values (boole boole-andc2 old-buttons new-buttons)
 	  (boole boole-andc2 new-buttons old-buttons)))
 
@@ -741,7 +740,6 @@
 ;; See general comments about sheet-native-native-region* and
 ;; sheet-native-region* about functions vs macros, etc.
 (defun genera-window-margins (mirror)
-  (declare (values left top inside-width inside-height))
   (multiple-value-bind (left top)
       (scl:send mirror :margins)
     (multiple-value-bind (width height)
diff --git a/genera/genera-port.lisp b/genera/genera-port.lisp
index 22108eb03917e3e7e7ebbaa069031a64606acb1f..dac96553cab8581feea37ae97bcf3cccbf9f6f2e 100644
--- a/genera/genera-port.lisp
+++ b/genera/genera-port.lisp
@@ -301,7 +301,6 @@
 
 (defmethod port-glyph-for-character ((port genera-port)
 				     character style &optional our-font)
-  (declare (values index font escapement-x escapement-y origin-x origin-y bb-x bb-y
 		   fixed-width-font-p))
   (with-genera-glyph-for-character
     (port-glyph-for-character port character style our-font)))
diff --git a/hpgl/hpgl-medium.lisp b/hpgl/hpgl-medium.lisp
index eb405941008433e74e4aa5d58c8ad882b5827be1..5531415f99dc0c04a63d33bb19b182013f96e191 100644
--- a/hpgl/hpgl-medium.lisp
+++ b/hpgl/hpgl-medium.lisp
@@ -701,7 +701,6 @@ a point. Hence we have 72dpi resolution printer.
 (defmethod port-glyph-for-character ((port hpgl-port)
 				     character appearance &optional our-font)
   #+Genera
-  (declare (values index font escapement-x escapement-y origin-x origin-y bb-x bb-y))
   (with-hpgl-port-glyph-for-character (port)
     (port-glyph-for-character medium character appearance our-font)))
 
@@ -722,8 +721,6 @@ a point. Hence we have 72dpi resolution printer.
 					    string start end
 					    style cursor-x max-x
 					    &optional glyph-buffer)
-  #+Genera (declare (values write-char next-char-index new-cursor-x
-			    new-baseline new-height font))
   ;;(declare (ignore stream))
   (let (#+ignore (port (port medium)))
     (with-hpgl-port-glyph-for-character (port)
diff --git a/postscript/postscript-medium.lisp b/postscript/postscript-medium.lisp
index bcacba4db7572a2ad6135ba3ea79039ad98053ff..ab2c68c189f753a725c8038dc904731813f09f85 100644
--- a/postscript/postscript-medium.lisp
+++ b/postscript/postscript-medium.lisp
@@ -550,11 +550,8 @@
 
 (defmethod port-glyph-for-character ((port postscript-port)
 				     character style &optional our-font)
-  (declare (values index font escapement-x escapement-y origin-x origin-y bb-x bb-y
-		   fixed-width-font-p))
   (with-postscript-glyph-for-character
-    (port-glyph-for-character port character style our-font)))
-)
+    (port-glyph-for-character port character style our-font))))
 
 ;;-- Is this needed??
 
diff --git a/pre-silica/clx-implementation.lisp b/pre-silica/clx-implementation.lisp
index 32f5f38b134a551e0e4ab7480d99b103d0183b09..284fe5c77be9b59f2f2e37b098db9f2413a7b721 100644
--- a/pre-silica/clx-implementation.lisp
+++ b/pre-silica/clx-implementation.lisp
@@ -124,7 +124,6 @@
   (:default-initargs :input-buffer nil))
 
 (defun disassemble-display-spec (display &optional (default-display 0) (default-screen 0))
-  (declare (values host display-number nscreen))
   (let ((host-n (position #\: display)))
     (unless host-n
       (return-from disassemble-display-spec 
@@ -1788,7 +1787,6 @@
 ;; TEXT-STYLE  must be a fully merged text style
 (defmethod stream-glyph-for-character
 	   ((stream clx-window) character text-style &optional our-font)
-  (declare (values index font escapement-x escapement-y origin-x origin-y bb-x bb-y))
   (with-slots (window display-device-type) stream
     (multiple-value-bind (character-set index)
 	(char-character-set-and-index character)
@@ -1835,7 +1833,6 @@
 
 ;;; Too bad we have to copy the glyphs again, but that's life...
 (defun noop-translate-function (src src-start src-end font dst dst-start)
-  (declare (values ending-index horizontal-motion width))
   (declare (ignore font))
   (replace dst src :start1 dst-start :start2 src-start :end2 src-end)
   (values src-end nil nil))
diff --git a/pre-silica/genera-implementation.lisp b/pre-silica/genera-implementation.lisp
index bfa1279735543b13035723c48b9a6383d1f4c906..0b77757ee8ab38b6fa8d280fdbf08b10a6b3a718 100644
--- a/pre-silica/genera-implementation.lisp
+++ b/pre-silica/genera-implementation.lisp
@@ -888,8 +888,6 @@
 
 (defmethod stream-glyph-for-character ((stream sheet-implementation-mixin)
 				       character style &optional our-font)
-  (declare (values index font escapement-x escapement-y origin-x origin-y bb-x bb-y
-		   fixed-width-font-p))
   (with-sheet-stream-glyph-for-character
     (stream-glyph-for-character stream character style our-font)))
 
@@ -1021,7 +1019,6 @@
 
 ;;; Interface to Genera scroll bars.
 (scl:defmethod (:y-scroll-position clim-sheet) ()
-  (declare (values top-displayed height-displayed minimum-y maximum-y))
   (let* ((stream (sheet-for-genera-window scl:self :error-if-no-match nil))
 	 (history (and stream (stream-output-history stream)))
 	 (viewport (and stream (window-viewport stream))))
@@ -1048,7 +1045,6 @@
 (defun calculate-new-viewport-position (stream x-or-y type position
 					&optional (context-nlines 1))
   (declare (ignore context-nlines))
-  (declare (values viewport-left viewport-top))
   (let ((viewport (window-viewport stream)))
     (ecase x-or-y
       (:y
diff --git a/pre-silica/postscript-implementation.lisp b/pre-silica/postscript-implementation.lisp
index e6de148a683527f4734e3f9e2f588ff81dd7abd3..2270df3a1ad8162e48970bb9d2c2e4bbeb825e08 100644
--- a/pre-silica/postscript-implementation.lisp
+++ b/pre-silica/postscript-implementation.lisp
@@ -908,8 +908,6 @@ x y translate xra yra scale 0 0 1 sa ea arcp setmatrix end} def
 
 (defmethod stream-glyph-for-character ((stream postscript-implementation-mixin)
 				       character style &optional our-font)
-  (declare (values index font escapement-x escapement-y origin-x origin-y bb-x bb-y
-		   fixed-width-font-p))
   (with-ps-stream-glyph-for-character
     (stream-glyph-for-character stream character style our-font)))
 
diff --git a/silica/db-scroll.lisp b/silica/db-scroll.lisp
index 5ee6f9d10e6afb7d263b140f4a808b7a8493c204..5e0f0c386cfc2aecfa040d4abb8fec6275884761 100644
--- a/silica/db-scroll.lisp
+++ b/silica/db-scroll.lisp
@@ -317,7 +317,6 @@
 ;;; Given min1, max1 and value1 which is between them it will return
 ;;; value2 which would be proportionally between min2 and max2.
 (defun compute-symmetric-value (min1 max1 value1 min2 max2)
-  (declare (values value2))
   (let* ((distance1 (- max1 min1))
          (fraction1 (if (zerop distance1)
                         0
diff --git a/silica/medium.lisp b/silica/medium.lisp
index 98da1216c03b8bb8f812627953343ec1dd80ce7d..a303dd797c24ab864fe629cf0c6af62f1d3504cd 100644
--- a/silica/medium.lisp
+++ b/silica/medium.lisp
@@ -487,7 +487,6 @@
 
 (defoperation text-size medium-protocol
   ((medium medium) string &key text-style start end)
-  (declare (values largest-x total-height last-x last-y baseline))
   (:no-defgeneric t))
 
 
diff --git a/silica/port.lisp b/silica/port.lisp
index 0f520c97a13ac0376e568862cf693140733e1fd7..f459327b6d6ed60046fdba243714356f7071321c 100644
--- a/silica/port.lisp
+++ b/silica/port.lisp
@@ -230,7 +230,6 @@
 
 (defun fit-region*-in-region* (left1 top1 right1 bottom1
                                left2 top2 right2 bottom2)
-  #+Genera (declare (values left1 top1 right1 bottom1 adjusted-p))
   (let* ((adjusted-p nil)
          (w (- right1 left1))
          (h (- bottom1 top1))
diff --git a/silica/text-style.lisp b/silica/text-style.lisp
index 98babdde75280513b26c1d56a37923296414c0ce..1209efdf24fbacaecf10dee4b2f5f2eae3f79490 100644
--- a/silica/text-style.lisp
+++ b/silica/text-style.lisp
@@ -494,7 +494,6 @@
 (defmethod text-size ((medium basic-medium) string
                       &key (text-style (medium-merged-text-style medium))
                            (start 0) end)
-  (declare (values largest-x total-height last-x last-y baseline))
   ;; this shouldn't be necessary because of trampolines directly above
   ;;  31jan97 tjm w/colin
   #+(or aclpc acl86win32)
@@ -815,7 +814,6 @@
 
 #-(or aclpc acl86win32)
 (defun-inline char-character-set-and-index (character)
-  (declare (values character-set index))
   (values #+Allegro
 	  (excl:ics-target-case
            (:-ics *standard-character-set*)
@@ -830,7 +828,6 @@
 #+(or aclpc acl86win32)
 ;;; For now, only standard character set characters are understood...
 (defun-inline char-character-set-and-index (character)
-  (declare (values character-set index))
   (values *standard-character-set* (char-code character)))
 
 
diff --git a/specs/clim-sys.tex b/specs/clim-sys.tex
index fb1ea6662cd6ac4915e9b3af4c916b751280372c..7cfe6996d8df137d001f2681924e9d0108f71f94 100644
--- a/specs/clim-sys.tex
+++ b/specs/clim-sys.tex
@@ -260,7 +260,6 @@ called \cl{sample-output-record} might be defined as follows:
 
 \begin{verbatim}
 (defgeneric output-record-position (record)
-  (declare (values x y)))
 (defgeneric* (setf output-record-position) (x y record))
 
 (defmethod output-record-position ((record sample-output-record))
diff --git a/tk-silica/xt-frames.lisp b/tk-silica/xt-frames.lisp
index 9af87cb42ca0ea770a5a64d2ea9686ff1a4825ba..79889a9b163de1f5a837ab1bdf9fd76bb5c5bdff 100644
--- a/tk-silica/xt-frames.lisp
+++ b/tk-silica/xt-frames.lisp
@@ -103,7 +103,6 @@
 	  default-item  ;; bug12221/spr25238
 	  
 	  )
-  (declare (values value chosen-item gesture))
   ;; let's degrade to CLIM 1 style menus if we need scroll-bars
   (if scroll-bars
       (call-next-method)
diff --git a/utils/clos-patches.lisp b/utils/clos-patches.lisp
index d38bc26adcfd87337704583944333de80e2ee553..0d439b25114742af23d4513b87b2a6a6cf02adad 100644
--- a/utils/clos-patches.lisp
+++ b/utils/clos-patches.lisp
@@ -99,7 +99,6 @@
 
 #+(and allegro (not (version>= 4 1)))
 (lisp:defun slot-value-alist (body)
-  (declare (values real-body alist))
   (let ((alist nil))
     (do* ((real-body body (cdr real-body))
           (form (car real-body) (car real-body)))
diff --git a/utils/defun.lisp b/utils/defun.lisp
index dacc8fb3870ff3358d334814c19d6e8591ed0a26..52422b4d167989cfc7a1b2cdf3550657c54b872c 100644
--- a/utils/defun.lisp
+++ b/utils/defun.lisp
@@ -57,7 +57,6 @@
 ;;; The heart of function body processing:
 (lisp:defun decode-function (lambda-list body environment
 			     &key clos-method-p function-name downward-p generic-function-p)
-  (declare (values new-lambda-list new-body))
   #-Genera (declare (ignore function-name))
   (let* ((ignores nil)
 	 (new-lambda-list nil)
diff --git a/utils/designs.lisp b/utils/designs.lisp
index c9333ca6116e9e7d1f483aa40d4f17b6af2a9f45..ba6e29a29d78daa0fc80afdfb20787c0f31a7c1f 100644
--- a/utils/designs.lisp
+++ b/utils/designs.lisp
@@ -712,7 +712,6 @@ then restart your application.")
 ;;; This could be done with methods, but there is very little point to that
 #-(or aclpc acl86win32)
 (defun decode-tile-as-stipple (rectangular-tile)
-  (declare (values array width height))
   (multiple-value-bind (pattern width height)
       (decode-rectangular-tile rectangular-tile)
     (when (typep pattern 'pattern)
@@ -727,7 +726,6 @@ then restart your application.")
 
 #+(or aclpc acl86win32)
 (defun decode-tile-as-stipple (rectangular-tile)
-  (declare (values array width height))
   (multiple-value-bind (pattern width height)
       (decode-rectangular-tile rectangular-tile)
     (declare (ignore width height))
diff --git a/utils/lisp-utilities.lisp b/utils/lisp-utilities.lisp
index 97a06f5be3680f7fc24de50a19e90bcb15821119..f5bbff18dd3e1d353e082974d0686dd981edf1fd 100644
--- a/utils/lisp-utilities.lisp
+++ b/utils/lisp-utilities.lisp
@@ -866,7 +866,6 @@
 
 (defun canonicalize-and-match-lambda-lists (canonical-order user-specified
 					    &optional allow-user-keys)
-  #+nil(declare (values lambda-list ignores))
   (check-type canonical-order list)
   (check-type user-specified list)
   (let* ((new-lambda-list nil)
@@ -1308,7 +1307,6 @@
 ;; The idiom for using this is
 ;; (MULTIPLE-VALUE-SETQ (VECTOR FP) (SIMPLE-VECTOR-PUSH-EXTEND ELEMENT VECTOR FP)).
 (defun simple-vector-push-extend (element vector fill-pointer &optional extension)
-  #+nil(declare (values vector fill-pointer))
   (declare (type fixnum fill-pointer)
 	   (type simple-vector vector))
   (let ((length (array-dimension vector 0)))
@@ -1325,7 +1323,6 @@
     (values vector fill-pointer)))
 
 (defun simple-vector-insert-element (element index vector fill-pointer &optional extension)
-  #+nil(declare (values vector fill-pointer))
   (declare (type fixnum index fill-pointer)
 	   (type simple-vector vector))
   (let ((length (array-dimension vector 0)))
diff --git a/utils/regions.lisp b/utils/regions.lisp
index 55ced0b40697f124e8f6c7edcde9ea9fc80b7869..709508498e7f9423cfac705ea0d4324e85243bef 100644
--- a/utils/regions.lisp
+++ b/utils/regions.lisp
@@ -657,7 +657,6 @@
 ;; Make a new bounding rectangle for the region, and shift its position by DX,DY,
 ;; and return the new rectangle.
 (defun bounding-rectangle-shift-position (region dx dy &optional reuse-rectangle)
-  (declare (values region))
   (declare (type real dx dy))
   (let ((rectangle (bounding-rectangle region reuse-rectangle))
 	(dx (coordinate dx))
@@ -710,7 +709,6 @@
     (- bottom top)))
 
 (#-acl86win32 defun-inline #+acl86win32 defun bounding-rectangle-size (region)
-  (declare (values width height))
   (with-bounding-rectangle* (left top right bottom) region 
     #||(when (> right 10000) 
        (setq *reg* region)
@@ -745,7 +743,6 @@
 	    (+ top (/ (- bottom top) 2)))))
 
 (defun bounding-rectangle-ltrb (region)
-  (declare (values left top right bottom))
   (with-bounding-rectangle* (left top right bottom) region
     (values left top right bottom)))