all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: "Drew Adams" <drew.adams@oracle.com>
To: 13670@debbugs.gnu.org
Subject: bug#13670: 24.3.50; `autoload-generate-file-autoloads' off-by-one bug
Date: Sat, 9 Feb 2013 16:03:30 -0800	[thread overview]
Message-ID: <8E0945F19B9F4E37BA18A7A2232F6411@us.oracle.com> (raw)

This source code line of `autoload-generate-file-autoloads':
 
 (if (= (char-after (1+ (point))) ? )
 
should be replaced by this:
 
 (if (= (char-after (point)) ? )
 
The aim is to preserve the whitespace that occurs after a separating
whitespace character, not to preserve also that separating character.
 
`;;;###autoload' cannot be followed by normal text, or else the cookie
is not recognized as such.  But you can follow it by a space and then
the text that you want.  The space is not part of the text to be
copied to the output file; it is only a separator for parsing the
cookie.
 
E.g. Suppose you want to have a multiline doc string, such as this:
 
"Icicle mode: Toggle minibuffer input completion and cycling.
Non-nil prefix ARG turns mode on if ARG > 0, else off.
It is a global minor mode.  It binds minibuffer keys."
 
You can use cookies like this:
 
;;;###autoload (autoload 'icicle-mode "icicles" 
;;;###autoload"Icicle mode: Toggle minibuffer input completion and cycling.
;;;###autoload Non-nil prefix ARG turns mode on if ARG > 0, else off.
;;;###autoload It is a global minor mode.  It binds minibuffer keys."
;;;###autoload t nil)
 
But with the bugged code that preserves the space separator as if it
were part of the doc string, the result is this:
 
(autoload 'icicle-mode "icicles" 
"Icicle mode: Toggle minibuffer input completion and cycling.
 Non-nil prefix ARG turns mode on if ARG > 0, else off.
 It is a global minor mode.  It binds minibuffer keys."
 t nil)
 
which gives the erroneous doc string:
 
"Icicle mode: Toggle minibuffer input completion and cycling.
 Non-nil prefix ARG turns mode on if ARG > 0, else off.
 It is a global minor mode.  It binds minibuffer keys."
 
With the fix, the result is correct:
 
(autoload 'icicle-mode "icicles" 
"Icicle mode: Toggle minibuffer input completion and cycling.
Non-nil prefix ARG turns mode on if ARG > 0, else off.
It is a global minor mode.  It binds minibuffer keys."
t nil)
 
Doc string:
 
"Icicle mode: Toggle minibuffer input completion and cycling.
Non-nil prefix ARG turns mode on if ARG > 0, else off.
It is a global minor mode.  It binds minibuffer keys."
 
However, I see that this bug (as I see it) dates back to at least
Emacs 20.7.  So if I am wrong that this is a bug, please explain
how to get proper multiline doc strings.
 
In GNU Emacs 24.3.50.1 (i386-mingw-nt5.1.2600)
 of 2013-02-08 on VBOX-W7
Bzr revision: 111700 monnier@iro.umontreal.ca-20130208174209-vpjpdh4qipaceoh5
Windowing system distributor `Microsoft Corp.', version 5.1.2600
Configured using:
 `configure --with-gcc (4.7) --no-opt --enable-checking --cflags
 -IC:/emacs/libs/libXpm-3.5.10/include -IC:/emacs/libs/libXpm-3.5.10/src
 -IC:/emacs/libs/libpng-dev_1.4.3-1_win32/include
 -IC:/emacs/libs/zlib-dev_1.2.5-2_win32/include
 -IC:/emacs/libs/giflib-4.1.4-1-lib/include
 -IC:/emacs/libs/jpeg-6b-4-lib/include
 -IC:/emacs/libs/tiff-3.8.2-1-lib/include
 -IC:/emacs/libs/libxml2-2.7.8-w32-bin/include/libxml2
 -IC:/emacs/libs/gnutls-3.1.5-w32/include
 -IC:/emacs/libs/libiconv-1.14-2-mingw32-dev/include'
 






             reply	other threads:[~2013-02-10  0:03 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-02-10  0:03 Drew Adams [this message]
2016-04-28 22:29 ` bug#13670: 24.3.50; `autoload-generate-file-autoloads' off-by-one bug Lars Ingebrigtsen
2016-04-29 16:11   ` Drew Adams
2016-05-01 15:34     ` Michael Heerdegen
2016-05-01 16:11       ` Drew Adams

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=8E0945F19B9F4E37BA18A7A2232F6411@us.oracle.com \
    --to=drew.adams@oracle.com \
    --cc=13670@debbugs.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.