Hi,
the recent update to emacs 27.1 gave me some headaches.
Starting emacs FILE, the warning 'Package cl is depricated' popped up
and did not open FILE.
To make it short:
Emacs started with path /usr/share/emacs/27.1/site-lisp in mind.
Then it did not find a proper file and continued to look at
/usr/share/emacs/site-lisp
further ignoring path /usr/share/emacs/27.1/site-lisp for any further
file lookup.
Moving /usr/share/emacs/site-lisp out of the way did resolve some quirks.
This note is just in case you run into this message "Package cl is
depricated".
Back to gnu apl emacs:
My .emacs includes
;; apl mode
(add-to-list 'load-path "/TOP_LVL_PATH/gnu-apl-mode")
(require 'gnu-apl-mode)
Which results in "Package cl is depricated" (too).
Further digging led to (include 'cl) which has to be replaced by
(include 'cl-lib).
Then subsequent errors popped up: loop, second, ... were not available
any more.
They need to be replaced by cl-loop, cl-second, .....
The attachment has the patch file.
I hope it helps.
Best Regards,
Hans-Peter
Nur in gnu-apl-mode: .apl.history.
Nur in gnu-apl-mode: .git.
diff -u gnu-apl-mode-master/gnu-apl-documentation.el
gnu-apl-mode/gnu-apl-documentation.el
--- gnu-apl-mode-master/gnu-apl-documentation.el 2020-01-08
17:33:17.000000000 +0100
+++ gnu-apl-mode/gnu-apl-documentation.el 2020-09-02 15:14:26.086912730
+0200
@@ -4,7 +4,7 @@
;;; Keymap buffer
;;;
-(require 'cl)
+(require 'cl-lib)
(require 'gnu-apl-util)
(require 'gnu-apl-network)
@@ -86,13 +86,13 @@
(let ((header (car content))
(lines (cdr content)))
(list header
- (loop for row in lines
+ (cl-loop for row in lines
for trim-row = (gnu-apl--trim-spaces row)
while (and (>= (length trim-row) 2) (string= (subseq
trim-row 0 2) "⍝⍝"))
collect (gnu-apl--remove-leading-space (subseq trim-row
2))))))))
(defun gnu-apl--get-doc-for-symbol (string)
- (loop for e in gnu-apl--symbol-doc
+ (cl-loop for e in gnu-apl--symbol-doc
for name = (car e)
when (or (and (stringp name)
(string= string name))
@@ -107,13 +107,13 @@
(if full-text-p "\n%s\n\n" "\n%s\n")))
(when doc
(with-temp-buffer
- (loop for e in (second doc)
+ (cl-loop for e in (cl-second doc)
for first = t then nil
unless first
do (insert "\n")
do (progn
- (insert (format "%s: %s" (first e) (second e)))
- (insert (format format-short (third e)))
+ (insert (format "%s: %s" (first e) (cl-second e)))
+ (insert (format format-short (cl-third e)))
(let ((long (fourth e)))
(when long
(insert (format "%s\n" long)))))
@@ -133,7 +133,7 @@
(when content
(with-temp-buffer
(insert (format "Function: %s\n\n"
(gnu-apl--remove-local-variable-name (car content))))
- (loop for row in (cadr content)
+ (cl-loop for row in (cadr content)
for first = t then nil
unless first do (insert "\n")
do (insert row))
@@ -166,13 +166,13 @@
(defun gnu-apl--name-at-point ()
(let ((symbol-chars "[a-zA-Z0-9_∆⍙¯]"))
(if (looking-at symbol-chars)
- (buffer-substring (save-excursion (loop while (and (> (point)
(point-min))
+ (buffer-substring (save-excursion (cl-loop while (and (> (point)
(point-min))
(string-match
symbol-chars
(buffer-substring (1- (point))
(point))))
do (backward-char 1)
finally (return (point))))
- (save-excursion (loop while (< (point) (point-max))
+ (save-excursion (cl-loop while (< (point)
(point-max))
do (forward-char 1)
while (looking-at symbol-chars)
finally (return (point)))))
@@ -180,7 +180,7 @@
(when (and ch
(member (char-to-string ch)
(mapcan #'(lambda (v) (let ((m (car v)))
- (if (listp m) (copy-seq m)
(list m))))
+ (if (listp m) (cl-copy-seq
m) (list m))))
gnu-apl--symbol-doc)))
(char-to-string ch))))))
@@ -303,7 +303,7 @@
(let* ((key (match-string 1))
(found (cl-find key gnu-apl--symbols :key #'third :test
#'equal))
(found-nonspecial (cl-find key gnu-apl--symbol-doc :key #'first
:test #'equal))
- (result-string (if found (save-match-data
(gnu-apl--make-clickable (second found) keymap)) " "))
+ (result-string (if found (save-match-data
(gnu-apl--make-clickable (cl-second found) keymap)) " "))
(nonspecial-string (if found-nonspecial
(gnu-apl--make-clickable key keymap) key)))
(replace-match (concat nonspecial-string result-string) t t)))
(add-text-properties (point-min) (point-max) (list 'face
'gnu-apl-kbd-help-screen))
@@ -333,7 +333,7 @@
(regexp-opt (mapcan #'(lambda (v)
(let ((name (car v)))
(if (listp name)
- (copy-seq name)
+ (cl-copy-seq name)
(list name))))
gnu-apl--symbol-doc)))
@@ -347,7 +347,7 @@
;; There is stuff to the left of point, check what that stuff is
(progn
(backward-char 1)
- (loop while (and (> (point) (point-min))
+ (cl-loop while (and (> (point) (point-min))
(cl-find (char-after (point)) " \t"))
do (backward-char 1))
(let ((symbol (char-after (point))))
@@ -366,16 +366,16 @@
;; We have a documentation entry. Now we need to figure out if the call
;; is monadic or dyadic. It can be done by searching backwards until
we hit
;; a non-space character or the beginning of the line.
- (let ((p (cl-find (if (gnu-apl--is-point-on-argument-value) "Dyadic"
"Monadic") (second doc)
+ (let ((p (cl-find (if (gnu-apl--is-point-on-argument-value) "Dyadic"
"Monadic") (cl-second doc)
:key #'car :test #'string=)))
(when p
- (format "%s: %s: %s" (first p) (second p) (third p)))))
+ (format "%s: %s: %s" (first p) (cl-second p) (cl-third p)))))
;; ELSE: We're not on a built-in function, check if we're on a
user-defined function
(gnu-apl--when-let (name (gnu-apl--name-at-point))
(gnu-apl--when-let (function-docs
(gnu-apl--find-documentation-for-defined-function name))
- (when (second function-docs)
+ (when (cl-second function-docs)
(gnu-apl--when-let (header (gnu-apl--parse-function-header (car
function-docs)))
- (format "%s: %s" header (car (second function-docs)))))))))
+ (format "%s: %s" header (car (cl-second function-docs)))))))))
;;;
;;; Help search
@@ -420,17 +420,17 @@
(defun gnu-apl-apropos-symbol (regexp)
"Search for documentation symbols where the documentation matches REGEX."
(interactive "MApropos symbol: ")
- (let ((result (loop for doc-entry in gnu-apl--symbol-doc
- append (loop for e in (second doc-entry)
- when (or (and (second e) (string-match
regexp (second e)))
- (and (third e) (string-match
regexp (third e))))
+ (let ((result (cl-loop for doc-entry in gnu-apl--symbol-doc
+ append (cl-loop for e in (cl-second doc-entry)
+ when (or (and (cl-second e) (string-match
regexp (second e)))
+ (and (cl-third e) (string-match
regexp (third e))))
collect (list doc-entry
(let ((symname-aliases (first
doc-entry)))
(format "%s: %s: %s: %s"
(if (listp
symname-aliases)
(car
symname-aliases)
symname-aliases)
- (first e) (second
e) (third e))))))))
+ (first e)
(cl-second e) (cl-third e))))))))
(if result
(gnu-apl--open-apropos-results result)
(message "No match"))))
diff -u gnu-apl-mode-master/gnu-apl-editor.el gnu-apl-mode/gnu-apl-editor.el
--- gnu-apl-mode-master/gnu-apl-editor.el 2020-01-08 17:33:17.000000000
+0100
+++ gnu-apl-mode/gnu-apl-editor.el 2020-09-02 15:14:26.087912729 +0200
@@ -1,6 +1,6 @@
;;; -*- lexical-binding: t -*-
-(require 'cl)
+(require 'cl-lib)
(require 'gnu-apl-util)
(require 'gnu-apl-network)
@@ -63,7 +63,7 @@
(save-excursion
(beginning-of-line)
- (let ((start (loop for line = (gnu-apl--trim-spaces
(gnu-apl--current-line-string))
+ (let ((start (cl-loop for line = (gnu-apl--trim-spaces
(gnu-apl--current-line-string))
when (gnu-apl--full-function-definition-p line t)
return (point)
when (plusp (forward-line -1))
@@ -74,7 +74,7 @@
(unless (zerop (forward-line 1))
(user-error "No end marker found"))
- (let ((end (loop for line = (gnu-apl--trim-trailing-newline
+ (let ((end (cl-loop for line = (gnu-apl--trim-trailing-newline
(gnu-apl--trim-spaces
(gnu-apl--current-line-string)))
when (string= line "∇")
return (progn (forward-line -1) (end-of-line) (point))
@@ -99,8 +99,8 @@
((string= (car return-data) "function defined")
t)
((string= (car return-data) "error")
- (if (string= (second return-data) "parse error")
- (let ((error-msg (third return-data))
+ (if (string= (cl-second return-data) "parse error")
+ (let ((error-msg (cl-third return-data))
(line (string-to-number (fourth return-data))))
(gnu-apl--move-to-line line)
(let ((overlay (make-overlay (save-excursion
@@ -113,7 +113,7 @@
(run-at-time "0.5 sec" nil #'(lambda () (delete-overlay
overlay))))
(message "Error on line %d: %s" line error-msg)
nil)
- (error "Unexpected error: %s" (second return-data))))
+ (error "Unexpected error: %s" (cl-second return-data))))
(t
(gnu-apl--display-error-buffer (format "Error second function: %s"
(car content))
(cdr return-data))
diff -u gnu-apl-mode-master/gnu-apl-finnapl.el gnu-apl-mode/gnu-apl-finnapl.el
--- gnu-apl-mode-master/gnu-apl-finnapl.el 2020-01-08 17:33:17.000000000
+0100
+++ gnu-apl-mode/gnu-apl-finnapl.el 2020-09-02 15:14:26.087912729 +0200
@@ -1,6 +1,6 @@
;;; -*- lexical-binding: t -*-
-(require 'cl)
+(require 'cl-lib)
(require 'tabulated-list)
(eval-when-compile (require 'cl-lib))
@@ -56,7 +56,7 @@
(when start-point
(let* ((section-regexp "^=== \\(.*\\) ===[ \n\r]*")
(sections
- (loop for index-start = 0 then (match-end 0)
+ (cl-loop for index-start = 0 then (match-end 0)
for last-section-name = nil then (decode-coding-string
(match-string 1) 'utf-8)
while (search-forward-regexp section-regexp
(point-max)
@@ -89,7 +89,7 @@
(goto-char start)
(let* ((idiom-title-regexp "rowspan=\\([0-9]+\\).*> +\\([0-9]+\\). ||
\\(.*\\) ||.*{{{\\(.*\\)}}}")
(idiom-list
- (loop for index-start = 0 then (match-end 0)
+ (cl-loop for index-start = 0 then (match-end 0)
for last-idiom-title = nil then (decode-coding-string
(match-string 3) 'utf-8)
for last-title-rows = 0 then (string-to-number (match-string
1))
for last-title-number = 0 then (match-string 2)
@@ -131,7 +131,7 @@
(save-excursion
(goto-char start)
;; collect contents of all rows starting with "colspan"
- (loop while (search-forward-regexp idiom-row-regexp
+ (cl-loop while (search-forward-regexp idiom-row-regexp
end
t)
collect (decode-coding-string (match-string 1) 'utf-8)))))
@@ -147,7 +147,7 @@
(assert (string-match ".*{{{\\(.*\\).*}}}" (car rows)))
(push (list id name args (match-string 1 (pop rows)))
*gnu-apl--finnapl-idioms*)
- (loop for i from 0 below (/ (length rows) 2)
+ (cl-loop for i from 0 below (/ (length rows) 2)
for header-line = (elt rows (* 2 i))
for code-line = (elt rows (1+ (* 2 i)))
do
@@ -211,7 +211,7 @@
#'gnu-apl-finnapl-choice-tabular-action
'face face))))))
(setq tabulated-list-entries
- (loop for (id name args idiom) in *gnu-apl--finnapl-idioms*
+ (cl-loop for (id name args idiom) in *gnu-apl--finnapl-idioms*
;; first line is the idiom id and a name
collect (create-line id id name)
;; second line is just arguments
@@ -244,8 +244,8 @@
"Present helm narrowing search buffer for FinnAPL idioms"
(let* ((candidates
(mapcar (lambda(x)
- (cons (concat (car x) ". " (second x) "\n"
- (third x) "\n" (fourth x))
+ (cons (concat (car x) ". " (cl-second x) "\n"
+ (cl-third x) "\n" (fourth x))
(fourth x)))
*gnu-apl--finnapl-idioms*))
(sources
diff -u gnu-apl-mode-master/gnu-apl-follow.el gnu-apl-mode/gnu-apl-follow.el
--- gnu-apl-mode-master/gnu-apl-follow.el 2020-01-08 17:33:17.000000000
+0100
+++ gnu-apl-mode/gnu-apl-follow.el 2020-09-02 15:14:26.088912728 +0200
@@ -1,6 +1,6 @@
;;; -*- lexical-binding: t -*-
-(require 'cl)
+(require 'cl-lib)
(require 'gnu-apl-util)
(require 'gnu-apl-network)
diff -u gnu-apl-mode-master/gnu-apl-input.el gnu-apl-mode/gnu-apl-input.el
--- gnu-apl-mode-master/gnu-apl-input.el 2020-01-08 17:33:17.000000000
+0100
+++ gnu-apl-mode/gnu-apl-input.el 2020-09-02 15:14:26.088912728 +0200
@@ -1,6 +1,6 @@
;;; -*- lexical-binding: t -*-
-(require 'cl)
+(require 'cl-lib)
(require 'quail)
(require 'gnu-apl-symbols)
@@ -25,13 +25,13 @@
(quail-install-map
(let* ((prefix (string new))
(gnu-apl--transcription-alist
- (loop for command in gnu-apl--symbols
- for key-command = (third command)
- append (loop for s in (if (listp key-command)
+ (cl-loop for command in gnu-apl--symbols
+ for key-command = (cl-third command)
+ append (cl-loop for s in (if (listp key-command)
key-command
(list key-command))
collect (cons (concat prefix s)
- (second command))))))
+ (cl-second command))))))
(quail-map-from-table
'((default gnu-apl--transcription-alist)))))
(set-default symbol new))
diff -u gnu-apl-mode-master/gnu-apl-interactive.el
gnu-apl-mode/gnu-apl-interactive.el
--- gnu-apl-mode-master/gnu-apl-interactive.el 2020-01-08 17:33:17.000000000
+0100
+++ gnu-apl-mode/gnu-apl-interactive.el 2020-09-02 15:14:26.089912727 +0200
@@ -1,6 +1,6 @@
;;; -*- lexical-binding: t -*-
-(require 'cl)
+(require 'cl-lib)
(require 'gnu-apl-util)
(require 'gnu-apl-network)
@@ -82,7 +82,7 @@
(defun gnu-apl--parse-text (string)
(let ((tags nil))
(let ((result (with-output-to-string
- (loop with current-mode = gnu-apl-input-display-type
+ (cl-loop with current-mode = gnu-apl-input-display-type
with pos = 0
for i from 0 below (length string)
for char = (aref string i)
@@ -102,7 +102,7 @@
(incf pos))))))
(let ((prevmode gnu-apl-input-display-type)
(prevpos 0))
- (loop for v in (reverse tags)
+ (cl-loop for v in (reverse tags)
for newpos = (car v)
unless (= prevpos newpos)
do (gnu-apl--set-face-for-parsed-text prevpos newpos prevmode
result)
diff -u gnu-apl-mode-master/gnu-apl-mode.el gnu-apl-mode/gnu-apl-mode.el
--- gnu-apl-mode-master/gnu-apl-mode.el 2020-01-08 17:33:17.000000000 +0100
+++ gnu-apl-mode/gnu-apl-mode.el 2020-09-02 15:14:26.091912726 +0200
@@ -29,7 +29,7 @@
;;;
;;; Code:
-(require 'cl)
+(require 'cl-lib)
(require 'comint)
(require 'etags)
(require 'gnu-apl-util)
@@ -189,7 +189,7 @@
(defun gnu-apl--make-key-command-sym (n)
(intern (concat "insert-sym-apl-" n)))
-(macrolet ((make-insert-functions ()
+(cl-macrolet ((make-insert-functions ()
`(progn
,@(mapcar #'(lambda (command)
`(defun ,(gnu-apl--make-key-command-sym (car
command)) ()
@@ -254,10 +254,11 @@
(defvar gnu-apl-mode-syntax-table
(let ((table (make-syntax-table)))
- (loop for s in gnu-apl--symbols
- for char = (second s)
+ (cl-loop for sss in gnu-apl--symbols
+ for char = (cl-second sss)
when char
- do (modify-syntax-entry (aref char 0) "." table))
+ do (modify-syntax-entry (aref char 0) "." table)
+ )
(modify-syntax-entry (aref "⍝" 0) "<" table)
(modify-syntax-entry ?\n ">" table)
(modify-syntax-entry ?\' "\"" table)
@@ -312,7 +313,7 @@
The first parenthised substring is the name of the function.")
(defun gnu-apl--match-function-head (limit)
- (loop for pattern in gnu-apl--function-declaration-patterns
+ (cl-loop for pattern in gnu-apl--function-declaration-patterns
for result = (search-forward-regexp (format "^∇ *%s" pattern) limit t)
when result
return t
@@ -322,7 +323,7 @@
"Parse a function definition string.
Returns the name of the function or nil if the function could not be parsed."
(let* ((line (gnu-apl--trim-spaces string)))
- (loop for pattern in gnu-apl--function-declaration-patterns
+ (cl-loop for pattern in gnu-apl--function-declaration-patterns
when (string-match (concat "^" pattern) line)
return (match-string 1 line))))
@@ -342,7 +343,7 @@
(defun gnu-apl--find-largest-backward-match (regex)
(save-excursion
- (loop with old-pos = nil
+ (cl-loop with old-pos = nil
for pos = (save-excursion (search-backward-regexp regex nil t))
while pos
do (progn
@@ -469,7 +470,7 @@
(uniq-symbols (mapcar #'second
(seq-uniq entries
(lambda (x y)
- (string= (second x) (second y))))))
+ (string= (cl-second x) (second
y))))))
(docs))
(cl-flet ((cnv (entry)
(let ((arity (first entry)))
@@ -482,14 +483,14 @@
(-3 "Dyadic operator taking one argument")
(-4 "Dyadic operator taking two arguments")
(-5 "Quasi-dyadic operator (outer product)"))
- (third entry)
+ (cl-third entry)
(fourth entry)
(fifth entry)))))
(dolist (symb uniq-symbols)
(push
(list symb
(mapcar #'cnv
- (cl-remove-if-not (lambda (x) (string= (second x)
symb)) entries)))
+ (cl-remove-if-not (lambda (x) (string= (cl-second x)
symb)) entries)))
docs)))
docs))
@@ -548,8 +549,8 @@
((or (eq command 'prefix) (eq command 'candidates))
(let ((result (gnu-apl-expand-symbol)))
(case command
- (prefix (if result (buffer-substring (first result) (second
result)) nil))
- (candidates (third result)))))
+ (prefix (if result (buffer-substring (first result) (cl-second
result)) nil))
+ (candidates (cl-third result)))))
((eq command 'meta)
nil)))
diff -u gnu-apl-mode-master/gnu-apl-network.el gnu-apl-mode/gnu-apl-network.el
--- gnu-apl-mode-master/gnu-apl-network.el 2020-01-08 17:33:17.000000000
+0100
+++ gnu-apl-mode/gnu-apl-network.el 2020-09-02 15:14:26.092912725 +0200
@@ -1,6 +1,6 @@
;;; -*- lexical-binding: t -*-
-(require 'cl)
+(require 'cl-lib)
(require 'gnu-apl-util)
(defvar *gnu-apl-end-tag* "APL_NATIVE_END_TAG")
@@ -76,7 +76,7 @@
(defun gnu-apl--filter-network (proc output)
(with-current-buffer (gnu-apl--get-interactive-session)
(setq gnu-apl--current-incoming (concat gnu-apl--current-incoming output))
- (loop with start = 0
+ (cl-loop with start = 0
for pos = (cl-position ?\n gnu-apl--current-incoming :start start)
while pos
do (let ((s (subseq gnu-apl--current-incoming start pos)))
@@ -117,7 +117,7 @@
(defun gnu-apl--read-network-reply ()
(with-current-buffer (gnu-apl--get-interactive-session)
- (loop while (and (null gnu-apl--results) (process-live-p
gnu-apl--connection))
+ (cl-loop while (and (null gnu-apl--results) (process-live-p
gnu-apl--connection))
do (accept-process-output gnu-apl--connection 3))
(unless gnu-apl--results
(signal 'gnu-apl-network-proto-error 'disconnected))
@@ -125,7 +125,7 @@
value)))
(defun gnu-apl--read-network-reply-block ()
- (loop for line = (gnu-apl--read-network-reply)
+ (cl-loop for line = (gnu-apl--read-network-reply)
while (not (string= line *gnu-apl-end-tag*))
collect line))
diff -u gnu-apl-mode-master/gnu-apl-osx-workaround.el
gnu-apl-mode/gnu-apl-osx-workaround.el
--- gnu-apl-mode-master/gnu-apl-osx-workaround.el 2020-01-08
17:33:17.000000000 +0100
+++ gnu-apl-mode/gnu-apl-osx-workaround.el 2020-09-02 15:14:26.092912725
+0200
@@ -1,11 +1,11 @@
;;; -*- lexical-binding: t -*-
-(require 'cl)
+(require 'cl-lib)
(require 'gnu-apl-util)
(defun gnu-apl-update-fontset-character (spec)
(dolist (s gnu-apl--symbols)
- (let ((char (aref (second s) 0)))
+ (let ((char (aref (cl-second s) 0)))
(when (> char 255)
(set-fontset-font t (cons char char) (font-spec :family spec)))))
(set-fontset-font t '(#x2500 . #x2594) (font-spec :family spec)))
diff -u gnu-apl-mode-master/gnu-apl-plot.el gnu-apl-mode/gnu-apl-plot.el
--- gnu-apl-mode-master/gnu-apl-plot.el 2020-01-08 17:33:17.000000000 +0100
+++ gnu-apl-mode/gnu-apl-plot.el 2020-09-02 15:14:26.093912725 +0200
@@ -1,6 +1,6 @@
;;; -*- lexical-binding: t -*-
-(require 'cl)
+(require 'cl-lib)
(require 'gnu-apl-util)
(require 'gnu-apl-network)
@@ -62,7 +62,7 @@
(defun gnu-apl--write-array-content-to-csv (content)
(cond ((gnu-apl--single-dimension-p content)
- (loop for value in content
+ (cl-loop for value in content
do (progn
(insert (gnu-apl--cell-value-as-string value))
(insert "\n")))
@@ -71,8 +71,8 @@
(let ((size (cadr content)))
(unless (= (length size) 2)
(error "Unexpected dimensions: %d" (length size)))
- (loop for row-value in (caddr content)
- do (loop for col-content in row-value
+ (cl-loop for row-value in (caddr content)
+ do (cl-loop for col-content in row-value
for first = t then nil
when (not first)
do (insert " ")
diff -u gnu-apl-mode-master/gnu-apl-refdocs-bsd-license.el
gnu-apl-mode/gnu-apl-refdocs-bsd-license.el
--- gnu-apl-mode-master/gnu-apl-refdocs-bsd-license.el 2020-01-08
17:33:17.000000000 +0100
+++ gnu-apl-mode/gnu-apl-refdocs-bsd-license.el 2020-09-02 15:14:26.094912724
+0200
@@ -1,6 +1,6 @@
;;; -*- lexical-binding: t -*-
-(require 'cl)
+(require 'cl-lib)
(require 'gnu-apl-util)
(defvar gnu-apl--symbol-doc
diff -u gnu-apl-mode-master/gnu-apl-spreadsheet.el
gnu-apl-mode/gnu-apl-spreadsheet.el
--- gnu-apl-mode-master/gnu-apl-spreadsheet.el 2020-01-08 17:33:17.000000000
+0100
+++ gnu-apl-mode/gnu-apl-spreadsheet.el 2020-09-02 15:14:26.094912724 +0200
@@ -1,6 +1,6 @@
;;; -*- lexical-binding: t -*-
-(require 'cl)
+(require 'cl-lib)
(require 'gnu-apl-util)
(require 'gnu-apl-network)
(require 'ses)
@@ -13,13 +13,13 @@
;; The string must be formatted as an APL expression
(with-output-to-string
(princ "(⎕UCS")
- (loop for char across string
+ (cl-loop for char across string
do (princ (format " %d" char)))
(princ ")"))
;; We can simply use plain string
(with-output-to-string
(princ "'")
- (loop for char across string
+ (cl-loop for char across string
do (if (= char ?\')
(princ "''")
(princ (char-to-string char))))
@@ -92,9 +92,9 @@
(ses-insert-row (1- rows)))
(when (> cols 1)
(ses-insert-column (1- cols)))
- (loop for row-index from 0 below rows
+ (cl-loop for row-index from 0 below rows
for row-values in (caddr value)
- do (loop for col-index from 0 below cols
+ do (cl-loop for col-index from 0 below cols
for col-content in row-values
do (let ((v (etypecase col-content
(integer col-content)
@@ -130,10 +130,10 @@
(let ((rows ses--numrows)
(cols ses--numcols))
(princ (format "%s←%d⍴0\n" var-name (* rows cols)))
- (loop for row from 0 below rows
+ (cl-loop for row from 0 below rows
do (progn
(princ (format "%s[%d+⍳%d]←" var-name (* row cols) cols))
- (loop for col from 0 below cols
+ (cl-loop for col from 0 below cols
do (let ((item (ses-cell-value row col)))
(typecase item
(null (princ "(0⍴0)"))
diff -u gnu-apl-mode-master/gnu-apl-symbols.el gnu-apl-mode/gnu-apl-symbols.el
--- gnu-apl-mode-master/gnu-apl-symbols.el 2020-01-08 17:33:17.000000000
+0100
+++ gnu-apl-mode/gnu-apl-symbols.el 2020-09-02 15:14:26.094912724 +0200
@@ -1,6 +1,6 @@
;;; -*- lexical-binding: t -*-
-(require 'cl)
+(require 'cl-lib)
(require 'quail)
(require 'gnu-apl-util)
diff -u gnu-apl-mode-master/gnu-apl-util.el gnu-apl-mode/gnu-apl-util.el
--- gnu-apl-mode-master/gnu-apl-util.el 2020-01-08 17:33:17.000000000 +0100
+++ gnu-apl-mode/gnu-apl-util.el 2020-09-02 15:14:26.095912723 +0200
@@ -1,6 +1,6 @@
;;; -*- lexical-binding: t -*-
-(require 'cl)
+(require 'cl-lib)
(cl-defun gnu-apl--trim (regexp string &optional (start t) (end t))
(if (or start end)
Gemeinsame Unterverzeichnisse: gnu-apl-mode-master/native und
gnu-apl-mode/native.
Gemeinsame Unterverzeichnisse: gnu-apl-mode-master/texi und gnu-apl-mode/texi.