Eli Zaretskii writes: >> Cc: contovob@tcd.ie, emacs-devel@gnu.org >> From: Paul Eggert >> Date: Sat, 7 Jul 2018 01:41:38 -0700 >> >> Eli Zaretskii wrote: >> > the documentation still doesn't say that 'length' signals >> > an error for anything that is not a sequence, which is what >> > proper-list-p is relying on. >> >> The proposed implementation of proper-list-p does not rely on such a signal, > > That's not my reading of the implementation: > > (and (listp object) (ignore-errors (length object))) > ^^^^^^^^^^^^^ The call to 'length' is wrapped in 'ignore-errors' in order to catch the errors signalled in 'Flength' by 'FOR_EACH_TAIL' (in case of circularity) and 'CHECK_LIST_END' (in case of dottedness). 'length' shouldn't signal a 'wrong-type-argument' for a non-sequence argument because it is only called on objects which satisfy 'listp': (and (listp object) (ignore-errors (length object))) ^^^^^^^^^^^^^^ Having said that, would something like the following documentation change be welcome, for completeness?