GNU bug report logs - #2203
C Mode: C-M-a fails at BOD re_comp, src/regex.c L6534

Previous Next

Packages: cc-mode, emacs;

Reported by: Alan Mackenzie <acm <at> muc.de>

Date: Thu, 5 Feb 2009 11:25:03 UTC

Severity: normal

Done: Alan Mackenzie <acm <at> muc.de>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Alan J Third <alan <at> idiocy.org>
To: 2203 <at> debbugs.gnu.org
Cc: Alan Mackenzie <acm <at> muc.de>
Subject: bug#2203: C Mode:  C-M-a fails at BOD re_comp, src/regex.c L6534
Date: Fri, 15 Jan 2016 20:40:31 +0000
Alan Mackenzie <acm <at> muc.de> writes:

> In .../src/regex.c put point at BOL6534, "char *" here:
>
> }
> WEAK_ALIAS (__re_compile_pattern, re_compile_pattern)
> ^L
> /* Entry points compatible with 4.2 BSD regex library.  We don't define
>    them unless specifically requested.  */
>
> #if defined _REGEX_RE_COMP || defined _LIBC
>
> /* BSD has one and only one pattern buffer.  */
> static struct re_pattern_buffer re_comp_buf;
>
> char *                                          <=================================
> # ifdef _LIBC
> /* Make these definitions weak in libc, so POSIX programs can redefine
>    these names if they don't use our functions, and still use
>    regcomp/regexec below without link errors.  */
> weak_function
> # endif
> re_comp (s)
>     const char *s;
> {
>
>
> Do C-M-a.  Point doesn't move.
>
> Preliminary investigation:  With point on the 'h' of "char *",
> (c-beginning-of-decl-1 nil) should move point one character backwards.
> Instead, it moves to BOL "WEAK_ALIAS".

I just tested this in Emacs 25 and it seems that in every case point
moves back to "WEAK_ALIAS". That is, C-M-a, c-beginning-of-defun,
behaves the same way as (c-beginning-of-decl-1 nil).

I guess that makes it more broken, if more consistent, than when the bug
was raised.

-- 
Alan Third




This bug report was last modified 9 years and 185 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.