use `error' instead of `user-error' for backward comptibility