From: Emanuel Berg <incal@dataswamp.org>
To: emacs-devel@gnu.org
Subject: Re: how to speed up Lisp devel time
Date: Sat, 10 Aug 2024 09:51:39 +0200 [thread overview]
Message-ID: <87sevczugk.fsf@dataswamp.org> (raw)
In-Reply-To: 87wmkozvt9.fsf@dataswamp.org
>> I do not necessarily want them on the same line.
>> Depending on how often or rarely I use that command,
>> I might want labels reminding me what each argument is for.
>
> You got: same line, with labels.
There, at least we solved the problem for my function, now
with an interface setup of 1079 chars :)
Usually it isn't that hard to go from hard-coded individual
case to the general case, well, it isn't as hard as one
thinks anyway.
Good, because this time - I think it's gonna be pretty hard :)
Zzz
;;; -*- lexical-binding: t -*-
;;
;; this file:
;; https://dataswamp.org/~incal/emacs-init/iihf.el
(require 'cl-lib)
;; [
;; end :d 73 :r 0< :pa mxd od
;; step :d end/10 :r 0< :r 2-10 c
;; i :d 0 :r 0<=
;; ]
(defun input-args (&optional do-ps end step i)
(interactive)
(let* (( end-def 73)
(step-def (max 10 (min 2 (/ end-def 10))))
( i-def 0)
(def (list end-def step-def i-def))
(num-str (format "%s %s %s" (or end end-def) (or step step-def) (or i i-def)))
(def-str (format "%s %s %s" (nth 0 def) (nth 1 def) (nth 2 def)))
(str (if do-ps
(read-string (format "end step i [RET %s]: " def-str)
nil nil def-str)
num-str))
(spl (split-string str " "))
(res (cl-mapcar (lambda (a) (string-to-number a)) spl))
(all `(,@res ,@(cl-subseq def (length res))))
(end (nth 0 all))
(step (nth 1 all))
( i (nth 2 all)))
(unless (and (< 0 end)
(< 0 step)
(<= 0 i))
(error "DNC"))
(let ((min 2)
(max 10))
(setq step (cond ( (< step min) min )
( (< max step) max )
( step )))
(list end step i))))
;; (input-args t) RET ; 73 10 0
;; (input-args t) 73 100 RET ; 73 10 0
;; (input-args t) 73 1 RET ; 73 2 0
;; (input-args t) 55 RET ; 55 10 0
;; (input-args nil 1 2 3) ; 1 2 3
;; (input-args nil 1 2) ; 1 2 0
;; (input-args nil 1) ; 1 10 0
;; (input-args nil -1) ; DNC
;; (input-args nil 1 -1) ; DNC
;; (input-args nil 1 1 -1) ; DNC
;; (input-args nil 1 1 0) ; 1 2 0
(provide 'iihf)
--
underground experts united
https://dataswamp.org/~incal
next prev parent reply other threads:[~2024-08-10 7:51 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-09 7:16 how to speed up Lisp devel time Emanuel Berg
2024-08-09 7:24 ` Eli Zaretskii
2024-08-09 7:39 ` Emanuel Berg
2024-08-09 10:43 ` Eli Zaretskii
2024-08-09 11:18 ` Emanuel Berg
2024-08-09 12:02 ` Eli Zaretskii
2024-08-09 13:54 ` Emanuel Berg
2024-08-09 14:58 ` Eli Zaretskii
2024-08-09 16:03 ` Emanuel Berg
2024-08-09 16:16 ` Emanuel Berg
2024-08-09 17:54 ` Eli Zaretskii
2024-08-09 18:56 ` Christopher Dimech
2024-08-09 21:57 ` Emanuel Berg
2024-08-09 21:47 ` Emanuel Berg
2024-08-09 17:27 ` Yuri Khan
2024-08-09 21:21 ` Emanuel Berg
2024-08-10 2:14 ` Emanuel Berg
2024-08-10 6:01 ` Yuri Khan
2024-08-10 6:08 ` Emanuel Berg
2024-08-10 6:44 ` Yuri Khan
2024-08-10 7:22 ` Emanuel Berg
2024-08-10 7:51 ` Emanuel Berg [this message]
2024-08-10 4:32 ` Emanuel Berg
2024-08-10 5:58 ` Eli Zaretskii
2024-08-09 14:59 ` Eduardo Ochs
2024-08-09 16:19 ` Emanuel Berg
2024-08-09 18:00 ` Eli Zaretskii
2024-08-09 18:54 ` Christopher Dimech
2024-08-09 22:17 ` Emanuel Berg
2024-08-09 22:00 ` Emanuel Berg
2024-08-09 8:24 ` Emanuel Berg
2024-08-09 10:36 ` Christopher Dimech
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87sevczugk.fsf@dataswamp.org \
--to=incal@dataswamp.org \
--cc=emacs-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.