[ESS] unexpected behavior for Emacs-27.1-1-modified-1 for two MacBooks.

Stephen Berman @tephen@berm@n @end|ng |rom gmx@net
Tue Jan 26 22:07:55 CET 2021

On Tue, 26 Jan 2021 18:49:57 +0000 "Richard M. Heiberger via ESS-help" <ess-help using r-project.org> wrote:

> I just downloaded Emacs-27.1-1-modified-1 for two MacBooks.
> I have been using the previous 25.1.1 successfully on both machines.
> 1. My new MacBook Air M1, running Big Sur
> 2. My old MacBook Air mid 2012, running Catalina (it is too old for Big Sur)
> I have three unexpected behaviors, and they are not identical on the two machines.
> Has anyone seen these before?  Do you have idea about what is happening?
> Thank you,
> Rich
> I. Both machines report in *Messages*
>    Package cl is deprecated

The NEWS file in Emacs 27 says:

  ** The 'cl' package is now officially deprecated in favor of 'cl-lib'.

> II. When I search find-dired in
> /Applications.Emacs.app/Contents/Resources/site-lisp with the command
> I have been using for many years
>     -name \*.el -exec grep 'cl-' {} ";"
> new machine:
>   searches normally with instances found in each followed by the
>   file's dired information.  Then before stopping, it sorts all
>   instances together, followed by all dired entries together.
>   Essentialy useless.
> old machine:
>   same as above

The NEWS file in Emacs 27 says:

  *** New user option 'find-dired-refine-function'.
  The default value is 'find-dired-sort-by-filename'.

So you can prevent the resorting by setting find-dired-refine-function
to nil (by setq in your init file or by `M-x customize-option').

> On both machines, when I pick one of my own directories and do a similar search,
> old machine:
>   behaves normally but reports:
>   error in process sentinel: Wrong type argument: integer-or-marker-p, nil
> new machine:
>   did the useless re-sort as described above.

When I try your find-dired string in emacs-27 (and also in emacs-28) I
also get an error in process sentinel, but a different one:
"find-dired-filter: Invalid use of ‘\’ in replacement text".  This
appears to be due to this change:

commit fb20043b2fec8e8aff6354ec1396fd5ba688b76b
Author:     Sebastian Reuße <seb using wirrsal.net>
AuthorDate: Sat Dec 30 12:41:23 2017 +0200
Commit:     Eli Zaretskii <eliz using gnu.org>
CommitDate: Sat Dec 30 12:41:23 2017 +0200

    Fix output alignment in 'find-dired' for "ls -h"
    * lisp/find-dired.el (find-dired-filter): Fix alignment of
    the file size column when the -h ls option is used in
    'find-ls-option'.  (Bug#29803)

index 3b0613b280..bf815d500d 100644
--- a/lisp/find-dired.el
+++ b/lisp/find-dired.el
@@ -295,7 +295,7 @@ find-dired-filter
 		    (l-opt (and (consp find-ls-option)
 				(string-match "l" (cdr find-ls-option))))
 		    (ls-regexp (concat "^ +[^ \t\r\n]+\\( +[^ \t\r\n]+\\) +"
-				       "[^ \t\r\n]+ +[^ \t\r\n]+\\( +[0-9]+\\)")))
+				       "[^ \t\r\n]+ +[^ \t\r\n]+\\( +[^[:space:]]+\\)")))
 		(goto-char beg)
 		(insert string)
 		(goto-char beg)

When I revert this change (by replacing `^[:space:]' by `0-9' in the
above code excerpt), I don't get the error anymore.  Since the error
message you got is different, it may have a different cause.  In any
case, it looks like it warrents a bug report (`M-x report-emacs-bug').

> ispell behaves differently (previous ispell, not using the hunspell additional).
> old machine:
>   it works normally
> new machine:
>   ispell-check-version: /usr/local/bin/aspell exited with signal Illegal instruction: 4

I can't help with this one, but maybe it's also worth a bug report.

Steve Berman

More information about the ESS-help mailing list