Following your directions I still see the first error (even in a Vanilla
XEmacs). Your hints showed me how to fix the other error with
function-block completion. See below for comments and my current
configuration which I forgot to include in my first email.
Wed, 20 Jun 2007 (09:51 +0300 UTC) Ville Skyttä wrote:
On Tuesday 19 June 2007, robert delius royar wrote:
> In a recent package update from the experimental packages perl-modes and
> prog-modes, something has changed in CPerl mode that affects
> font-lock syntax coloring and autocompletion of program blocks. The
> Changelog does not refer to any changes in the files except to sync
> cperl.el with upstream 2.53 and change the Makefile version in
> perl-modes and to Use `condition-case' instead of `ignore-errors' in
The prog-modes changes are unrelated to the cperl-mode ones. cperl-mode.el
contains the full upstream change log, maybe something can be found there.
The previous cperl-mode.el in XEmacs packages tree was 5.0 IIRC.
Which XEmacs version do you use?
21.5(beta28) CVS of 2007-06-11 (installation file appended at the end of
> First, syntax hilighting appears to become confused when existing
> are edited--especially when the line contains unterminated strings. The
> confusion shows as incorrect coloring of symbols on the following line.
I can't reproduce with 21.5.28. When starting editing with the "m"
(your "beforechange" case), fontification does momentarily get confused - I
gather it's interpreting "m" as the beginning of an m/.../ operator. For
it normalizes immediately when typing the following "y", and unterminated
strings confuse it only while being unterminated. After the trailing " and a
semicolon, everything's back to normal here.
I tried with a Vanilla XEmacs start. I opened a small perl file (the
same the screen shots used). I turned on font-lock mode. I got the same
results. That is, the highlighting in the simple case of typing 'm' on
a new line changed for the next line and remained changed until I
positioned the cursor on the miscolored line and issued a return. Note
I only did this after completing the line (i.e. 'my ip8;'). So the
teminating ';' did not fix it. Further hitting return at the end of the
newly added line did not fix it. Moving the cursor to the beginning of
the miscolored line and hitting return (or backspace) did fix it. So it
looks as though there is a lower-level line update setting not being
The following might be important (from the changes in cperl-mode.el):
;;; `cperl-hook-after-change': New configuration variable
;;; `cperl-after-change-function': Since `font-lock' and `lazy-lock'
;;; refuse to inform us whether the fontification is due to lazy
;;; calling or due to edit to a buffer, install our own hook
;;; (controlled by `cperl-hook-after-change')
> Second, the new CPerl wants to complete control structures I
> is new behavior. I cannot find a way to turn off this help. I would
> not mind this that much except it triggers the error
> nil not defined.
> Precede char by C-q to avoid expansion
I cannot reproduce this either (neither the autocompletion (maybe some
cperl-electric-* setting?) nor the error). Do you have any cperl-*
customizations in your custom.el or init.el? Have you tried with
I discovered the cause. I use Abbrev minor mode as a default (all
buffers). I have done this for years. cperl-mode.el implies that the
version (5.0) turned off abbrev-mode by default. I infer this from
the statement that in versions after 5.0
;;; `cperl-mode': Never auto-switch abbrev-mode off
Thanks for pointing me in the right direction.
uname -a: Darwin grendel.frinabulax.org
8.9.0 Darwin Kernel Version \
8.9.0: Thu Feb 22 20:54:07 PST 2007; \
Power Macintosh powerpc
./configure '--with-mule' '--with-widgets=athena'
'--prefix=/Users/royar/usr/local' '--with-png' '--with-jpeg'
'--with-tiff' '--with-xmu' '--with-xim=no'
'--disable-xfs' '--enable-dump-in-exec' '--with-modules'
'--enable-external-widget' '--with-dynamic' '--disable-kkcc'
'--with-cflags-optimization=-Os -pipe -mcpu=970 -mtune=970 -mpim-altivec'
XEmacs 21.5-b28 "fuki" (+CVS-20070611) configured for
Compilation Environment and Installation Defaults:
Source code location: /Users/royar/src/xemacs
Installation prefix: /Users/royar/usr/local
Additional libraries: /opt/local/lib /usr/X11R6/lib
Operating system description file: `s/darwin.h'
Machine description file: `m/powerpc.h'
Compiler version: powerpc-apple-darwin8-gcc-4.0.1 (GCC) 4.0.1 (Apple
Computer, Inc. build 5367)
- GCC specs file: specs.
- Compiler command: gcc-4.0 -Wall -Wno-switch -Wundef \
-Wsign-compare -Wno-char-subscripts -Wpacked -Wpointer-arith \
-Wunused-parameter -g -Os -pipe -mcpu=970 -mtune=970 -mpim-altivec
Relocating allocator for buffers: no
GNU version of malloc: no
- The GNU allocators don't work with this system configuration.
Compiling in support for the X window system:
- X Windows headers location: /usr/X11R6/include
- X Windows libraries location: /usr/X11R6/lib
- Handling WM_COMMAND properly.
- Using fontconfig to manage fonts.
- Compiling in support for Xft antialiased fonts (EXPERIMENTAL).
Compiling in support for the Athena widget set:
- Athena headers location: X11/Xaw3d
- Athena library to link: Xaw3d
Using Lucid menubars.
Using Lucid scrollbars.
Using Athena dialog boxes.
Using Athena native widgets.
- Using Xft to render antialiased fonts in progress bars.
WARNING: This feature will be replaced with a face.
WARNING: This feature not yet implemented; setting ignored.
Compiling in support for ncurses.
Compiling in support for GIF images (builtin).
Compiling in support for XPM images.
Compiling in support for PNG images.
Compiling in support for JPEG images.
Compiling in support for TIFF images.
Compiling in support for ESD (Enlightened Sound Daemon).
Compiling in support for Berkeley database.
Compiling in support for GNU DBM.
Compiling in support for LDAP.
Compiling in support for Mule (multi-lingual Emacs).
Compiling in support for "file" mail spool file locking method.
Inhibiting IPv6 canonicalization at startup.
Compiling in support for dynamic shared object modules.
Using the union type for Lisp_Objects.
WARNING: This tends to trigger compiler bugs, especially when
WARNING: combined with MULE and ERROR_CHECKING. Crashes have
WARNING: been seen with various versions of GCC (up to about 2.95),
WARNING: and recently with Visual C++ as well (mid-2003).
WARNING: More recent versions may be safer, or not.
Using the new portable dumper.
Dumping into executable.
Dr. Robert Delius Royar Associate Professor of English
Morehead State University Morehead, Kentucky
XEmacs-Beta mailing list