GNU bug report logs - #7179
23.2; copyright-update on spanning copyright-limit

Previous Next

Package: emacs;

Reported by: Kevin Ryde <user42 <at> zip.com.au>

Date: Sat, 9 Oct 2010 00:23:02 UTC

Severity: normal

Tags: confirmed

Found in version 23.2

Fixed in version 28.1

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 7179 in the body.
You can then email your comments to 7179 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to owner <at> debbugs.gnu.org, bug-gnu-emacs <at> gnu.org:
bug#7179; Package emacs. (Sat, 09 Oct 2010 00:23:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Kevin Ryde <user42 <at> zip.com.au>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Sat, 09 Oct 2010 00:23:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Kevin Ryde <user42 <at> zip.com.au>
To: bug-gnu-emacs <at> gnu.org
Subject: 23.2; copyright-update on spanning copyright-limit
Date: Sat, 09 Oct 2010 11:25:37 +1100
If you're unlucky enough to have a copyright notice spanning the
`copyright-limit' position in the buffer then M-x copyright-update makes
a bit of a mess inserting the current year at the wrong place.  For
example,

    (progn
      (require 'copyright)
      (switch-to-buffer "foo")
      (erase-buffer)
      (insert (make-string (- copyright-limit 14) ?x) "\n"
              "\nCopyright 2006, 2007, 2008 Foo Bar\n\n")
      (copyright-update))

gives

    Copyright 20, 1006, 2007, 2008 Foo Bar

where I expected

    Copyright 2006, 2007, 2008, 2010 Foo Bar

I suppose the limit in the re-search-forward means only "Copyright 20"
is matched and the current year ", 10" inserted there.  Perhaps a fresh
`looking-at' or something would ensure the limit doesn't truncate the
optional-ness in the years part of the pattern.

I struck this in a short html file where the copyright line was actually
near the end, yet close enough to the start to be seen by
copyright-update with the copyright-at-end-flag false.  I suppose a
copyright-names-regexp might force a spanning line not to match, but I
had that empty.




In GNU Emacs 23.2.1 (i486-pc-linux-gnu, GTK+ Version 2.20.0)
 of 2010-05-16 on raven, modified by Debian
configured using `configure  '--build' 'i486-linux-gnu' '--build' 'i486-linux-gnu' '--prefix=/usr' '--sharedstatedir=/var/lib' '--libexecdir=/usr/lib' '--localstatedir=/var/lib' '--infodir=/usr/share/info' '--mandir=/usr/share/man' '--with-pop=yes' '--enable-locallisppath=/etc/emacs23:/etc/emacs:/usr/local/share/emacs/23.2/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/23.2/site-lisp:/usr/share/emacs/site-lisp:/usr/share/emacs/23.2/leim' '--with-x=yes' '--with-x-toolkit=gtk' '--with-toolkit-scroll-bars' 'build_alias=i486-linux-gnu' 'CFLAGS=-DDEBIAN -g -O2' 'LDFLAGS=-g' 'CPPFLAGS=''

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: en_AU
  value of $XMODIFIERS: nil
  locale-coding-system: iso-latin-1-unix
  default enable-multibyte-characters: t




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#7179; Package emacs. (Fri, 04 Mar 2016 15:35:20 GMT) Full text and rfc822 format available.

Message #8 received at 7179 <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Kevin Ryde <user42 <at> zip.com.au>
Cc: 7179 <at> debbugs.gnu.org
Subject: Re: bug#7179: 23.2; copyright-update on spanning copyright-limit
Date: Fri, 04 Mar 2016 14:40:07 +0000
Kevin Ryde <user42 <at> zip.com.au> writes:

> If you're unlucky enough to have a copyright notice spanning the
> `copyright-limit' position in the buffer then M-x copyright-update makes
> a bit of a mess inserting the current year at the wrong place.  For
> example,
>
>     (progn
>       (require 'copyright)
>       (switch-to-buffer "foo")
>       (erase-buffer)
>       (insert (make-string (- copyright-limit 14) ?x) "\n"
>               "\nCopyright 2006, 2007, 2008 Foo Bar\n\n")
>       (copyright-update))
>
> gives
>
>     Copyright 20, 1006, 2007, 2008 Foo Bar
>
> where I expected
>
>     Copyright 2006, 2007, 2008, 2010 Foo Bar

I can confirm that this is still present on the current Emacs trunk.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




Added tag(s) confirmed. Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Fri, 04 Mar 2016 15:35:26 GMT) Full text and rfc822 format available.

