* Uwe Brauer (2005-02-02) writes:
>>>>> "David" == David Kastrup
<dak(a)gnu.org> writes:
David> You pointed this out for AUCTeX. And yes, we are following
David> your advice there. I've given up pretense equality there
David> and stopped censoring our developers.
What!? I was being censored? You [beeep]!
David> The
recommendation
David> for people wanting to use AUCTeX is to use Emacs by now.
David> It would be dishonest to pretend equality: almost all of
David> the recent releases turned out to have severe problems of
David> some kind with XEmacs. So we have taken up discrimination
David> in the literal meaning of the word. I don't like it one
David> bit, but if we don't tell people that there are differences
David> to be expected, then problems with a particular platform
David> reflect on AUCTeX in general.
I am sorry but I disagree, I am using 11.54 (which is in pkg format,
however in pre-release still) and do not encounter any of these
problems. I wounder however that the reason might be due to the fact
that I still use *no-mule*.
That you haven't encountered problems doesn't mean they don't exist.
Here is one of my all time favorites regarding font locking which is
working fine in Emacs but fails in XEmacs, i.e. fontification is
spilling out of the verbatim environment:
\documentclass{article}
\begin{document}
\begin{verbatim}
echo $LANG
\end{verbatim}
\end{document}
XEmacs' font-lock.el sucks noodles when it comes to syntactic keywords.
BTW, I had to write the above example in Emacs as XEmacs died when I
wanted to test it. Here is the message I got when not running in GDB:
--8<---------------cut here---------------start------------->8---
Fatal error (11).
Your files have been auto-saved.
Use `M-x recover-session' to recover them.
Your version of XEmacs was distributed with a PROBLEMS file that may describe
your crash, and with luck a workaround. Please check it first, but do report
the crash anyway. Please report this bug by invoking M-x report-emacs-bug,
or by selecting `Send Bug Report' from the Help menu. If necessary, send
ordinary email to `crashes(a)xemacs.org'. *MAKE SURE* to include the XEmacs
configuration from M-x describe-installation, or equivalently the file
Installation in the top of the build tree.
*Please* try *hard* to obtain a C stack backtrace; without it, we are unlikely
to be able to analyze the problem. Locate the core file produced as a result
of this crash (often called `core' or `core.<process-id>', and located in
the directory in which you started XEmacs or your home directory), and type
gdb /usr/bin/xemacs core
then type `where' at the debugger prompt. No GDB on your system? You may
have DBX, or XDB, or SDB. (Ask your system administrator if you need help.)
If no core file was produced, enable them (often with `ulimit -c unlimited'
in case of future recurrance of the crash.
Lisp backtrace follows:
re-search-backward("\\(\\\\\\(new\\|provide\\)command\\*?{?\\\\\\([a-zA-Z]+\\)]*\\)\\]\\)\\|\\(\\\\\\(new\\|provide\\)command\\*?{?\\\\\\([a-zA-Z]+\\)}?\\[\\([0-9]+\\)\\]\\)\\|\\(\\\\\\(new\\|provide\\)command\\*?{?\\\\\\([a-zA-Z]+\\)}?\\)\\|\\(\\\\newenvironment\\*?{?\\([a-zA-Z]+\\)}?\\[\\([0-9]+\\)\\]\\[\\)\\|\\(\\\\newenvironment\\*?{?\\([a-zA-Z]+\\)}?\\[\\([0-9]+\\)\\]\\)\\|\\(\\\\newenvironment\\*?{?\\([a-zA-Z]+\\)}?\\)\\|\\(\\\\newtheorem{\\([a-zA-Z]+\\)}\\)\\|\\(\\\\]+?\\)}\\)\\|\\(\\\\DeclareRobustCommand\\*?{?\\\\\\([A-Za-z]+\\)}?\\[\\([0-9]+\]*?\\)\\]\\)\\|\\(\\\\DeclareRobustCommand\\*?{?\\\\\\([A-Za-z]+\\)}?\\[\\([0-9]+\\)\\]\\)\\|\\(\\\\DeclareRobustCommand\\*?{?\\\\\\([A-Za-z]+\\)}?\\)\\|\\(\\\\DeclareMath\\(?:Symbol\\|Delimiter\\|Accent\\|Radical\\){?\\\\\\([A-Za-z]+\\)}?\\)\\|\\(\\\\\\(Declare\\|Provide\\)Text\\(?:Command\\|Symbol\\|Accent\\|Composite\\){?\\\\\\([A-Za-z]+\\)}?\\)\\|\\(\\\\Declare\\(?:Text\\|Old\\)FontCommand{?\\%\\{}]+\\)}\\)\\|\\(\\\\\\(in!
dex\\|glossary\\){\\([^}{]*\\({[^}{]*\\({[^}{]*\\({[^}{]*}[^}{]*\\)*}[^}{]*\\)*}[^}{]*\\)*\\)}\\)\\|\\(\\\\document\\(style\\|class]+?\\)}\\)\\|\\(\\\\use\\(package\\)\\(\\[\\([^]\\\\]*\\)\\]\\)?{\\(\\([^#}\\\\\]\\)+?\\)}\\)\\|\\(\\\\def\\\\\\([a-zA-Z]+\\)[^a-zA-Z@]\\)\\|\\(\\\\let\\\\\\([a-zA-Z]+\\)[^a-zA-Z@]\\)\\|\\(\\\\font\\\\\\([a-zA-Z]+\\)[^a-zA-Z@]\\)\\|\\(\\\\chardef\\\\\\([a-zA-Z]+\\)[^a-zA-Z@]\\)\\|\\(\\\\new\\(count\\|dimen\\|muskip\\|skip\\)\\\\\\([a-z]+\\)[^a-zA-Z@]\\)\\|\\(\\\\newfont{?\\\\\\([a-zA-Z]+\\)}?\\)\\]+\\)?\\)\\|\\(\\\\mathchardef\\\\\\([a-zA-Z]+\\)[^a-zA-Z@]\\)"
nil t)\\\\\\.\n
# bind (regexp end beg regexp-list)
TeX-auto-parse-region(TeX-auto-full-regexp-list nil 999999)
# (unwind-protect ...)
# bind (case-fold-search)
TeX-auto-parse()
TeX-auto-apply()
# bind (force)
TeX-update-style()
# bind (ignore optional)
TeX-arg-document(nil)
# bind (arg optional)
TeX-parse-argument(nil TeX-arg-document)
# bind (TeX-arg-opening-brace TeX-arg-closing-brace last-optional-rejected skip-opt
args)
TeX-parse-arguments((TeX-arg-document))
# bind (exit-mark position args symbol)
TeX-parse-macro("documentclass" (TeX-arg-document))
# bind (symbol)
TeX-insert-macro("documentclass")
# bind (ignore)
LaTeX-env-document("document")
apply(LaTeX-env-document "document" nil)
# bind (entry environment)
LaTeX-environment-menu("document")
# bind (entry environment arg)
LaTeX-environment(nil)
# bind (command-debug-status)
call-interactively(LaTeX-environment)
# (condition-case ... . error)
# (catch top-level ...)
--8<---------------cut here---------------end--------------->8---
Here is a backtrace:
--8<---------------cut here---------------start------------->8---
Program received signal SIGSEGV, Segmentation fault.
0x08162035 in bytind_to_bufpos_func ()
(gdb) bt
#0 0x08162035 in bytind_to_bufpos_func ()
#1 0x081a6aff in bi_find_next_emchar_in_string ()
#2 0x081abfdb in complex_vars_of_search ()
#3 0x081aa4d5 in Fre_search_backward ()
#4 0x080ba952 in Ffuncall ()
#5 0x0808f953 in funcall_compiled_function ()
#6 0x0808f568 in funcall_compiled_function ()
#7 0x080ba816 in Ffuncall ()
#8 0x0808f953 in funcall_compiled_function ()
#9 0x0808f568 in funcall_compiled_function ()
#10 0x080ba816 in Ffuncall ()
#11 0x0808f953 in funcall_compiled_function ()
#12 0x0808f568 in funcall_compiled_function ()
#13 0x080ba816 in Ffuncall ()
#14 0x0808f953 in funcall_compiled_function ()
#15 0x0808f568 in funcall_compiled_function ()
#16 0x080ba816 in Ffuncall ()
#17 0x0808f953 in funcall_compiled_function ()
#18 0x0808f568 in funcall_compiled_function ()
#19 0x080ba816 in Ffuncall ()
#20 0x0808f953 in funcall_compiled_function ()
#21 0x0808f568 in funcall_compiled_function ()
#22 0x080ba816 in Ffuncall ()
---Type <return> to continue, or q <return> to quit---
#23 0x0808f953 in funcall_compiled_function ()
#24 0x0808f568 in funcall_compiled_function ()
#25 0x080ba816 in Ffuncall ()
#26 0x0808f953 in funcall_compiled_function ()
#27 0x0808f568 in funcall_compiled_function ()
#28 0x080ba816 in Ffuncall ()
#29 0x0808f953 in funcall_compiled_function ()
#30 0x0808f568 in funcall_compiled_function ()
#31 0x080ba816 in Ffuncall ()
#32 0x0808f953 in funcall_compiled_function ()
#33 0x0808f568 in funcall_compiled_function ()
#34 0x080ba816 in Ffuncall ()
#35 0x080bacf8 in Fapply ()
#36 0x080ba871 in Ffuncall ()
#37 0x0808f953 in funcall_compiled_function ()
#38 0x0808f568 in funcall_compiled_function ()
#39 0x080ba816 in Ffuncall ()
#40 0x0808f953 in funcall_compiled_function ()
#41 0x0808f568 in funcall_compiled_function ()
#42 0x080ba816 in Ffuncall ()
#43 0x08092fab in Fcall_interactively ()
#44 0x080b96d0 in Fcommand_execute ()
#45 0x08101c75 in complex_vars_of_event_stream ()
---Type <return> to continue, or q <return> to quit---
#46 0x080fdafd in Fdispatch_event ()
#47 0x0809ba4d in Fcommand_loop_1 ()
#48 0x080b8673 in condition_case_1 ()
#49 0x0809bfde in syms_of_cmdloop ()
#50 0x080b852a in internal_catch ()
#51 0x0809b798 in initial_command_loop ()
#52 0x080b51fb in xemacs_21_4_16_i386_debian_linux ()
#53 0x080b632d in main ()
--8<---------------cut here---------------end--------------->8---
This happened with a stock XEmacs 21.4.16 provided by Debian/sid and a
CVS AUCTeX which is a few days old. I can reproduce it by starting
XEmacs, opening a LaTeX file via `C-x C-f' and adding a document
skeleton via `C-c C-e'.
--
Ralf