Hi Arash, I noticed some of your recent commits broke compatibility with emacs 26 and 27.
On the current master branch, "gmake EMACS=emacs-26.1" (or 27.1) gives ---------------------------------------------------------------------- In end of data: latex.el:9045:1:Warning: the following functions are not known to be defined: string-trim, always ... In end of data: style/natbib.el:200:1:Warning: the function ‘string-empty-p’ is not known to be defined. ---------------------------------------------------------------------- (1) `string-trim' and `string-empty-p' In emacs 26 and 27, `string-trim' and `string-empty-p' are in subr-x.el, so it seems that we need `(require 'subr-x)'. (On the other hand, they are available in subr.el and simple.el in emacs 29. So maybe (unless (and (fboundp 'string-trim) (fboundp 'string-empty-p)) (require 'subr-x)) or something like it?) (2) `always' According to NEWS.28, `always' was first introduced in emacs 28. So we have to replace it with lambda or compatibility function like (defun TeX-always (&rest _) t) In addition, > + (cl-letf (((symbol-function 'y-or-n-p) #'always)) it seems to me that `cl-flet' suits better than `cl-letf' here. (By the way, what is mystery to me is that "gmake EMACS=emacs-26.1" gives ---------------------------------------------------------------------- In TeX-current-defun-name: tex.el:6770:56:Warning: reference to free variable ‘LaTeX-section-label’ ---------------------------------------------------------------------- while emacs 27 and later don't. It seems that emacs 27 and later load latex.el before they compile tex.el, but I don't see the reason why emacs 26 doesn't then...) Regards, Ikumi Keita #StandWithUkraine #StopWarInUkraine