I am using the following function workbench
. How may I resolve the error
if: Wrong type argument: sequencep, 1
when calling M-x workbench
?
With backtrace I get
Debugger entered--Lisp error: (wrong-type-argument sequencep 1)
concat("~/wb/" "2022-06-29-T13:51:06--" "Arktika" "-" 1 ".org")
(if name (concat workbench-dtrek (format-time-string "%Y-%m-%d-T%H:%M:%S--") workbench-prefix "-" name ".org") (concat workbench-dtrek (format-time-string "%Y-%m-%d-T%H:%M:%S--") workbench-prefix ".org"))
(let* ((wbfrmt (concat "*" workbench-prefix "%s%s*")) (buffer (if name (format wbfrmt "-" name) (format wbfrmt "" ""))) (file-name (if name (concat workbench-dtrek (format-time-string "%Y-%m-%d-T%H:%M:%S--") workbench-prefix "-" name ".org") (concat workbench-dtrek (format-time-string "%Y-%m-%d-T%H:%M:%S--") workbench-prefix ".org")))) (switch-to-buffer (generate-new-buffer buffer)) (setq buffer-file-name file-name) (if current-prefix-arg (let* ((mode (completing-read " Langmode [progr,markup]: " (map-keys workbench-modes) nil t nil 'workbench-histr))) (funcall (intern mode))) (funcall (intern (or mode "org-mode")))) buffer-file-name)
workbench(1)
funcall-interactively(workbench 1)
call-interactively(workbench record nil)
command-execute(workbench record)
execute-extended-command(nil "workbench" "ark")
funcall-interactively(execute-extended-command nil "workbench" "ark")
call-interactively(execute-extended-command nil nil)
command-execute(execute-extended-command)
Looks as the problem relates to the condition (if name
(defvar workbench-prefix "Arktika")
(defvar workbench-dtrek "~/wb/")
(defvar workbench-histr nil)
(defvar workbench-modes
'( ("emacs-lisp-mode" . "el")
("lisp-mode" . "lisp")
("org-mode" . "org")
("f90-mode" . "f90")
("c-mode" . "c")
("c++-mode" . "cpp")
("sh-script" . "sh") ))
(defun workbench (&optional name mode)
"Generate new temporary buffer."
(interactive "p")
(let* ( (wbfrmt
(concat "*" workbench-prefix "%s%s*"))
(buffer
(if name (format wbfrmt "-" name) (format wbfrmt "" "")))
(file-name
(if name
(concat workbench-dtrek
(format-time-string "%Y-%m-%d-T%H:%M:%S--")
workbench-prefix "-" name ".org")
(concat workbench-dtrek
(format-time-string "%Y-%m-%d-T%H:%M:%S--")
workbench-prefix ".org"))) )
(switch-to-buffer (generate-new-buffer buffer))
(setq buffer-file-name file-name)
(if current-prefix-arg
(let* ( (mode (completing-read " Langmode [progr,markup]: "
(map-keys workbench-modes) nil t nil
'workbench-histr)) )
(funcall (intern mode)))
(funcall (intern (or mode "org-mode"))))
buffer-file-name))
M-x set-variable debug-on-error t
Show the backtrace, if it doesn't make clear to you what the problem is.