bug marked as fixed in version 28.1, send any further explanations to 7179 <at> debbugs.gnu.org and Kevin Ryde <user42 <at> zip.com.au> Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Sun, 18 Jul 2021 12:32:01 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#7179; Package emacs. (Sun, 18 Jul 2021 12:33:02 GMT) Full text and rfc822 format available.

Message #15 received at 7179 <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Kevin Ryde <user42 <at> zip.com.au>
Cc: 7179 <at> debbugs.gnu.org
Subject: Re: bug#7179: 23.2; copyright-update on spanning copyright-limit
Date: Sun, 18 Jul 2021 14:31:37 +0200
Kevin Ryde <user42 <at> zip.com.au> writes:

> If you're unlucky enough to have a copyright notice spanning the
> `copyright-limit' position in the buffer then M-x copyright-update makes
> a bit of a mess inserting the current year at the wrong place.  For
> example,
>
>     (progn
>       (require 'copyright)
>       (switch-to-buffer "foo")
>       (erase-buffer)
>       (insert (make-string (- copyright-limit 14) ?x) "\n"
>               "\nCopyright 2006, 2007, 2008 Foo Bar\n\n")
>       (copyright-update))
>
> gives
>
>     Copyright 20, 1006, 2007, 2008 Foo Bar
>
> where I expected
>
>     Copyright 2006, 2007, 2008, 2010 Foo Bar

This should now be fixed in Emacs 28.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Mon, 16 Aug 2021 11:24:06 GMT) Full text and rfc822 format available.

bug unarchived. Request was from "Basil L. Contovounesios" <contovob <at> tcd.ie> to control <at> debbugs.gnu.org. (Tue, 25 Jan 2022 18:18:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#7179; Package emacs. (Tue, 25 Jan 2022 18:35:01 GMT) Full text and rfc822 format available.

Message #22 received at 7179 <at> debbugs.gnu.org (full text, mbox):

From: "Basil L. Contovounesios" <contovob <at> tcd.ie>
To: Lars Ingebrigtsen <larsi <at> gnus.org>
Cc: Kevin Ryde <user42 <at> zip.com.au>, 7179 <at> debbugs.gnu.org
Subject: Re: bug#7179: 23.2; copyright-update on spanning copyright-limit
Date: Tue, 25 Jan 2022 20:33:46 +0200
Lars Ingebrigtsen [2021-07-18 14:31 +0200] wrote:

> Kevin Ryde <user42 <at> zip.com.au> writes:
>
>> If you're unlucky enough to have a copyright notice spanning the
>> `copyright-limit' position in the buffer then M-x copyright-update makes
>> a bit of a mess inserting the current year at the wrong place.  For
>> example,
>>
>>     (progn
>>       (require 'copyright)
>>       (switch-to-buffer "foo")
>>       (erase-buffer)
>>       (insert (make-string (- copyright-limit 14) ?x) "\n"
>>               "\nCopyright 2006, 2007, 2008 Foo Bar\n\n")
>>       (copyright-update))
>>
>> gives
>>
>>     Copyright 20, 1006, 2007, 2008 Foo Bar
>>
>> where I expected
>>
>>     Copyright 2006, 2007, 2008, 2010 Foo Bar
>
> This should now be fixed in Emacs 28.

Thanks, but the fix comes with the following regression when using
copyright-at-end-flag:

0. emacs -Q
1. (with-temp-buffer
     (dotimes (_ 2)
       (insert "Copyright 2021 FSF\n"))
     (require 'copyright)
     (let ((copyright-at-end-flag t)
           (copyright-query nil))
       (copyright-update))
     (buffer-string))
2. C-j

Expected result:
Copyright 2021 FSF
Copyright 2021, 2022 FSF

Actual result:
Copyright 2021, 2022 FSF
Copyright 2021 FSF

-- 
Basil

In GNU Emacs 28.0.91 (build 1, x86_64-pc-linux-gnu)
 of 2022-01-25 built on tia
Repository revision: 7eca80b20444f7bd7bcb6a66a9054e029f0e7013
Repository branch: wt/emacs-28-nox
System Description: Debian GNU/Linux bookworm/sid

Configured using:
 'configure 'CC=ccache gcc' 'CFLAGS=-O2 -march=native' --config-cache
 --prefix=/home/blc/.local --program-suffix=-28-nox
 --enable-checking=structs --with-file-notification=yes
 --with-x-toolkit=no --without-x'

Configured features:
ACL DBUS GMP GNUTLS GPM JSON LCMS2 LIBSELINUX LIBSYSTEMD LIBXML2 MODULES
NOTIFY INOTIFY PDUMPER SECCOMP SOUND THREADS XIM ZLIB

Important settings:
  value of $LANG: en_IE.UTF-8
  value of $XMODIFIERS: @im=ibus
  locale-coding-system: utf-8-unix

Major mode: Lisp Interaction

Minor modes in effect:
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  indent-tabs-mode: t
  transient-mark-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message rmc puny dired dired-loaddefs
rfc822 mml mml-sec epa derived epg rfc6068 epg-config gnus-util rmail
tool-bar rmail-loaddefs auth-source cl-seq eieio eieio-core cl-macs
eieio-loaddefs password-cache json map text-property-search time-date
subr-x seq mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev
gmm-utils mailheader cl-loaddefs cl-lib sendmail rfc2047 rfc2045
ietf-drums mm-util mail-prsvr mail-utils copyright term/xterm xterm
byte-opt gv bytecomp byte-compile cconv regexp-opt iso-transl tooltip
eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type
elisp-mode tabulated-list replace newcomment text-mode lisp-mode
prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu
timer select mouse jit-lock font-lock syntax font-core term/tty-colors
frame minibuffer cl-generic cham georgian utf-8-lang misc-lang
vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932
hebrew greek romanian slovak czech european ethiopic indian cyrillic
chinese composite emoji-zwj charscript charprop case-table epa-hook
jka-cmpr-hook help simple abbrev obarray cl-preloaded nadvice button
loaddefs faces cus-face macroexp files window text-properties overlay
sha1 md5 base64 format env code-pages mule custom widget
hashtable-print-readable backquote threads dbusbind inotify lcms2
multi-tty make-network-process emacs)

Memory information:
((conses 16 55789 6257)
 (symbols 48 6656 1)
 (strings 32 18347 1803)
 (string-bytes 1 607048)
 (vectors 16 10694)
 (vector-slots 8 126491 7164)
 (floats 8 24 35)
 (intervals 56 208 7)
 (buffers 992 10))




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#7179; Package emacs. (Wed, 26 Jan 2022 14:06:02 GMT) Full text and rfc822 format available.

Message #25 received at 7179 <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: "Basil L. Contovounesios" <contovob <at> tcd.ie>
Cc: Kevin Ryde <user42 <at> zip.com.au>, 7179 <at> debbugs.gnu.org
Subject: Re: bug#7179: 23.2; copyright-update on spanning copyright-limit
Date: Wed, 26 Jan 2022 15:04:35 +0100
"Basil L. Contovounesios" <contovob <at> tcd.ie> writes:

> Thanks, but the fix comes with the following regression when using
> copyright-at-end-flag:

This should now be fixed in emacs-28.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




bug marked as fixed in version 28.1, send any further explanations to 7179 <at> debbugs.gnu.org and Kevin Ryde <user42 <at> zip.com.au> Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Wed, 26 Jan 2022 14:06:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#7179; Package emacs. (Thu, 27 Jan 2022 18:46:02 GMT) Full text and rfc822 format available.

Message #30 received at 7179 <at> debbugs.gnu.org (full text, mbox):

From: "Basil L. Contovounesios" <contovob <at> tcd.ie>
To: Lars Ingebrigtsen <larsi <at> gnus.org>
Cc: Kevin Ryde <user42 <at> zip.com.au>, 7179 <at> debbugs.gnu.org
Subject: Re: bug#7179: 23.2; copyright-update on spanning copyright-limit
Date: Thu, 27 Jan 2022 20:45:22 +0200
Lars Ingebrigtsen [2022-01-26 15:04 +0100] wrote:

> "Basil L. Contovounesios" <contovob <at> tcd.ie> writes:
>
>> Thanks, but the fix comes with the following regression when using
>> copyright-at-end-flag:
>
> This should now be fixed in emacs-28.

Indeed, thanks!

-- 
Basil




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Fri, 25 Feb 2022 12:24:15 GMT) Full text and rfc822 format available.

This bug report was last modified 3 years and 174 days ago.

Previous Next


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