auctex-devel
[Top][All Lists]
Advanced

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

Re: [AUCTeX-devel] Spell checking of macros


From: David Kastrup
Subject: Re: [AUCTeX-devel] Spell checking of macros
Date: Sun, 17 Jul 2016 19:28:23 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1.50 (gnu/linux)

Mosè Giordano <address@hidden> writes:

> Hi Arash,
>
> 2016-07-12 10:25 GMT+02:00 Arash Esbati <address@hidden>:
>> Arash Esbati <address@hidden> writes:
>>
>>> I'm thinking about writing a function like this to catch this kind of
>>> arguments:
>>>
>>>     (defun TeX-ispell-tex-arg-end (&optional arg1 arg2)
>>>       (condition-case nil
>>>           (progn
>>>             (while (looking-at "[ \t\n]*\\[") (forward-sexp))
>>>             (forward-sexp (or arg1 1))
>>>             (while (looking-at "[ \t\n]*\\[") (forward-sexp))
>>>             (forward-sexp (or arg2 1)))
>>>         (error
>>>          (message "Error skipping s-expressions at point %d." (point))
>>>          (beep)
>>>          (sit-for 2))))
>>>
>>> and do ("tabular[*xy]" TeX-ispell-tex-arg-end).
>>
>> Following up myself again, I implemented a function
>> `TeX-ispell-tex-arg-end' to deal with constructs like:
>>
>>     \raisebox{2em}[1em][1em]{text} or
>>     \begin{tabularx}{300pt}{|p{3cm}|>{\raggedright}X|c|S|} etc.
>>
>> I'd like to apply the attached patch.  I would appreciate any comments
>> before doing this.
>
> It looks overall good to me, but note that error messages *do not* end
> with a period (see `error`'s docstring) and you should replace the
> `message' function with `format' (and I don't think `beep' is needed).

Uh, no?

    error is a compiled Lisp function in ‘subr.el’.

    (error STRING &rest ARGS)

    Signal an error, making a message by passing args to ‘format-message’.
    In Emacs, the convention is that error messages start with a capital
    letter but *do not* end with a period.  Please follow this convention
    for the sake of consistency.

    Note: (error "%s" VALUE) makes the message VALUE without
    interpreting format characters like ‘%’, ‘`’, and ‘'’.

You don't want to have format-message called twice.  So just use

         (error "Error skipping s-expressions at point %d." (point))

Do other errors actually output the value of point?  Seems a bit strange
to me, but that's a different problem.

-- 
David Kastrup



reply via email to

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