Index: ChangeLog
===================================================================
RCS file: /project/slime/cvsroot/slime/ChangeLog,v
retrieving revision 1.427
diff -u -F^( -r1.427 ChangeLog
--- ChangeLog	24 Jun 2004 13:01:04 -0000	1.427
+++ ChangeLog	24 Jun 2004 13:16:39 -0000
@@ -1,5 +1,25 @@
 2004-06-24  Christophe Rhodes  <csr21@cam.ac.uk>
 
+	* hyperspec.el: add support for issue cross-reference lookups,
+	strongly inspired by hyperspec symbol lookup.
+	(common-lisp-hyperspec-issuex-table,
+	common-lisp-hyperspec-issuex-symbols): new variables
+	(common-lisp-issuex): new function
+
+	* slime.el (sldb-format-reference-node, sldb-lookup-reference):
+	(sldb-reference-properties): use new support for issue lookups
+	to support :ansi-cl :issue reference types.
+
+	* hyperspec.el: add support for glossary lookups.
+	(common-lisp-glossary-fun): new variable
+	(common-lisp-glossary-4.0, common-lisp-glossary-6.0): new functions
+	
+	* slime.el (sldb-format-reference-node, sldb-lookup-reference):
+	(sldb-reference-properties): use new support for glossary lookupts
+	to support :ansi-cl :glossary reference types.
+
+2004-06-24  Christophe Rhodes  <csr21@cam.ac.uk>
+
 	* slime.el (sldb-format-reference-node): fix for when `what' is a
 	list.
 	(sldb-lookup-reference,sldb-reference-properties): support
Index: hyperspec.el
===================================================================
RCS file: /project/slime/cvsroot/slime/hyperspec.el,v
retrieving revision 1.3
diff -u -F^( -r1.3 hyperspec.el
--- hyperspec.el	24 Jun 2004 13:00:45 -0000	1.3
+++ hyperspec.el	24 Jun 2004 13:16:39 -0000
@@ -1223,6 +1223,427 @@ (mapcar (lambda (entry)
           ("Missing and Additional FORMAT Arguments" (22 3 10 2))
           ("Additional FORMAT Parameters" (22 3 10 3))))
 
+(defvar common-lisp-glossary-fun 'common-lisp-glossary-6.0)
+
+(defun common-lisp-glossary-6.0 (string)
+  (format "%sBody/26_glo_%s.htm#%s"
+	  common-lisp-hyperspec-root
+	  (let ((char (string-to-char string)))
+	    (if (and (<= ?a char)
+		     (<= char ?z))
+		(make-string 1 char)
+	      "9"))
+	  (subst-char-in-string ?\  ?_ string)))
+
+(defun common-lisp-glossary-4.0 (string)
+  (format "%sBody/glo_%s.html#%s"
+	  common-lisp-hyperspec-root
+	  (let ((char (string-to-char string)))
+	    (if (and (<= ?a char)
+		     (<= char ?z))
+		(make-string 1 char)
+	      "9"))
+	  (subst-char-in-string ?\  ?_ string)))
+
+(defvar common-lisp-hyperspec-issuex-table nil
+  "The HyperSpec IssueX table file.  If you copy the HyperSpec to your
+local system, set this variable to the location of the Issue
+cross-references table which is usually \"Map_IssX.txt\" or
+\"Issue-Cross-Refs.text\".")
+
+(defvar common-lisp-hyperspec-issuex-symbols (make-vector 67 0))
+
+(if common-lisp-hyperspec-issuex-table
+    (let ((index-buffer (find-file-noselect common-lisp-hyperspec-issuex-table)))
+      (labels ((get-one-line ()
+			     (prog1 
+				 (delete* ?\n (thing-at-point 'line))
+			       (forward-line))))
+        (save-excursion
+          (set-buffer index-buffer)
+          (goto-char (point-min))
+          (while (< (point) (point-max))
+            (let* ((symbol (intern (downcase (get-one-line))
+                                   common-lisp-hyperspec-issuex-symbols))
+                   (relative-url (get-one-line)))
+              (set symbol (subseq relative-url
+				  (1+ (position ?\/ relative-url :from-end t)))))))))
+  (mapcar 
+   (lambda (entry)
+     (let ((symbol (intern (car entry) common-lisp-hyperspec-issuex-symbols)))
+       (set symbol (cadr entry))))
+   '(("&environment-binding-order:first" "iss001.htm")
+     ("access-error-name" "iss002.htm") 
+     ("adjust-array-displacement" "iss003.htm") 
+     ("adjust-array-fill-pointer" "iss004.htm")
+     ("adjust-array-not-adjustable:implicit-copy" "iss005.htm")
+     ("allocate-instance:add" "iss006.htm")
+     ("allow-local-inline:inline-notinline" "iss007.htm")
+     ("allow-other-keys-nil:permit" "iss008.htm") 
+     ("aref-1d" "iss009.htm")
+     ("argument-mismatch-error-again:consistent" "iss010.htm")
+     ("argument-mismatch-error-moon:fix" "iss011.htm")
+     ("argument-mismatch-error:more-clarifications" "iss012.htm")
+     ("arguments-underspecified:specify" "iss013.htm")
+     ("array-dimension-limit-implications:all-fixnum" "iss014.htm")
+     ("array-type-element-type-semantics:unify-upgrading" "iss015.htm")
+     ("assert-error-type:error" "iss016.htm") 
+     ("assoc-rassoc-if-key" "iss017.htm") 
+     ("assoc-rassoc-if-key:yes" "iss018.htm")
+     ("boa-aux-initialization:error-on-read" "iss019.htm")
+     ("break-on-warnings-obsolete:remove" "iss020.htm")
+     ("broadcast-stream-return-values:clarify-minimally" "iss021.htm")
+     ("butlast-negative:should-signal" "iss022.htm")
+     ("change-class-initargs:permit" "iss023.htm")
+     ("char-name-case:x3j13-mar-91" "iss024.htm")
+     ("character-loose-ends:fix" "iss025.htm") 
+     ("character-proposal:2" "iss026.htm") 
+     ("character-proposal:2-1-1" "iss027.htm")
+     ("character-proposal:2-1-2" "iss028.htm") 
+     ("character-proposal:2-2-1" "iss029.htm") 
+     ("character-proposal:2-3-1" "iss030.htm")
+     ("character-proposal:2-3-2" "iss031.htm") 
+     ("character-proposal:2-3-3" "iss032.htm")
+     ("character-proposal:2-3-4" "iss033.htm")
+     ("character-proposal:2-3-5" "iss034.htm")
+     ("character-proposal:2-3-6" "iss035.htm") 
+     ("character-proposal:2-4-1" "iss036.htm")
+     ("character-proposal:2-4-2" "iss037.htm") 
+     ("character-proposal:2-4-3" "iss038.htm") 
+     ("character-proposal:2-5-2" "iss039.htm")
+     ("character-proposal:2-5-6" "iss040.htm") 
+     ("character-proposal:2-5-7" "iss041.htm") 
+     ("character-proposal:2-6-1" "iss042.htm")
+     ("character-proposal:2-6-2" "iss043.htm") 
+     ("character-proposal:2-6-3" "iss044.htm") 
+     ("character-proposal:2-6-5" "iss045.htm")
+     ("character-vs-char:less-inconsistent-short" "iss046.htm")
+     ("class-object-specializer:affirm" "iss047.htm")
+     ("clos-conditions-again:allow-subset" "iss048.htm")
+     ("clos-conditions:integrate" "iss049.htm")
+     ("clos-error-checking-order:no-applicable-method-first" "iss050.htm")
+     ("clos-macro-compilation:minimal" "iss051.htm")
+     ("close-constructed-stream:argument-stream-only" "iss052.htm")
+     ("closed-stream-operations:allow-inquiry" "iss053.htm")
+     ("coercing-setf-name-to-function:all-function-names" "iss054.htm")
+     ("colon-number" "iss055.htm") 
+     ("common-features:specify" "iss056.htm")
+     ("common-type:remove" "iss057.htm")
+     ("compile-argument-problems-again:fix" "iss058.htm")
+     ("compile-file-handling-of-top-level-forms:clarify" "iss059.htm")
+     ("compile-file-output-file-defaults:input-file" "iss060.htm")
+     ("compile-file-package" "iss061.htm")
+     ("compile-file-pathname-arguments:make-consistent" "iss062.htm")
+     ("compile-file-symbol-handling:new-require-consistency" "iss063.htm")
+     ("compiled-function-requirements:tighten" "iss064.htm")
+     ("compiler-diagnostics:use-handler" "iss065.htm")
+     ("compiler-let-confusion:eliminate" "iss066.htm")
+     ("compiler-verbosity:like-load" "iss067.htm")
+     ("compiler-warning-stream" "iss068.htm")
+     ("complex-atan-branch-cut:tweak" "iss069.htm")
+     ("complex-atanh-bogus-formula:tweak-more" "iss070.htm")
+     ("complex-rational-result:extend" "iss071.htm")
+     ("compute-applicable-methods:generic" "iss072.htm")
+     ("concatenate-sequence:signal-error" "iss073.htm")
+     ("condition-accessors-setfable:no" "iss074.htm")
+     ("condition-restarts:buggy" "iss075.htm")
+     ("condition-restarts:permit-association" "iss076.htm")
+     ("condition-slots:hidden" "iss077.htm") 
+     ("cons-type-specifier:add" "iss078.htm") 
+     ("constant-circular-compilation:yes" "iss079.htm")
+     ("constant-collapsing:generalize" "iss080.htm")
+     ("constant-compilable-types:specify" "iss081.htm")
+     ("constant-function-compilation:no" "iss082.htm")
+     ("constant-modification:disallow" "iss083.htm")
+     ("constantp-definition:intentional" "iss084.htm")
+     ("constantp-environment:add-arg" "iss085.htm")
+     ("contagion-on-numerical-comparisons:transitive" "iss086.htm")
+     ("copy-symbol-copy-plist:copy-list" "iss087.htm")
+     ("copy-symbol-print-name:equal" "iss088.htm")
+     ("data-io:add-support" "iss089.htm")
+     ("data-types-hierarchy-underspecified" "iss090.htm")
+     ("debugger-hook-vs-break:clarify" "iss091.htm")
+     ("declaration-scope:no-hoisting" "iss092.htm")
+     ("declare-array-type-element-references:restrictive" "iss093.htm")
+     ("declare-function-ambiguity:delete-ftype-abbreviation" "iss094.htm")
+     ("declare-macros:flush" "iss095.htm")
+     ("declare-type-free:lexical" "iss096.htm")
+     ("decls-and-doc" "iss097.htm")
+     ("decode-universal-time-daylight:like-encode" "iss098.htm")
+     ("defconstant-special:no" "iss099.htm")
+     ("defgeneric-declare:allow-multiple" "iss100.htm")
+     ("define-compiler-macro:x3j13-nov89" "iss101.htm")
+     ("define-condition-syntax:incompatibly-more-like-defclass+emphasize-read-only" "iss102.htm")
+     ("define-method-combination-behavior:clarify" "iss103.htm")
+     ("defining-macros-non-top-level:allow" "iss104.htm")
+     ("defmacro-block-scope:excludes-bindings" "iss105.htm")
+     ("defmacro-lambda-list:tighten-description" "iss106.htm")
+     ("defmethod-declaration-scope:corresponds-to-bindings" "iss107.htm")
+     ("defpackage:addition" "iss108.htm")
+     ("defstruct-constructor-key-mixture:allow-key" "iss109.htm")
+     ("defstruct-constructor-options:explicit" "iss110.htm")
+     ("defstruct-constructor-slot-variables:not-bound" "iss111.htm")
+     ("defstruct-copier-argument-type:restrict" "iss112.htm")
+     ("defstruct-copier:argument-type" "iss113.htm")
+     ("defstruct-default-value-evaluation:iff-needed" "iss114.htm")
+     ("defstruct-include-deftype:explicitly-undefined" "iss115.htm")
+     ("defstruct-print-function-again:x3j13-mar-93" "iss116.htm")
+     ("defstruct-print-function-inheritance:yes" "iss117.htm")
+     ("defstruct-redefinition:error" "iss118.htm")
+     ("defstruct-slots-constraints-name:duplicates-error" "iss119.htm")
+     ("defstruct-slots-constraints-number" "iss120.htm")
+     ("deftype-destructuring:yes" "iss121.htm")
+     ("deftype-key:allow" "iss122.htm")
+     ("defvar-documentation:unevaluated" "iss123.htm")
+     ("defvar-init-time:not-delayed" "iss124.htm")
+     ("defvar-initialization:conservative" "iss125.htm")
+     ("deprecation-position:limited" "iss126.htm")
+     ("describe-interactive:no" "iss127.htm")
+     ("describe-underspecified:describe-object" "iss128.htm")
+     ("destructive-operations:specify" "iss129.htm")
+     ("destructuring-bind:new-macro" "iss130.htm")
+     ("disassemble-side-effect:do-not-install" "iss131.htm")
+     ("displaced-array-predicate:add" "iss132.htm")
+     ("do-symbols-block-scope:entire-form" "iss133.htm")
+     ("do-symbols-duplicates" "iss134.htm")
+     ("documentation-function-bugs:fix" "iss135.htm")
+     ("documentation-function-tangled:require-argument" "iss136.htm")
+     ("dotimes-ignore:x3j13-mar91" "iss137.htm")
+     ("dotted-list-arguments:clarify" "iss138.htm")
+     ("dotted-macro-forms:allow" "iss139.htm")
+     ("dribble-technique" "iss140.htm") 
+     ("dynamic-extent-function:extend" "iss141.htm")
+     ("dynamic-extent:new-declaration" "iss142.htm")
+     ("equal-structure:maybe-status-quo" "iss143.htm")
+     ("error-terminology-warning:might" "iss144.htm")
+     ("eval-other:self-evaluate" "iss145.htm")
+     ("eval-top-level:load-like-compile-file" "iss146.htm")
+     ("eval-when-non-top-level:generalize-eval-new-keywords" "iss147.htm")
+     ("eval-when-obsolete-keywords:x3j13-mar-1993" "iss148.htm")
+     ("evalhook-step-confusion:fix" "iss149.htm")
+     ("evalhook-step-confusion:x3j13-nov-89" "iss150.htm")
+     ("exit-extent-and-condition-system:like-dynamic-bindings" "iss151.htm")
+     ("exit-extent:minimal" "iss152.htm")
+     ("expt-ratio:p.211" "iss153.htm")
+     ("extensions-position:documentation" "iss154.htm")
+     ("external-format-for-every-file-connection:minimum" "iss155.htm")
+     ("extra-return-values:no" "iss156.htm")
+     ("file-open-error:signal-file-error" "iss157.htm")
+     ("fixnum-non-portable:tighten-definition" "iss158.htm")
+     ("flet-declarations" "iss159.htm")
+     ("flet-declarations:allow" "iss160.htm")
+     ("flet-implicit-block:yes" "iss161.htm")
+     ("float-underflow:add-variables" "iss162.htm")
+     ("floating-point-condition-names:x3j13-nov-89" "iss163.htm")
+     ("format-atsign-colon" "iss164.htm")
+     ("format-colon-uparrow-scope" "iss165.htm")
+     ("format-comma-interval" "iss166.htm")
+     ("format-e-exponent-sign:force-sign" "iss167.htm")
+     ("format-op-c" "iss168.htm")
+     ("format-pretty-print:yes" "iss169.htm")
+     ("format-string-arguments:specify" "iss170.htm")
+     ("function-call-evaluation-order:more-unspecified" "iss171.htm")
+     ("function-composition:jan89-x3j13" "iss172.htm")
+     ("function-definition:jan89-x3j13" "iss173.htm")
+     ("function-name:large" "iss174.htm")
+     ("function-type" "iss175.htm")
+     ("function-type-argument-type-semantics:restrictive" "iss176.htm")
+     ("function-type-key-name:specify-keyword" "iss177.htm")
+     ("function-type-rest-list-element:use-actual-argument-type" "iss178.htm")
+     ("function-type:x3j13-march-88" "iss179.htm")
+     ("generalize-pretty-printer:unify" "iss180.htm")
+     ("generic-flet-poorly-designed:delete" "iss181.htm")
+     ("gensym-name-stickiness:like-teflon" "iss182.htm")
+     ("gentemp-bad-idea:deprecate" "iss183.htm")
+     ("get-macro-character-readtable:nil-standard" "iss184.htm")
+     ("get-setf-method-environment:add-arg" "iss185.htm")
+     ("hash-table-access:x3j13-mar-89" "iss186.htm")
+     ("hash-table-key-modification:specify" "iss187.htm")
+     ("hash-table-package-generators:add-with-wrapper" "iss188.htm")
+     ("hash-table-rehash-size-integer" "iss189.htm")
+     ("hash-table-size:intended-entries" "iss190.htm")
+     ("hash-table-tests:add-equalp" "iss191.htm")
+     ("ieee-atan-branch-cut:split" "iss192.htm")
+     ("ignore-use-terminology:value-only" "iss193.htm")
+     ("import-setf-symbol-package" "iss194.htm")
+     ("in-package-functionality:mar89-x3j13" "iss195.htm")
+     ("in-syntax:minimal" "iss196.htm")
+     ("initialization-function-keyword-checking" "iss197.htm")
+     ("iso-compatibility:add-substrate" "iss198.htm")
+     ("jun90-trivial-issues:11" "iss199.htm")
+     ("jun90-trivial-issues:14" "iss200.htm")
+     ("jun90-trivial-issues:24" "iss201.htm")
+     ("jun90-trivial-issues:25" "iss202.htm")
+     ("jun90-trivial-issues:27" "iss203.htm")
+     ("jun90-trivial-issues:3" "iss204.htm")
+     ("jun90-trivial-issues:4" "iss205.htm")
+     ("jun90-trivial-issues:5" "iss206.htm")
+     ("jun90-trivial-issues:9" "iss207.htm")
+     ("keyword-argument-name-package:any" "iss208.htm")
+     ("last-n" "iss209.htm")
+     ("lcm-no-arguments:1" "iss210.htm")
+     ("lexical-construct-global-definition:undefined" "iss211.htm")
+     ("lisp-package-name:common-lisp" "iss212.htm")
+     ("lisp-symbol-redefinition-again:more-fixes" "iss213.htm")
+     ("lisp-symbol-redefinition:mar89-x3j13" "iss214.htm")
+     ("load-objects:make-load-form" "iss215.htm")
+     ("load-time-eval:r**2-new-special-form" "iss216.htm")
+     ("load-time-eval:r**3-new-special-form" "iss217.htm")
+     ("load-truename:new-pathname-variables" "iss218.htm")
+     ("locally-top-level:special-form" "iss219.htm")
+     ("loop-and-discrepancy:no-reiteration" "iss220.htm")
+     ("loop-for-as-on-typo:fix-typo" "iss221.htm")
+     ("loop-initform-environment:partial-interleaving-vague" "iss222.htm")
+     ("loop-miscellaneous-repairs:fix" "iss223.htm")
+     ("loop-named-block-nil:override" "iss224.htm")
+     ("loop-present-symbols-typo:flush-wrong-words" "iss225.htm")
+     ("loop-syntax-overhaul:repair" "iss226.htm")
+     ("macro-as-function:disallow" "iss227.htm")
+     ("macro-declarations:make-explicit" "iss228.htm")
+     ("macro-environment-extent:dynamic" "iss229.htm")
+     ("macro-function-environment" "iss230.htm")
+     ("macro-function-environment:yes" "iss231.htm")
+     ("macro-subforms-top-level-p:add-constraints" "iss232.htm")
+     ("macroexpand-hook-default:explicitly-vague" "iss233.htm")
+     ("macroexpand-hook-initial-value:implementation-dependent" "iss234.htm")
+     ("macroexpand-return-value:true" "iss235.htm")
+     ("make-load-form-confusion:rewrite" "iss236.htm")
+     ("make-load-form-saving-slots:no-initforms" "iss237.htm")
+     ("make-package-use-default:implementation-dependent" "iss238.htm")
+     ("map-into:add-function" "iss239.htm")
+     ("mapping-destructive-interaction:explicitly-vague" "iss240.htm")
+     ("metaclass-of-system-class:unspecified" "iss241.htm")
+     ("method-combination-arguments:clarify" "iss242.htm")
+     ("method-initform:forbid-call-next-method" "iss243.htm")
+     ("muffle-warning-condition-argument" "iss244.htm")
+     ("multiple-value-setq-order:like-setf-of-values" "iss245.htm")
+     ("multiple-values-limit-on-variables:undefined" "iss246.htm")
+     ("nintersection-destruction" "iss247.htm")
+     ("nintersection-destruction:revert" "iss248.htm")
+     ("not-and-null-return-value:x3j13-mar-93" "iss249.htm")
+     ("nth-value:add" "iss250.htm")
+     ("optimize-debug-info:new-quality" "iss251.htm")
+     ("package-clutter:reduce" "iss252.htm")
+     ("package-deletion:new-function" "iss253.htm")
+     ("package-function-consistency:more-permissive" "iss254.htm")
+     ("parse-error-stream:split-types" "iss255.htm")
+     ("pathname-component-case:keyword-argument" "iss256.htm")
+     ("pathname-component-value:specify" "iss257.htm")
+     ("pathname-host-parsing:recognize-logical-host-names" "iss258.htm")
+     ("pathname-logical:add" "iss259.htm")
+     ("pathname-print-read:sharpsign-p" "iss260.htm")
+     ("pathname-stream" "iss261.htm")
+     ("pathname-stream:files-or-synonym" "iss262.htm")
+     ("pathname-subdirectory-list:new-representation" "iss263.htm")
+     ("pathname-symbol" "iss264.htm")
+     ("pathname-syntax-error-time:explicitly-vague" "iss265.htm")
+     ("pathname-unspecific-component:new-token" "iss266.htm")
+     ("pathname-wild:new-functions" "iss267.htm")
+     ("peek-char-read-char-echo:first-read-char" "iss268.htm")
+     ("plist-duplicates:allow" "iss269.htm")
+     ("pretty-print-interface" "iss270.htm")
+     ("princ-readably:x3j13-dec-91" "iss271.htm")
+     ("print-case-behavior:clarify" "iss272.htm")
+     ("print-case-print-escape-interaction:vertical-bar-rule-no-upcase" "iss273.htm") 
+     ("print-circle-shared:respect-print-circle" "iss274.htm")
+     ("print-circle-structure:user-functions-work" "iss275.htm") 
+     ("print-readably-behavior:clarify" "iss276.htm")
+     ("printer-whitespace:just-one-space" "iss277.htm")
+     ("proclaim-etc-in-compile-file:new-macro" "iss278.htm")
+     ("push-evaluation-order:first-item" "iss279.htm")
+     ("push-evaluation-order:item-first" "iss280.htm")
+     ("pushnew-store-required:unspecified" "iss281.htm")
+     ("quote-semantics:no-copying" "iss282.htm")
+     ("range-of-count-keyword:nil-or-integer" "iss283.htm")
+     ("range-of-start-and-end-parameters:integer-and-integer-nil" "iss284.htm")
+     ("read-and-write-bytes:new-functions" "iss285.htm")
+     ("read-case-sensitivity:readtable-keywords" "iss286.htm")
+     ("read-modify-write-evaluation-order:delayed-access-stores" "iss287.htm")
+     ("read-suppress-confusing:generalize" "iss288.htm")
+     ("reader-error:new-type" "iss289.htm")
+     ("real-number-type:x3j13-mar-89" "iss290.htm")
+     ("recursive-deftype:explicitly-vague" "iss291.htm")
+     ("reduce-argument-extraction" "iss292.htm")
+     ("remf-destruction-unspecified:x3j13-mar-89" "iss293.htm")
+     ("require-pathname-defaults-again:x3j13-dec-91" "iss294.htm")
+     ("require-pathname-defaults-yet-again:restore-argument" "iss295.htm")
+     ("require-pathname-defaults:eliminate" "iss296.htm")
+     ("rest-list-allocation:may-share" "iss297.htm")
+     ("result-lists-shared:specify" "iss298.htm")
+     ("return-values-unspecified:specify" "iss299.htm")
+     ("room-default-argument:new-value" "iss300.htm")
+     ("self-modifying-code:forbid" "iss301.htm")
+     ("sequence-type-length:must-match" "iss302.htm")
+     ("setf-apply-expansion:ignore-expander" "iss303.htm")
+     ("setf-find-class:allow-nil" "iss304.htm")
+     ("setf-functions-again:minimal-changes" "iss305.htm")
+     ("setf-get-default:evaluated-but-ignored" "iss306.htm")
+     ("setf-macro-expansion:last" "iss307.htm")
+     ("setf-method-vs-setf-method:rename-old-terms" "iss308.htm")
+     ("setf-multiple-store-variables:allow" "iss309.htm")
+     ("setf-of-apply:only-aref-and-friends" "iss310.htm")
+     ("setf-of-values:add" "iss311.htm")
+     ("setf-sub-methods:delayed-access-stores" "iss312.htm")
+     ("shadow-already-present" "iss313.htm")
+     ("shadow-already-present:works" "iss314.htm")
+     ("sharp-comma-confusion:remove" "iss315.htm")
+     ("sharp-o-foobar:consequences-undefined" "iss316.htm")
+     ("sharp-star-delimiter:normal-delimiter" "iss317.htm")
+     ("sharpsign-plus-minus-package:keyword" "iss318.htm")
+     ("slot-missing-values:specify" "iss319.htm")
+     ("slot-value-metaclasses:less-minimal" "iss320.htm")
+     ("special-form-p-misnomer:rename" "iss321.htm")
+     ("special-type-shadowing:clarify" "iss322.htm")
+     ("standard-input-initial-binding:defined-contracts" "iss323.htm")
+     ("standard-repertoire-gratuitous:rename" "iss324.htm")
+     ("step-environment:current" "iss325.htm") 
+     ("step-minimal:permit-progn" "iss326.htm") 
+     ("stream-access:add-types-accessors" "iss327.htm")
+     ("stream-capabilities:interactive-stream-p" "iss328.htm")
+     ("string-coercion:make-consistent" "iss329.htm")
+     ("string-output-stream-bashing:undefined" "iss330.htm")
+     ("structure-read-print-syntax:keywords" "iss331.htm")
+     ("subseq-out-of-bounds" "iss332.htm")
+     ("subseq-out-of-bounds:is-an-error" "iss333.htm")
+     ("subsetting-position:none" "iss334.htm")
+     ("subtypep-environment:add-arg" "iss335.htm")
+     ("subtypep-too-vague:clarify-more" "iss336.htm")
+     ("sxhash-definition:similar-for-sxhash" "iss337.htm")
+     ("symbol-macrolet-declare:allow" "iss338.htm")
+     ("symbol-macrolet-semantics:special-form" "iss339.htm")
+     ("symbol-macrolet-type-declaration:no" "iss340.htm")
+     ("symbol-macros-and-proclaimed-specials:signals-an-error" "iss341.htm")
+     ("symbol-print-escape-behavior:clarify" "iss342.htm")
+     ("syntactic-environment-access:retracted-mar91" "iss343.htm")
+     ("tagbody-tag-expansion:no" "iss344.htm")
+     ("tailp-nil:t" "iss345.htm")
+     ("test-not-if-not:flush-all" "iss346.htm")
+     ("the-ambiguity:for-declaration" "iss347.htm")
+     ("the-values:return-number-received" "iss348.htm")
+     ("time-zone-non-integer:allow" "iss349.htm")
+     ("type-declaration-abbreviation:allow-all" "iss350.htm")
+     ("type-of-and-predefined-classes:type-of-handles-floats" "iss351.htm")
+     ("type-of-and-predefined-classes:unify-and-extend" "iss352.htm")
+     ("type-of-underconstrained:add-constraints" "iss353.htm")
+     ("type-specifier-abbreviation:x3j13-jun90-guess" "iss354.htm")
+     ("undefined-variables-and-functions:compromise" "iss355.htm")
+     ("uninitialized-elements:consequences-undefined" "iss356.htm")
+     ("unread-char-after-peek-char:dont-allow" "iss357.htm")
+     ("unsolicited-messages:not-to-system-user-streams" "iss358.htm")
+     ("variable-list-asymmetry:symmetrize" "iss359.htm")
+     ("with-added-methods:delete" "iss360.htm")
+     ("with-compilation-unit:new-macro" "iss361.htm")
+     ("with-open-file-does-not-exist:stream-is-nil" "iss362.htm")
+     ("with-open-file-setq:explicitly-vague" "iss363.htm")
+     ("with-open-file-stream-extent:dynamic-extent" "iss364.htm")
+     ("with-output-to-string-append-style:vector-push-extend" "iss365.htm")
+     ("with-standard-io-syntax-readtable:x3j13-mar-91" "iss366.htm"))))
+
+(defun common-lisp-issuex (issue-name)
+  (let ((symbol 
+	 (intern (downcase issue-name) common-lisp-hyperspec-issuex-symbols)))
+    (concat common-lisp-hyperspec-root "Issues/" (symbol-value symbol))))
+
 (provide 'hyperspec)
 
 ;;; hyperspec.el ends here
Index: slime.el
===================================================================
RCS file: /project/slime/cvsroot/slime/slime.el,v
retrieving revision 1.336
diff -u -F^( -r1.336 slime.el
--- slime.el	24 Jun 2004 12:57:09 -0000	1.336
+++ slime.el	24 Jun 2004 13:16:39 -0000
@@ -5435,7 +5435,7 @@ (defun sldb-reference-properties (where 
           (and (eq where :ansi-cl)
                (symbolp type)
                (member (slime-cl-symbol-name type)
-                       '("function" "special-operator" "macro" "section"))))
+                       '("function" "special-operator" "macro" "section" "glossary" "issue"))))
       `(sldb-default-action sldb-lookup-reference
                             sldb-reference ,ref
                             face sldb-reference-face
@@ -5463,6 +5463,10 @@ (defun sldb-lookup-reference ()
        (case type
          (:section
           (browse-url (funcall common-lisp-hyperspec-section-fun what)))
+         (:glossary
+          (browse-url (funcall common-lisp-glossary-fun what)))
+         (:issue
+          (browse-url (funcall 'common-lisp-issuex what)))
          (t
           (hyperspec-lookup (if (symbolp what)
                                 (slime-cl-symbol-name what)
