aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGerd Moellmann1999-10-31 02:04:50 +0000
committerGerd Moellmann1999-10-31 02:04:50 +0000
commit7843e09cdc402f6f9ea1a7f549180dff542d1cc0 (patch)
tree8cba80246b57515ea07422729edbce69e73d3e90 /src
parent80c6cb1ff0ab4241f97784fedbe7d65be3dfb824 (diff)
downloademacs-7843e09cdc402f6f9ea1a7f549180dff542d1cc0.tar.gz
emacs-7843e09cdc402f6f9ea1a7f549180dff542d1cc0.zip
(Flength): Unroll loop over lists.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog8
-rw-r--r--src/fns.c13
2 files changed, 18 insertions, 3 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 234d50b4dd9..ab6e6771dce 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,11 @@
11999-10-31 Gerd Moellmann <gerd@gnu.org>
2
3 * fns.c (Flength): Unroll loop over lists.
4
5 * xdisp.c (append_space): Return non-zero if space was appended.
6 (display_line): Set charpos of first glyph to -1 only if that
7 glyph is the space added by append_glyph.
8
11999-10-29 Kenichi Handa <handa@etl.go.jp> 91999-10-29 Kenichi Handa <handa@etl.go.jp>
2 10
3 * coding.c (code_convert_region): Update `dst' correctly. 11 * coding.c (code_convert_region): Update `dst' correctly.
diff --git a/src/fns.c b/src/fns.c
index 148c03dca5f..5e70a36831c 100644
--- a/src/fns.c
+++ b/src/fns.c
@@ -148,11 +148,18 @@ To get the number of bytes, use `string-bytes'")
148 XSETFASTINT (val, XVECTOR (sequence)->size & PSEUDOVECTOR_SIZE_MASK); 148 XSETFASTINT (val, XVECTOR (sequence)->size & PSEUDOVECTOR_SIZE_MASK);
149 else if (CONSP (sequence)) 149 else if (CONSP (sequence))
150 { 150 {
151 for (i = 0; CONSP (sequence); ++i) 151 i = 0;
152 while (CONSP (sequence))
152 { 153 {
153 if ((i & 0xff) == 0)
154 QUIT;
155 sequence = XCDR (sequence); 154 sequence = XCDR (sequence);
155 ++i;
156
157 if (!CONSP (sequence))
158 break;
159
160 sequence = XCDR (sequence);
161 ++i;
162 QUIT;
156 } 163 }
157 164
158 if (!NILP (sequence)) 165 if (!NILP (sequence))