summary refs log tree commit diff
path: root/gnu/packages/patches/ecl-16-format-directive-limit.patch
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/patches/ecl-16-format-directive-limit.patch')
-rw-r--r--gnu/packages/patches/ecl-16-format-directive-limit.patch83
1 files changed, 0 insertions, 83 deletions
diff --git a/gnu/packages/patches/ecl-16-format-directive-limit.patch b/gnu/packages/patches/ecl-16-format-directive-limit.patch
deleted file mode 100644
index 237db92722..0000000000
--- a/gnu/packages/patches/ecl-16-format-directive-limit.patch
+++ /dev/null
@@ -1,83 +0,0 @@
-Patch backported by Sage.
-
-Fix from upstream that happens to work around
-https://trac.sagemath.org/ticket/23011
-diff --git a/src/lsp/format.lsp b/src/lsp/format.lsp
-index 77ca799..53b887c 100644
---- a/src/lsp/format.lsp
-+++ b/src/lsp/format.lsp
-@@ -307,11 +307,13 @@
-                   :start (format-directive-start struct)
-                   :end (format-directive-end struct))))
- 
-+(defconstant +format-directive-limit+ (1+ (char-code #\~)))
-+
- #+formatter
- (defparameter *format-directive-expanders*
--  (make-array char-code-limit :initial-element nil))
-+  (make-array +format-directive-limit+ :initial-element nil))
- (defparameter *format-directive-interpreters*
--  (make-array char-code-limit :initial-element nil))
-+  (make-array +format-directive-limit+ :initial-element nil))
- 
- (defparameter *default-format-error-control-string* nil)
- (defparameter *default-format-error-offset* nil)
-@@ -550,24 +552,24 @@
-            (write-string directive stream)
-            (interpret-directive-list stream (cdr directives) orig-args args))
-           (#-ecl format-directive #+ecl vector
-+           (multiple-value-bind
-+                 (new-directives new-args)
-+               (let* ((code (char-code (format-directive-character directive)))
-+                      (function
-+                        (and (< code +format-directive-limit+)
-+                             (svref *format-directive-interpreters* code)))
-+                      (*default-format-error-offset*
-+                        (1- (format-directive-end directive))))
-+                 (unless function
-+                   (error 'format-error
-+                          :complaint "Unknown format directive."))
-                  (multiple-value-bind
-                        (new-directives new-args)
--                     (let ((function
--                            (svref *format-directive-interpreters*
--                                   (char-code (format-directive-character
--                                               directive))))
--                           (*default-format-error-offset*
--                            (1- (format-directive-end directive))))
--                       (unless function
--                         (error 'format-error
--                                :complaint "Unknown format directive."))
--                       (multiple-value-bind
--                             (new-directives new-args)
--                           (funcall function stream directive
--                                    (cdr directives) orig-args args)
--                         (values new-directives new-args)))
--                   (interpret-directive-list stream new-directives
--                                             orig-args new-args)))))
-+                     (funcall function stream directive
-+                              (cdr directives) orig-args args)
-+                   (values new-directives new-args)))
-+             (interpret-directive-list stream new-directives
-+                                       orig-args new-args)))))
-       args))
- 
- 
-@@ -639,11 +641,12 @@
-        (values `(write-string ,directive stream)
-                more-directives))
-       (format-directive
--       (let ((expander
--              (aref *format-directive-expanders*
--                    (char-code (format-directive-character directive))))
--             (*default-format-error-offset*
--              (1- (format-directive-end directive))))
-+       (let* ((code (char-code (format-directive-character directive)))
-+              (expander
-+                (and (< code +format-directive-limit+)
-+                     (svref *format-directive-expanders* code)))
-+              (*default-format-error-offset*
-+                (1- (format-directive-end directive))))
-          (if expander
-              (funcall expander directive more-directives)
-              (error 'format-error