[Pkg-emacsen-addons] Bug#886024: split off anything-el related part

era eriksson era at iki.fi
Wed Jan 3 00:06:31 UTC 2018

Your emacs-batch script seems to have some issues. I have not reviewed
it properly, but e.g. your prevalent use of the declare keyword is
definitely a bashism.
More generally, making Emacs package compilation more robust  is
absolutely not a bad idea; but introducing new requirements should also
be reflected in the Emacs policy (though honestly not sure what its
current status is?)
On Tue, Jan 2, 2018, at 22:34, H.-Dirk Schmitt wrote:
> Here a simple wrapper script would help to :
> - avoid copy and paste errors
> - simplify the fix of this bug
> - simple reuse
> Code outline for an emacs batch wrapper
> ----------------------------------------
> Assume a bash script *emacs_batch* replacing the `-q --batch` options.> It should take as 1st option the emacs flavour (e.g. emacs25) and pass> trough all other options except `-q`,
> `--no-init-file` (alias to `-q`)  and `--batch`.
> The emacs call could be implemented in this way:
>     ```
>     declare -r catchFile=$(mktemp)              # create temporary
>     file> for output

Exit on failure; $(mktemp) || exit

>     trap rm --force ${catchFile}                #   and ensure cleanup
The trap declaration  seems to be wrong (the trap code needs to be a
single string and you need to specify which signals and conditions
to trap on).
>     ${FLAVOUR} --batch "${cmdlineOptions[@]}" &>"${catchFile}" & #
>     fork>     declare -i emacsPid=$!                      # and remember
>     sleep ${emacsTimeOut} &                     # fork timeout watch
>     declare -i sleepPid=$!                      # and remember
>     wait -n ${emacsPid} ${sleepPid}             # -n  → wait for the
> next ending job
>     declare -r rc=$?                            # don't forget the
>     exit> code
>     if ! $(kill ${sleepPid})

The command substitution is fishy too.I guess you mean simply

    if ! kill $sleepPid

or do you actually expect kill to print something?

>     then                                        # oops run in timeout>        … add error handling here
>     else                                        # emacs terminates
> without timeout
>        cat ${catchFile}                         # forward console
>        output>        exit ${rc}                               # rc is originating
>        from> emacs
>     fi
>     ```

/* era */

If this were a real .signature, it would suck less.  Well, maybe not.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.alioth.debian.org/pipermail/pkg-emacsen-addons/attachments/20180103/d13e4a2f/attachment.html>

More information about the Pkg-emacsen-addons mailing list