help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: same data appears twice, interactive then function body


From: Emanuel Berg
Subject: Re: same data appears twice, interactive then function body
Date: Fri, 18 Dec 2020 15:50:14 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)

Technologist Adams was kind enough to write me a private mail
telling me my function `insert-string-centered' didn't work
when used from Lisp. Well, that's what I think anyway, since
I received it in my mailbox with no reference in the headers
to either gmane.emacs.help or help-gnu-emacs@gnu.org, and it
doesn't seem to be anywhere else to be found, either!

Probably, he wanted to save me from being all embarrassed in
from of everyone. Well, that was kind! But no worries!
Actually, and to be frank about it, this isn't the first
mistake I ever ever made as a programmer...

Anyway here is a new version, that God willing will work even
under such severe circumstances...

(defun insert-string-centered (str &optional width)
  (interactive
   (list (read-from-minibuffer "string: ")
         (string-to-number (read-from-minibuffer "width [window]: " )) ))
  (let*((span    (if (and width (< 0 width)) width (window-text-width)))
        (str-len (length str))
        (pad     (- (/ (- span str-len) 2)
                    (if (zerop (mod str-len 2)) 1 0) ))
        (pad-str (make-string pad ?\s)) )
    (insert pad-str str) ))
(defalias 'isc #'insert-string-centered)

-- 
underground experts united
http://user.it.uu.se/~embe8573
https://dataswamp.org/~incal




reply via email to

[Prev in Thread] Current Thread [Next in Thread]