all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* bug#7179: 23.2; copyright-update on spanning copyright-limit
@ 2010-10-09  0:25 Kevin Ryde
  2016-03-04 14:40 ` Lars Ingebrigtsen
  2021-07-18 12:31 ` Lars Ingebrigtsen
  0 siblings, 2 replies; 6+ messages in thread
From: Kevin Ryde @ 2010-10-09  0:25 UTC (permalink / raw)
  To: 7179

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





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#7179: 23.2; copyright-update on spanning copyright-limit
  2010-10-09  0:25 bug#7179: 23.2; copyright-update on spanning copyright-limit Kevin Ryde
@ 2016-03-04 14:40 ` Lars Ingebrigtsen
  2021-07-18 12:31 ` Lars Ingebrigtsen
  1 sibling, 0 replies; 6+ messages in thread
From: Lars Ingebrigtsen @ 2016-03-04 14:40 UTC (permalink / raw)
  To: Kevin Ryde; +Cc: 7179

Kevin Ryde <user42@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





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#7179: 23.2; copyright-update on spanning copyright-limit
  2010-10-09  0:25 bug#7179: 23.2; copyright-update on spanning copyright-limit Kevin Ryde
  2016-03-04 14:40 ` Lars Ingebrigtsen
@ 2021-07-18 12:31 ` Lars Ingebrigtsen
  2022-01-25 18:33   ` Basil L. Contovounesios via Bug reports for GNU Emacs, the Swiss army knife of text editors
  1 sibling, 1 reply; 6+ messages in thread
From: Lars Ingebrigtsen @ 2021-07-18 12:31 UTC (permalink / raw)
  To: Kevin Ryde; +Cc: 7179

Kevin Ryde <user42@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





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#7179: 23.2; copyright-update on spanning copyright-limit
  2021-07-18 12:31 ` Lars Ingebrigtsen
@ 2022-01-25 18:33   ` Basil L. Contovounesios via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2022-01-26 14:04     ` Lars Ingebrigtsen
  0 siblings, 1 reply; 6+ messages in thread
From: Basil L. Contovounesios via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-01-25 18:33 UTC (permalink / raw)
  To: Lars Ingebrigtsen; +Cc: Kevin Ryde, 7179

Lars Ingebrigtsen [2021-07-18 14:31 +0200] wrote:

> Kevin Ryde <user42@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))





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#7179: 23.2; copyright-update on spanning copyright-limit
  2022-01-25 18:33   ` Basil L. Contovounesios via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2022-01-26 14:04     ` Lars Ingebrigtsen
  2022-01-27 18:45       ` Basil L. Contovounesios via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 6+ messages in thread
From: Lars Ingebrigtsen @ 2022-01-26 14:04 UTC (permalink / raw)
  To: Basil L. Contovounesios; +Cc: Kevin Ryde, 7179

"Basil L. Contovounesios" <contovob@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





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#7179: 23.2; copyright-update on spanning copyright-limit
  2022-01-26 14:04     ` Lars Ingebrigtsen
@ 2022-01-27 18:45       ` Basil L. Contovounesios via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 0 replies; 6+ messages in thread
From: Basil L. Contovounesios via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2022-01-27 18:45 UTC (permalink / raw)
  To: Lars Ingebrigtsen; +Cc: Kevin Ryde, 7179

Lars Ingebrigtsen [2022-01-26 15:04 +0100] wrote:

> "Basil L. Contovounesios" <contovob@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





^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2022-01-27 18:45 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-10-09  0:25 bug#7179: 23.2; copyright-update on spanning copyright-limit Kevin Ryde
2016-03-04 14:40 ` Lars Ingebrigtsen
2021-07-18 12:31 ` Lars Ingebrigtsen
2022-01-25 18:33   ` Basil L. Contovounesios via Bug reports for GNU Emacs, the Swiss army knife of text editors
2022-01-26 14:04     ` Lars Ingebrigtsen
2022-01-27 18:45       ` Basil L. Contovounesios via Bug reports for GNU Emacs, the Swiss army knife of text editors

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.