Mercurial > emacs
annotate src/indent.h @ 61126:c0aa521e0ca7
Revision: miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-220
Merge from gnus--rel--5.10
Patches applied:
* gnus--rel--5.10 (patch 45-52)
- Update from CVS
- Update from CVS: texi Makefile.in CVS keyw cruft
- Update from CVS: ChangeLog tweaks
2005-03-29 Reiner Steib <Reiner.Steib@gmx.de>
* etc/gnus-refcard.tex, etc/gnus-logo.eps: New files.
2005-03-25 Katsumi Yamaoka <yamaoka@jpl.org>
* lisp/gnus/message.el (message-resend): Bind rfc2047-encode-encoded-words.
* lisp/gnus/mm-util.el (mm-replace-in-string): New function.
(mm-xemacs-find-mime-charset-1): Ignore errors while loading
latin-unity, which cannot be used with XEmacs 21.1.
* lisp/gnus/rfc2047.el (rfc2047-encode-function-alist): Rename from
rfc2047-encoding-function-alist in order to avoid conflicting with
the old version.
(rfc2047-encode-message-header): Remove useless goto-char.
(rfc2047-encodable-p): Don't move point.
(rfc2047-syntax-table): Treat `(' and `)' as is.
(rfc2047-encode-region): Concatenate words containing non-ASCII
characters in structured fields; don't encode space-delimited
ASCII words even in unstructured fields; don't break words at
char-category boundaries; encode encoded words in structured
fields; treat text within parentheses as special; show the
original text when error has occurred; move point to the end of
the region after encoding, suggested by IRIE Tetsuya
<irie@t.email.ne.jp>; treat backslash-quoted characters as
non-special; check carefully whether to encode special characters;
fix some kind of misconfigured headers; signal a real error if
debug-on-quit or debug-on-error is non-nil; don't infloop,
suggested by Hiroshi Fujishima <pooh@nature.tsukuba.ac.jp>; assume
the close parenthesis may be included in the encoded word; encode
bogus delimiters.
(rfc2047-encode-string): Use mm-with-multibyte-buffer.
(rfc2047-encode-max-chars): New variable.
(rfc2047-encode-1): New function.
(rfc2047-encode): Use it; encode text so that it occupies the
maximum width within 76-column; work correctly on Q encoding for
iso-2022-* charsets; fold the line before encoding; don't append a
space if the encoded word includes close parenthesis.
(rfc2047-fold-region): Use existing whitespace for LWSP; make it
sure not to break a line just after the header name.
(rfc2047-b-encode-region): Remove.
(rfc2047-b-encode-string): New function.
(rfc2047-q-encode-region): Remove.
(rfc2047-q-encode-string): New function.
(rfc2047-encode-parameter): New function.
(rfc2047-encoded-word-regexp): Don't use shy group.
(rfc2047-decode-region): Follow rfc2047-encoded-word-regexp change.
(rfc2047-parse-and-decode): Ditto.
(rfc2047-decode): Treat the ascii coding-system as raw-text by
default.
2005-03-25 Lars Magne Ingebrigtsen <larsi@gnus.org>
* lisp/gnus/rfc2047.el (rfc2047-encode-encoded-words): New variable.
(rfc2047-field-value): Strip props.
(rfc2047-encode-message-header): Disabled header folding -- not
all headers can be folded, and this should be done by the message
composition mode. Probably. I think.
(rfc2047-encodable-p): Say that =? needs encoding.
(rfc2047-encode-region): Encode =? strings.
2005-03-25 Jesper Harder <harder@ifa.au.dk>
* lisp/gnus/rfc2047.el (rfc2047-encoded-word-regexp): Support RFC 2231
language tags; remove unnecessary '+'. Reported by Stefan Wiens
<s.wi@gmx.net>.
(rfc2047-decode-string): Don't cons a string unnecessarily.
(rfc2047-parse-and-decode, rfc2047-decode): Use a character for
the encoding to avoid consing a string.
(rfc2047-decode): Use mm-subst-char-in-string instead of
mm-replace-chars-in-string.
2005-03-25 TSUCHIYA Masatoshi <tsuchiya@namazu.org>
* lisp/gnus/rfc2047.el (rfc2047-encode): Use uppercase letters to specify
encodings of MIME-encoded words, in order to improve
interoperability with several broken MUAs.
2005-03-21 Reiner Steib <Reiner.Steib@gmx.de>
* lisp/gnus/gnus-srvr.el (gnus-browse-select-group): Add NUMBER argument and
pass it to `gnus-browse-read-group'.
(gnus-browse-read-group): Add NUMBER argument and pass it to
`gnus-group-read-ephemeral-group'.
* lisp/gnus/gnus-group.el (gnus-group-read-ephemeral-group): Add NUMBER
argument and pass it to `gnus-group-read-group'.
2005-03-19 Aidan Kehoe <kehoea@parhasard.net>
* lisp/gnus/mm-util.el (mm-xemacs-find-mime-charset): Only call
mm-xemacs-find-mime-charset-1 if we have the mule feature
available at runtime.
2005-03-25 Katsumi Yamaoka <yamaoka@jpl.org>
* man/emacs-mime.texi (Display Customization): Markup fixes.
(rfc2047): Update.
2005-03-23 Reiner Steib <Reiner.Steib@gmx.de>
* man/gnus-faq.texi: Replaced with auto-generated version.
author | Miles Bader <miles@gnu.org> |
---|---|
date | Wed, 30 Mar 2005 08:14:32 +0000 |
parents | 695cf19ef79e |
children | a8fa7c632ee4 375f2633d815 |
rev | line source |
---|---|
484 | 1 /* Definitions for interface to indent.c |
2 Copyright (C) 1985, 1986 Free Software Foundation, Inc. | |
3 | |
4 This file is part of GNU Emacs. | |
5 | |
6 GNU Emacs is free software; you can redistribute it and/or modify | |
7 it under the terms of the GNU General Public License as published by | |
12244 | 8 the Free Software Foundation; either version 2, or (at your option) |
484 | 9 any later version. |
10 | |
11 GNU Emacs is distributed in the hope that it will be useful, | |
12 but WITHOUT ANY WARRANTY; without even the implied warranty of | |
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
14 GNU General Public License for more details. | |
15 | |
16 You should have received a copy of the GNU General Public License | |
17 along with GNU Emacs; see the file COPYING. If not, write to | |
14186
ee40177f6c68
Update FSF's address in the preamble.
Erik Naggum <erik@naggum.no>
parents:
12244
diff
changeset
|
18 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, |
ee40177f6c68
Update FSF's address in the preamble.
Erik Naggum <erik@naggum.no>
parents:
12244
diff
changeset
|
19 Boston, MA 02111-1307, USA. */ |
484 | 20 |
17018
f13a67b3ec8d
(struct position): New member tab_offset to accumulate tab offset.
Karl Heuer <kwzh@gnu.org>
parents:
16403
diff
changeset
|
21 /* We introduce new member `tab_offset'. We need it because of the |
f13a67b3ec8d
(struct position): New member tab_offset to accumulate tab offset.
Karl Heuer <kwzh@gnu.org>
parents:
16403
diff
changeset
|
22 existence of wide-column characters. There is a case that the |
f13a67b3ec8d
(struct position): New member tab_offset to accumulate tab offset.
Karl Heuer <kwzh@gnu.org>
parents:
16403
diff
changeset
|
23 line-break occurs at a wide-column character and the number of |
f13a67b3ec8d
(struct position): New member tab_offset to accumulate tab offset.
Karl Heuer <kwzh@gnu.org>
parents:
16403
diff
changeset
|
24 colums of the line gets less than width. |
f13a67b3ec8d
(struct position): New member tab_offset to accumulate tab offset.
Karl Heuer <kwzh@gnu.org>
parents:
16403
diff
changeset
|
25 |
f13a67b3ec8d
(struct position): New member tab_offset to accumulate tab offset.
Karl Heuer <kwzh@gnu.org>
parents:
16403
diff
changeset
|
26 Example (where W_ stands for a wide-column character): |
f13a67b3ec8d
(struct position): New member tab_offset to accumulate tab offset.
Karl Heuer <kwzh@gnu.org>
parents:
16403
diff
changeset
|
27 ---------- |
f13a67b3ec8d
(struct position): New member tab_offset to accumulate tab offset.
Karl Heuer <kwzh@gnu.org>
parents:
16403
diff
changeset
|
28 abcdefgh\\ |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
25026
diff
changeset
|
29 W_ |
17018
f13a67b3ec8d
(struct position): New member tab_offset to accumulate tab offset.
Karl Heuer <kwzh@gnu.org>
parents:
16403
diff
changeset
|
30 ---------- |
f13a67b3ec8d
(struct position): New member tab_offset to accumulate tab offset.
Karl Heuer <kwzh@gnu.org>
parents:
16403
diff
changeset
|
31 |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
25026
diff
changeset
|
32 To handle this case, we should not calculate the tab offset by |
17018
f13a67b3ec8d
(struct position): New member tab_offset to accumulate tab offset.
Karl Heuer <kwzh@gnu.org>
parents:
16403
diff
changeset
|
33 tab_offset += width; |
f13a67b3ec8d
(struct position): New member tab_offset to accumulate tab offset.
Karl Heuer <kwzh@gnu.org>
parents:
16403
diff
changeset
|
34 |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
25026
diff
changeset
|
35 Instead, we must remember tab_offset of the line. |
17018
f13a67b3ec8d
(struct position): New member tab_offset to accumulate tab offset.
Karl Heuer <kwzh@gnu.org>
parents:
16403
diff
changeset
|
36 |
f13a67b3ec8d
(struct position): New member tab_offset to accumulate tab offset.
Karl Heuer <kwzh@gnu.org>
parents:
16403
diff
changeset
|
37 */ |
484 | 38 |
39 struct position | |
40 { | |
41 int bufpos; | |
20540
64b4e34d34c2
(struct position): New field bytepos.
Richard M. Stallman <rms@gnu.org>
parents:
17018
diff
changeset
|
42 int bytepos; |
484 | 43 int hpos; |
44 int vpos; | |
45 int prevhpos; | |
46 int contin; | |
16403
a388d0109b9e
(struct position): New field ovstring_chars_done.
Richard M. Stallman <rms@gnu.org>
parents:
14186
diff
changeset
|
47 /* Number of characters we have already handled |
a388d0109b9e
(struct position): New field ovstring_chars_done.
Richard M. Stallman <rms@gnu.org>
parents:
14186
diff
changeset
|
48 from the before and after strings at this position. */ |
a388d0109b9e
(struct position): New field ovstring_chars_done.
Richard M. Stallman <rms@gnu.org>
parents:
14186
diff
changeset
|
49 int ovstring_chars_done; |
17018
f13a67b3ec8d
(struct position): New member tab_offset to accumulate tab offset.
Karl Heuer <kwzh@gnu.org>
parents:
16403
diff
changeset
|
50 int tab_offset; |
484 | 51 }; |
52 | |
25026
488e6b8dc9ae
(toplevel): Add function prototypes.
Gerd Moellmann <gerd@gnu.org>
parents:
20540
diff
changeset
|
53 struct position *compute_motion P_ ((int, int, int, int, int, int, int, |
488e6b8dc9ae
(toplevel): Add function prototypes.
Gerd Moellmann <gerd@gnu.org>
parents:
20540
diff
changeset
|
54 int, int, int, struct window *)); |
488e6b8dc9ae
(toplevel): Add function prototypes.
Gerd Moellmann <gerd@gnu.org>
parents:
20540
diff
changeset
|
55 struct position *vmotion P_ ((int, int, struct window *)); |
488e6b8dc9ae
(toplevel): Add function prototypes.
Gerd Moellmann <gerd@gnu.org>
parents:
20540
diff
changeset
|
56 int skip_invisible P_ ((int, int *, int, Lisp_Object)); |
484 | 57 |
58 /* Value of point when current_column was called */ | |
59 extern int last_known_column_point; | |
9408
99429d6c8b4e
* indent.h (disptab_matches_widthtab, recompute_width_table): New
Jim Blandy <jimb@redhat.com>
parents:
484
diff
changeset
|
60 |
99429d6c8b4e
* indent.h (disptab_matches_widthtab, recompute_width_table): New
Jim Blandy <jimb@redhat.com>
parents:
484
diff
changeset
|
61 /* Functions for dealing with the column cache. */ |
99429d6c8b4e
* indent.h (disptab_matches_widthtab, recompute_width_table): New
Jim Blandy <jimb@redhat.com>
parents:
484
diff
changeset
|
62 |
99429d6c8b4e
* indent.h (disptab_matches_widthtab, recompute_width_table): New
Jim Blandy <jimb@redhat.com>
parents:
484
diff
changeset
|
63 /* Return true iff the display table DISPTAB specifies the same widths |
99429d6c8b4e
* indent.h (disptab_matches_widthtab, recompute_width_table): New
Jim Blandy <jimb@redhat.com>
parents:
484
diff
changeset
|
64 for characters as WIDTHTAB. We use this to decide when to |
99429d6c8b4e
* indent.h (disptab_matches_widthtab, recompute_width_table): New
Jim Blandy <jimb@redhat.com>
parents:
484
diff
changeset
|
65 invalidate the buffer's column_cache. */ |
25026
488e6b8dc9ae
(toplevel): Add function prototypes.
Gerd Moellmann <gerd@gnu.org>
parents:
20540
diff
changeset
|
66 int disptab_matches_widthtab P_ ((struct Lisp_Char_Table *disptab, |
488e6b8dc9ae
(toplevel): Add function prototypes.
Gerd Moellmann <gerd@gnu.org>
parents:
20540
diff
changeset
|
67 struct Lisp_Vector *widthtab)); |
9408
99429d6c8b4e
* indent.h (disptab_matches_widthtab, recompute_width_table): New
Jim Blandy <jimb@redhat.com>
parents:
484
diff
changeset
|
68 |
99429d6c8b4e
* indent.h (disptab_matches_widthtab, recompute_width_table): New
Jim Blandy <jimb@redhat.com>
parents:
484
diff
changeset
|
69 /* Recompute BUF's width table, using the display table DISPTAB. */ |
25026
488e6b8dc9ae
(toplevel): Add function prototypes.
Gerd Moellmann <gerd@gnu.org>
parents:
20540
diff
changeset
|
70 void recompute_width_table P_ ((struct buffer *buf, |
488e6b8dc9ae
(toplevel): Add function prototypes.
Gerd Moellmann <gerd@gnu.org>
parents:
20540
diff
changeset
|
71 struct Lisp_Char_Table *disptab)); |
488e6b8dc9ae
(toplevel): Add function prototypes.
Gerd Moellmann <gerd@gnu.org>
parents:
20540
diff
changeset
|
72 |
488e6b8dc9ae
(toplevel): Add function prototypes.
Gerd Moellmann <gerd@gnu.org>
parents:
20540
diff
changeset
|
73 |
52401 | 74 /* arch-tag: f9feb373-5bff-4f4f-9198-94805d00cfd7 |
75 (do not change this comment) */ |