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

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

Re: Passing a list to a function


From: Emanuel Berg
Subject: Re: Passing a list to a function
Date: Mon, 12 Jul 2021 15:52:52 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)

lisa-asket wrote:

> Is it valid?

Run this...

(require 'checkdoc)

(defun check-package-style ()
  (interactive)
  (let ((msg "Style check..."))
    (message msg)
    (checkdoc-current-buffer t) ; TAKE-NOTES
    (message "%sdone" msg) ))
    
(defalias 'check-style #'check-package-style)

It says it is valid but

  Argument ‘hdlevels’ should appear (as HDLEVELS) in the doc
  string
  
  Probably "Sets" should be imperative "Set"

Also try to byte-compile it, the byte-compiler then says it is
valid but

  Warning: assignment to free variable ‘outline-heading-alist’

You can add

  (defvar outline-heading-alist)

to make it quiet.

> What do you think of this code?

I would avoid using `setq' in defuns, especially in cases like
yours, but it isn't wrong to do so.

Also I think some of the data either appear several times or
is a function of some other data (or both), so a lot can be
pruned, for example the way you set "hstyle-hdl" ...

> (defvar hstyle-hdl
>    '( ("@c h1" . 1) ("@c h2" . 2) ("@c h3" . 3) ("@c h4" . 4)
>       ("@c h5" . 5) ("@c h6" . 6) ("@c h7" . 7) ("@c h8" . 8) )
>    "Define names and levels for texinfo outline headings." )

... you see how the elements seem to be ("@c hx" . x) where
x is the position in the list (starting from 1) - yet you have
the same data (x) hard-coded twice everywhere - that doesn't
look good.

-- 
underground experts united
https://dataswamp.org/~incal




reply via email to

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