Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse code

Merge branch 'master' of git://git.savannah.gnu.org/emacs

  • Loading branch information...
commit 985439b5ba41b207236ec2ed47e61c6ece91a4d9 2 parents f4105a5 + db20685
Daisuke Murase authored
102 admin/notes/bugtracker
@@ -43,20 +43,16 @@ new report.
43 43 Gnus users can add the following to message-dont-reply-to-names;
44 44 similarly with Rmail and rmail-dont-reply-to-names:
45 45
46   -[FIXME needs updating for debbugs.gnu.org]
47   -
48 46 "\\(emacs-pretest-bug\\|bug-gnu-emacs\\)@gnu\\.org\\|\
49   -\\(\\(submit\\|control\\|owner\\)@emacsbugs\\.\\|bug-submit-list@\\)\
50   -donarmstrong\\.com"
51   -
52   -The "bug-submit-list@donarmstrong.com" and
53   -"owner@debbugs.gnu.org" entries are there because they can
54   -appear in the "Resent-To" and "Resent-CC" headers, respectively. For a
55   -long time Rmail erroneously included these headers in replies. If you
56   -correspond with an Rmail user on a bug, these addresses may end up in
57   -the Cc. Mailing to them does nothing but create duplicates and errors.
58   -(It is possible you might want to have a dialog with the owner
59   -address, outside of normal bug reporting.)
  47 +\\(submit\\|control\\|owner\\)@debbugs\\.gnu\\.org"
  48 +
  49 +The "owner@debbugs.gnu.org" entry is there because it appears in the
  50 +"Resent-To" header. For a long time Rmail erroneously included such
  51 +headers in replies. If you correspond with an Rmail user on a bug,
  52 +these addresses may end up in the Cc. Mailing to them does nothing
  53 +but create duplicates and errors. (It is possible you might want to
  54 +have a dialog with the owner address, outside of normal bug
  55 +reporting.)
60 56
61 57 ** When reporting a bug, to send a Cc to another address
62 58 (e.g. bug-cc-mode@gnu.org), do NOT just use a Cc: header.
@@ -86,18 +82,16 @@ remains in the To: address. They reach the bug list by being resent.
86 82
87 83 Mails arriving at the bug list have the following Resent-* headers:
88 84
89   -[ FIXME needs updating for debbugs.gnu.org ]
90   -
91 85 Resent-From: person who submitted the bug
92   -Resent-To: bug-submit-list@donarmstrong.com
  86 +Resent-To: owner@debbugs.gnu.org
93 87 Resent-CC: maintainer email address, plus any X-Debbugs-CC: entries
94 88
95   -The "maintainer email address" is "Emacs Bugs <bug-gnu-emacs@gnu.org>"
96   -in most cases.
  89 +The "maintainer email address" is "bug-gnu-emacs@gnu.org" in most cases.
97 90
98 91 They also have:
99 92
100   -Reply-To: bug submitter, 123@debbugs.gnu.org
  93 +Reply-To: bug submitter, 123@debbugs.gnu.org
  94 +Mail-Followup-To: bug submitter, 123@debbugs.gnu.org
101 95
102 96 ** To not get acknowledgement mail from the tracker,
103 97 add an "X-Debbugs-No-Ack:" header (with any value). If you use Gnus,
@@ -390,3 +384,73 @@ http://lists.gnu.org/archive/html/emacs-devel/2009-11/msg00440.html
390 384 (bug-reference-mode 1)))
391 385
392 386 and you can click on the bug number in the subject header.
  387 +
  388 +
  389 +* Technical Notes
  390 +
  391 +The following are technical notes on how it works. These are just for
  392 +reference, you don't need to read these as a user of the system.
  393 +
  394 +Getting mail from the Emacs bug list into the tracker requires the
  395 +assistance of sysadmin at gnu.org. The test tracker set-up was, I
  396 +think, [gnu.org #359140]:
  397 +http://lists.gnu.org/archive/html/savannah-hackers/2008-03/msg00074.html
  398 +http://lists.gnu.org/archive/html/savannah-hackers/2008-04/msg00034.html
  399 +
  400 +** The debbugs.gnu.org setup was handled in [gnu.org #510605].
  401 +There are two pieces (replace AT with @ in the following):
  402 +
  403 +i) fencepost has an /etc/aliases entry:
  404 +emacs-pretest-bug: submit AT debbugs.gnu.org
  405 +
  406 +ii) An exim router:
  407 +emacsbugs_router:
  408 + driver = redirect
  409 + senders = !Debian-debbugs AT debbugs.gnu.org
  410 + local_parts = bug-gnu-emacs
  411 + domains = gnu.org
  412 + data = submit AT debbugs.gnu.org
  413 +
  414 +This says, for mail arriving at bug-gnu-emacs, only allow it through
  415 +to the list if it was sent from debbugs.gnu.org. Otherwise, send
  416 +it to the submit address at the bug-tracker.
  417 +
  418 +FIXME There's probably an issue with the mail-news gateway here that
  419 +still needs to be addressed (bug#936).
  420 +
  421 +** fencepost's /etc/exim4/local_domains configuration needs a line
  422 +!debbugs.gnu.org adding [gnu.org #503532]. Otherwise people on
  423 +fencepost can't report bugs, since *.gnu.org addresses are assumed to
  424 +be handled locally on fencepost, unless otherwise specified.
  425 +
  426 +** All mail arriving at debbugs.gnu.org is first run through SpamAssassin.
  427 +Obvious spam is rejected, the rest is sent on to the moderated list
  428 +debbugs-submit. Approved mail is passed on to the tracker.
  429 +
  430 +NOTE: An alternative to this would be to use listhelper AT nongnu.org
  431 +as a moderator address. Eg the emacs-bug-tracker list uses this.
  432 +It does basic spam processing on the moderator requests and
  433 +automatically rejects the obviously bogus ones. Someone still has to
  434 +accept the good ones though. The advantage of this would not be having
  435 +to run and tune our own spam filter. See
  436 +http://savannah.nongnu.org/projects/listhelper
  437 +
  438 +An "X-Debbugs-Envelope-To" header is used to keep track of where the
  439 +mail was actually bound for:
  440 +http://lists.gnu.org/archive/html/emacs-devel/2009-11/msg01211.html
  441 +
  442 +** Mailing list recipient/sender filters.
  443 +The following mailman filters are useful to stop messages being
  444 +needlessly held for moderation:
  445 +
  446 +*** debbugs-submit
  447 +(quiet|control|submit)@(debbugs\.gnu\.org|emacsbugs\.donarmstrong\.com)
  448 +[0-9]+(-done|-quiet|-subscribe)?@(debbugs\.gnu\.org|emacsbugs\.donarmstrong\.com)
  449 +(bug-gnu-emacs|emacs-pretest-bug)@gnu\.org
  450 +
  451 +*** emacs-bug-tracker
  452 +sender: bug-gnu-emacs AT gnu.org
  453 +recipient: emacs-bug-tracker AT debbugs\.gnu\.org
  454 +
  455 +The latter is because that is the address that debbugs actually sends to.
  456 +An /etc/aliases entry redirects it to the real emacs-bug-tracker address.
8 lisp/ChangeLog
... ... @@ -1,3 +1,11 @@
  1 +2009-12-18 Ulf Jasper <ulf.jasper@web.de>
  2 +
  3 + * calendar/icalendar.el (icalendar--convert-tz-offset): Fixed
  4 + timezone names.
  5 + (icalendar--convert-tz-offset): Fixed the "last-day-problem".
  6 + (icalendar--add-diary-entry): Remove the trailing blank that
  7 + diary-make-entry inserts.
  8 +
1 9 2009-12-17 Michael Albinus <michael.albinus@gmx.de>
2 10
3 11 Make `file-expand-wildcards' work for remote files.
12 lisp/calendar/icalendar.el
@@ -454,7 +454,7 @@ The strings are suitable for assembling into a TZ variable."
454 454 (cons
455 455 (concat
456 456 ;; Fake a name.
457   - (if dst-p "(DST?)" "(STD?)")
  457 + (if dst-p "DST" "STD")
458 458 ;; For TZ, OFFSET is added to the local time. So,
459 459 ;; invert the values.
460 460 (if (eq (aref offset 0) ?-) "+" "-")
@@ -466,6 +466,10 @@ The strings are suitable for assembling into a TZ variable."
466 466 (week (if (eq day -1)
467 467 byday
468 468 (substring byday 0 -2))))
  469 + ;; "Translate" the icalendar way to specify the last
  470 + ;; (sun|mon|...)day in month to the tzset way.
  471 + (if (string= week "-1") ; last day as icalendar calls it
  472 + (setq week "5")) ; last day as tzset calls it
469 473 (concat "M" bymonth "." week "." (if (eq day -1) "0"
470 474 (int-to-string day))
471 475 ;; Start time.
@@ -2241,6 +2245,12 @@ the entry."
2241 2245 'diary-make-entry
2242 2246 'make-diary-entry)
2243 2247 string non-marking diary-file)))
  2248 + ;; Würgaround to remove the trailing blank char
  2249 + (save-excursion
  2250 + (set-buffer (find-file diary-file))
  2251 + (goto-char (point-max))
  2252 + (if (= (char-before) ? )
  2253 + (delete-char -1)))
2244 2254 ;; return diary-file in case it has been changed interactively
2245 2255 diary-file)
2246 2256
92 src/.gdbinit
@@ -163,6 +163,35 @@ Print current buffer's point and boundaries.
163 163 Prints values of point, beg, end, narrow, and gap for current buffer.
164 164 end
165 165
  166 +define pitmethod
  167 + set $itmethod = $arg0
  168 + # output $itmethod
  169 + if ($itmethod == 0)
  170 + printf "GET_FROM_BUFFER"
  171 + end
  172 + if ($itmethod == 1)
  173 + printf "GET_FROM_DISPLAY_VECTOR"
  174 + end
  175 + if ($itmethod == 2)
  176 + printf "GET_FROM_STRING"
  177 + end
  178 + if ($itmethod == 3)
  179 + printf "GET_FROM_C_STRING"
  180 + end
  181 + if ($itmethod == 4)
  182 + printf "GET_FROM_IMAGE"
  183 + end
  184 + if ($itmethod == 5)
  185 + printf "GET_FROM_STRETCH"
  186 + end
  187 + if ($itmethod < 0 || $itmethod > 5)
  188 + output $itmethod
  189 + end
  190 +end
  191 +document pitmethod
  192 +Pretty print it->method given as first arg
  193 +end
  194 +
166 195 # Print out iterator given as first arg
167 196 define pitx
168 197 set $it = $arg0
@@ -193,7 +222,7 @@ define pitx
193 222 if ($it->sp != 0)
194 223 printf " sp=%d", $it->sp
195 224 end
196   - if ($it->what == IT_CHARACTER)
  225 + if ($it->what == 0) # IT_CHARACTER
197 226 if ($it->len == 1 && $it->c >= ' ' && it->c < 255)
198 227 printf " ch='%c'", $it->c
199 228 else
@@ -201,20 +230,41 @@ define pitx
201 230 end
202 231 else
203 232 printf " "
204   - output $it->what
  233 + # output $it->what
  234 + if ($it->what == 0)
  235 + printf "IT_CHARACTER"
  236 + end
  237 + if ($it->what == 1)
  238 + printf "IT_COMPOSITION"
  239 + end
  240 + if ($it->what == 2)
  241 + printf "IT_IMAGE"
  242 + end
  243 + if ($it->what == 3)
  244 + printf "IT_STRETCH"
  245 + end
  246 + if ($it->what == 4)
  247 + printf "IT_EOB"
  248 + end
  249 + if ($it->what == 5)
  250 + printf "IT_TRUNCATION"
  251 + end
  252 + if ($it->what == 6)
  253 + printf "IT_CONTINUATION"
  254 + end
  255 + if ($it->what < 0 || $it->what > 6)
  256 + output $it->what
  257 + end
205 258 end
206   - if ($it->method != GET_FROM_BUFFER)
  259 + if ($it->method != 0) # GET_FROM_BUFFER
207 260 printf " next="
208   - output $it->method
209   - if ($it->method == GET_FROM_STRING)
  261 + pitmethod $it->method
  262 + if ($it->method == 2) # GET_FROM_STRING
210 263 printf "[%d]", $it->current.string_pos.charpos
211 264 end
212   - if ($it->method == GET_FROM_IMAGE)
  265 + if ($it->method == 4) # GET_FROM_IMAGE
213 266 printf "[%d]", $it->image_id
214 267 end
215   - if ($it->method == GET_FROM_COMPOSITION)
216   - printf "[%d,%d,%d]", $it->cmp_id, $it->len, $it->cmp_len
217   - end
218 268 end
219 269 printf "\n"
220 270 if ($it->region_beg_charpos >= 0)
@@ -231,7 +281,7 @@ define pitx
231 281 while ($i < $it->sp && $i < 4)
232 282 set $e = $it->stack[$i]
233 283 printf "stack[%d]: ", $i
234   - output $e->method
  284 + pitmethod $e->method
235 285 printf "[%d]", $e->position.charpos
236 286 printf "\n"
237 287 set $i = $i + 1
@@ -395,20 +445,24 @@ end
395 445
396 446 define pgx
397 447 set $g = $arg0
398   - if ($g->type == CHAR_GLYPH)
  448 + # CHAR_GLYPH
  449 + if ($g->type == 0)
399 450 if ($g->u.ch >= ' ' && $g->u.ch < 127)
400 451 printf "CHAR[%c]", $g->u.ch
401 452 else
402 453 printf "CHAR[0x%x]", $g->u.ch
403 454 end
404 455 end
405   - if ($g->type == COMPOSITE_GLYPH)
  456 + # COMPOSITE_GLYPH
  457 + if ($g->type == 1)
406 458 printf "COMP[%d]", $g->u.cmp_id
407 459 end
408   - if ($g->type == IMAGE_GLYPH)
  460 + # IMAGE_GLYPH
  461 + if ($g->type == 2)
409 462 printf "IMAGE[%d]", $g->u.img_id
410 463 end
411   - if ($g->type == STRETCH_GLYPH)
  464 + # STRETCH_GLYPH
  465 + if ($g->type == 3)
412 466 printf "STRETCH[%d+%d]", $g->u.stretch.height, $g->u.stretch.ascent
413 467 end
414 468 xgettype ($g->object)
@@ -418,7 +472,8 @@ define pgx
418 472 printf " pos=%d", $g->charpos
419 473 end
420 474 printf " w=%d a+d=%d+%d", $g->pixel_width, $g->ascent, $g->descent
421   - if ($g->face_id != DEFAULT_FACE_ID)
  475 + # If not DEFAULT_FACE_ID
  476 + if ($g->face_id != 0)
422 477 printf " face=%d", $g->face_id
423 478 end
424 479 if ($g->voffset)
@@ -509,6 +564,13 @@ document pgrow
509 564 Pretty print all glyphs in row structure row.
510 565 end
511 566
  567 +define pgrowit
  568 + pgrowx it->glyph_row
  569 +end
  570 +document pgrowit
  571 +Pretty print all glyphs in it->glyph_row.
  572 +end
  573 +
512 574 define xtype
513 575 xgettype $
514 576 output $type
98 src/ChangeLog
... ... @@ -1,3 +1,101 @@
  1 +2009-12-19 Eli Zaretskii <eliz@gnu.org>
  2 +
  3 + * .gdbinit (pitx): Don't use enum names, use their values. Remove
  4 + reference to non-existing value GET_FROM_COMPOSITION.
  5 + (pgx): Don't use enum names, use their values.
  6 + (pitmethod): New helper command.
  7 + (pitx): Use it to display iteration method.
  8 + (pgrowit): New command.
  9 +
  10 + * makefile.w32-in ($(BLD)/cmds.$(O)): Depend on frame.h.
  11 +
  12 + Update dependencies in Makefile.in.
  13 +
  14 + * Makefile.in (alloc.o): Depend on termhooks.h.
  15 + (atimer.o): Depend on blockinput.h.
  16 + (buffer.o): Depend on indent.h, keyboard.h, coding.h, keymap.h,
  17 + and frame.h.
  18 + (callint.o): Depend on systime.h, coding.h, and composite.h.
  19 + (callproc.o): Depend on buffer.h.
  20 + (casefiddle.o): Don't depend on charset.h.
  21 + (casetab.o): Depend on character.h.
  22 + (ccl.o): Depend on composite.h.
  23 + (chartab.o): Depend on ccl.h.
  24 + (cm.o): Depend on dispextern.h.
  25 + (cmds.o): Depend on systime.h, coding.h, frame.h, and composite.h.
  26 + (coding.o): Don't depend on $(INTERVALS_H).
  27 + (composite.o): Don't depend on dispextern.h explicitly (it's in
  28 + $(INTERVALS_H)). Depend on ccl.h.
  29 + (data.o): Depend on systime.h, coding.h, composite.h,
  30 + dispextern.h, font.h, and ccl.h.
  31 + (dired.o): Depend on composite.h.
  32 + (dispnew.o): Depend on coding.h. Don't depend explicitly on
  33 + composite.h (it's in $(INTERVALS_H)).
  34 + (doc.o): Depend on systime.h, coding.h, and composite.h.
  35 + (editfns.o): Don't depend explicitly on dispextern.h.
  36 + (emacs.o): Depend on frame.h and coding.h.
  37 + (eval.o): Depend on coding.h, composite.h, and xterm.h.
  38 + (fileio.o): Depend on frame.h and commands.h. Don't depend
  39 + explicitly on dispextern.h.
  40 + (filelock.o): Don't depend on epaths.h and charset.h. Depend on
  41 + composite.h.
  42 + (fns.o): Don't depend on termhooks.h.
  43 + (font.o): Depend on buffer.h, composite.h, fontset.h, and xterm.h.
  44 + (fontset.o): Depend on blockinput.h, atimer.h, systime.h,
  45 + coding.h, $(INTERVALS_H), window.h, xterm.h.
  46 + (frame.o): Depend on coding.h, composite.h, termhooks.h, and ccl.h.
  47 + (fringe.o): Depend on blockinput.h, atimer.h, and systime.h.
  48 + (ftfont.o): Depend on blockinput.h, atimer.h, systime.h, coding.h,
  49 + fontset.h, ccl.h, and ftfont.h.
  50 + (ftxfont.o): Depend on atimer.h, systime.h, fontset.h, and ccl.h.
  51 + (gtkutil.o): Depend on dispextern.h and composite.h.
  52 + (image.o): Depend on epaths.h, character.h, coding.h, composite.h,
  53 + termhooks.h, and ccl.h.
  54 + (indent.o): Depend on systime.h, coding.h, and $(INTERVALS_H).
  55 + (intervals.o): Depend on systime.h and coding.h.
  56 + (keyboard.o): Depend on composite.h and coding.h.
  57 + (keymap.o): Depend on coding.h and frame.h.
  58 + (lread.o): Depend on systime.h, frame.h, blockinput.h, and atimer.h.
  59 + (macros.o): Depend on systime.h, coding.h, and composite.h.
  60 + (menu.o): Depend on systime.h, coding.h, composite.h, window.h,
  61 + and atimer.h.
  62 + (minibuf.o): Depend on systime.h and coding.h. Don't depend on
  63 + dispextern.h explicitly.
  64 + (print.o): Depend on termhooks.h, coding.h, and ccl.h. Don't
  65 + depend explicitly on dispextern.h and composite.h.
  66 + (process.o): Depend on character.h, xgselect.h, and sysselect.h.
  67 + (regex.o): Don't depend on charset.h.
  68 + (scroll.o): Depend on systime.h, coding.h, composite.h, and window.h.
  69 + (search.o): Don't depend explicitly on composite.h.
  70 + (sound.o): Depend on atimer.h and systime.h.
  71 + (syntax.o): Don't depend explicitly on composite.h.
  72 + (sysdep.o): Depend on coding.h and composite.h.
  73 + (term.o): Depend on xterm.h and buffer.h.
  74 + (terminal.o): Depend on dispextern.h, composite.h, and systime.h.
  75 + (textprop.o): Don't depend on dispextern.h explicitly.
  76 + (undo.o): Depend on dispextern.h.
  77 + (window.o): Depend on coding.h and termhooks.h. Don't depend on
  78 + dispextern.h and composite.h explicitly.
  79 + (xdisp.o): Depend on ccl.h.
  80 + (xfaces.o): Depend on coding.h and ccl.h.
  81 + (xfns.o): Depend on $(INTERVALS_H) and ccl.h.
  82 + (xfont.o): Depend on atimer.h, systime.h, fontset.h, and ccl.h.
  83 + (xftfont.o): Depend on atimer.h, systime.h, fontset.h, ccl.h, and
  84 + ftfont.h.
  85 + (xgselect.o): New dependency.
  86 + (xmenu.o): Depend on composite.h, keymap.h, and sysselect.h.
  87 + (xselect.o): Depend on keyboard.h, coding.h, and composite.h.
  88 + (xsettings.o): Depend on dispextern.h, keyboard.h, systime.h,
  89 + coding.h, composite.h, blockinput.h, atimer.h, and termopts.h.
  90 + (xsmfns.o): Depend on frame.h and dispextern.h.
  91 + (xterm.o): Depend on intervals.h, keymap.h, xgselect.h, and
  92 + sysselect.h.
  93 +
  94 +2009-12-19 Andreas Schwab <schwab@linux-m68k.org>
  95 +
  96 + * font.c (Fclear_font_cache): Pass correct cache argument to
  97 + font_clear_cache.
  98 +
1 99 2009-12-16 Andreas Schwab <schwab@linux-m68k.org>
2 100
3 101 * Makefile.in (prefix-args${EXEEXT}): Don't compile prefix-args.c
176 src/Makefile.in
@@ -1050,98 +1050,104 @@ doc.o: buildobj.h
1050 1050
1051 1051 #ifndef AUTO_DEPEND
1052 1052
1053   -atimer.o: atimer.c atimer.h syssignal.h systime.h lisp.h $(config_h)
  1053 +atimer.o: atimer.c atimer.h syssignal.h systime.h lisp.h blockinput.h \
  1054 + $(config_h)
1054 1055 buffer.o: buffer.c buffer.h region-cache.h commands.h window.h \
1055   - dispextern.h $(INTERVALS_H) blockinput.h atimer.h systime.h character.h \
1056   - lisp.h $(config_h)
  1056 + $(INTERVALS_H) blockinput.h atimer.h systime.h character.h \
  1057 + indent.h keyboard.h coding.h keymap.h frame.h lisp.h $(config_h)
1057 1058 callint.o: callint.c window.h commands.h buffer.h keymap.h \
1058   - keyboard.h dispextern.h lisp.h $(config_h)
  1059 + keyboard.h dispextern.h systime.h coding.h composite.h lisp.h $(config_h)
1059 1060 callproc.o: callproc.c epaths.h buffer.h commands.h lisp.h $(config_h) \
1060 1061 process.h systty.h syssignal.h character.h coding.h ccl.h msdos.h \
1061   - composite.h w32.h blockinput.h atimer.h systime.h frame.h termhooks.h
  1062 + composite.h w32.h blockinput.h atimer.h systime.h frame.h termhooks.h \
  1063 + buffer.h
1062 1064 casefiddle.o: casefiddle.c syntax.h commands.h buffer.h character.h \
1063   - composite.h \
1064   - charset.h keymap.h lisp.h $(config_h)
1065   -casetab.o: casetab.c buffer.h lisp.h $(config_h)
  1065 + composite.h keymap.h lisp.h $(config_h)
  1066 +casetab.o: casetab.c buffer.h character.h lisp.h $(config_h)
1066 1067 category.o: category.c category.h buffer.h charset.h keymap.h \
1067 1068 character.h lisp.h $(config_h)
1068   -ccl.o: ccl.c ccl.h charset.h character.h coding.h lisp.h $(config_h)
  1069 +ccl.o: ccl.c ccl.h charset.h character.h coding.h composite.h lisp.h $(config_h)
1069 1070 character.o: character.c character.h buffer.h charset.h composite.h disptab.h \
1070 1071 lisp.h $(config_h)
1071 1072 charset.o: charset.c charset.h character.h buffer.h coding.h composite.h \
1072 1073 disptab.h lisp.h $(config_h)
1073   -chartab.o: charset.h character.h lisp.h $(config_h)
1074   -coding.o: coding.c coding.h ccl.h buffer.h character.h charset.h $(INTERVALS_H) composite.h \
  1074 +chartab.o: charset.h character.h ccl.h lisp.h $(config_h)
  1075 +coding.o: coding.c coding.h ccl.h buffer.h character.h charset.h composite.h \
1075 1076 window.h dispextern.h frame.h termhooks.h lisp.h $(config_h)
1076   -cm.o: cm.c frame.h cm.h termhooks.h termchar.h lisp.h $(config_h)
  1077 +cm.o: cm.c frame.h cm.h termhooks.h termchar.h dispextern.h lisp.h $(config_h)
1077 1078 cmds.o: cmds.c syntax.h buffer.h character.h commands.h window.h lisp.h $(config_h) \
1078   - msdos.h dispextern.h keyboard.h keymap.h
  1079 + msdos.h dispextern.h keyboard.h keymap.h systime.h coding.h frame.h \
  1080 + composite.h
1079 1081 pre-crt0.o: pre-crt0.c
1080 1082 dbusbind.o: dbusbind.c termhooks.h frame.h keyboard.h lisp.h $(config_h)
1081 1083 dired.o: dired.c commands.h buffer.h lisp.h $(config_h) character.h charset.h \
1082   - coding.h regex.h systime.h blockinput.h atimer.h
1083   -dispnew.o: dispnew.c systime.h commands.h process.h frame.h \
1084   - window.h buffer.h dispextern.h termchar.h termopts.h termhooks.h cm.h \
  1084 + coding.h regex.h systime.h blockinput.h atimer.h composite.h
  1085 +dispnew.o: dispnew.c systime.h commands.h process.h frame.h coding.h \
  1086 + window.h buffer.h termchar.h termopts.h termhooks.h cm.h \
1085 1087 disptab.h indent.h $(INTERVALS_H) \
1086   - xterm.h blockinput.h atimer.h character.h msdos.h composite.h keyboard.h \
  1088 + xterm.h blockinput.h atimer.h character.h msdos.h keyboard.h \
1087 1089 syssignal.h lisp.h $(config_h)
1088   -doc.o: doc.c lisp.h $(config_h) epaths.h buffer.h keyboard.h keymap.h character.h
  1090 +doc.o: doc.c lisp.h $(config_h) epaths.h buffer.h keyboard.h keymap.h \
  1091 + character.h systime.h coding.h composite.h
1089 1092 doprnt.o: doprnt.c character.h lisp.h $(config_h)
1090 1093 dosfns.o: buffer.h termchar.h termhooks.h frame.h blockinput.h window.h \
1091 1094 msdos.h dosfns.h dispextern.h charset.h coding.h atimer.h systime.h \
1092 1095 lisp.h $(config_h)
1093 1096 editfns.o: editfns.c window.h buffer.h systime.h $(INTERVALS_H) character.h \
1094   - coding.h dispextern.h frame.h blockinput.h atimer.h lisp.h $(config_h)
  1097 + coding.h frame.h blockinput.h atimer.h lisp.h $(config_h)
1095 1098 emacs.o: emacs.c commands.h systty.h syssignal.h blockinput.h process.h \
1096 1099 termhooks.h buffer.h atimer.h systime.h $(INTERVALS_H) lisp.h $(config_h) \
1097   - window.h dispextern.h keyboard.h keymap.h
  1100 + window.h dispextern.h keyboard.h keymap.h frame.h coding.h
1098 1101 fileio.o: fileio.c window.h buffer.h systime.h $(INTERVALS_H) character.h \
1099   - coding.h msdos.h dispextern.h blockinput.h atimer.h lisp.h $(config_h)
1100   -filelock.o: filelock.c buffer.h character.h charset.h coding.h systime.h \
1101   - epaths.h lisp.h $(config_h)
1102   -filemode.o: filemode.c $(config_h)
  1102 + coding.h msdos.h blockinput.h atimer.h lisp.h $(config_h) frame.h commands.h
  1103 +filelock.o: filelock.c buffer.h character.h coding.h systime.h composite.h \
  1104 + lisp.h $(config_h)
  1105 +filemode.o: filemode.c $(config_h)
1103 1106 frame.o: frame.c xterm.h window.h frame.h termhooks.h commands.h keyboard.h \
1104 1107 blockinput.h atimer.h systime.h buffer.h character.h fontset.h font.h \
1105   - msdos.h dosfns.h dispextern.h w32term.h termchar.h \
1106   - lisp.h $(config_h)
1107   -fringe.o: fringe.c dispextern.h frame.h window.h buffer.h termhooks.h lisp.h $(config_h)
  1108 + msdos.h dosfns.h dispextern.h w32term.h termchar.h coding.h composite.h \
  1109 + lisp.h $(config_h) termhooks.h ccl.h
  1110 +fringe.o: fringe.c dispextern.h frame.h window.h buffer.h termhooks.h \
  1111 + blockinput.h atimer.h systime.h lisp.h $(config_h)
1108 1112 font.o: font.c dispextern.h frame.h window.h ccl.h character.h charset.h \
1109   - font.h lisp.h $(config_h)
  1113 + font.h lisp.h $(config_h) buffer.h composite.h fontset.h xterm.h
1110 1114 ftfont.o: dispextern.h frame.h character.h charset.h composite.h font.h \
1111   - lisp.h $(config_h)
1112   -fontset.o: dispextern.h fontset.h fontset.c ccl.h buffer.h character.h \
1113   - charset.h frame.h keyboard.h termhooks.h font.h lisp.h $(config_h)
  1115 + lisp.h $(config_h) blockinput.h atimer.h systime.h coding.h fontset.h \
  1116 + ccl.h ftfont.h
  1117 +fontset.o: fontset.c fontset.h ccl.h buffer.h character.h \
  1118 + charset.h frame.h keyboard.h termhooks.h font.h lisp.h $(config_h) \
  1119 + blockinput.h atimer.h systime.h coding.h $(INTERVALS_H) window.h xterm.h
1114 1120 getloadavg.o: getloadavg.c $(config_h)
1115 1121 gtkutil.o: gtkutil.c gtkutil.h xterm.h lisp.h frame.h lisp.h $(config_h) \
1116 1122 blockinput.h window.h atimer.h systime.h termhooks.h keyboard.h \
1117   - charset.h coding.h syssignal.h
  1123 + charset.h coding.h syssignal.h dispextern.h composite.h
1118 1124 image.o: image.c frame.h window.h dispextern.h blockinput.h atimer.h \
1119   - systime.h xterm.h w32term.h w32gui.h font.h \
1120   - nsterm.h nsgui.h lisp.h $(config_h)
  1125 + systime.h xterm.h w32term.h w32gui.h font.h epaths.h character.h coding.h \
  1126 + nsterm.h nsgui.h lisp.h $(config_h) composite.h termhooks.h ccl.h
1121 1127 indent.o: indent.c frame.h window.h indent.h buffer.h lisp.h $(config_h) termchar.h \
1122   - termopts.h disptab.h region-cache.h character.h category.h composite.h \
1123   - dispextern.h keyboard.h
  1128 + termopts.h disptab.h region-cache.h character.h category.h \
  1129 + keyboard.h systime.h coding.h $(INTERVALS_H)
1124 1130 insdel.o: insdel.c window.h buffer.h $(INTERVALS_H) blockinput.h character.h \
1125 1131 dispextern.h atimer.h systime.h region-cache.h lisp.h $(config_h)
1126 1132 keyboard.o: keyboard.c termchar.h termhooks.h termopts.h buffer.h character.h \
1127 1133 commands.h frame.h window.h macros.h disptab.h keyboard.h syssignal.h \
1128   - systime.h dispextern.h syntax.h $(INTERVALS_H) blockinput.h atimer.h \
1129   - xterm.h puresize.h msdos.h keymap.h w32term.h nsterm.h \
  1134 + systime.h syntax.h $(INTERVALS_H) blockinput.h atimer.h composite.h \
  1135 + xterm.h puresize.h msdos.h keymap.h w32term.h nsterm.h coding.h \
1130 1136 lisp.h $(config_h)
1131 1137 keymap.o: keymap.c buffer.h commands.h keyboard.h termhooks.h blockinput.h \
1132 1138 atimer.h systime.h puresize.h character.h charset.h $(INTERVALS_H) keymap.h window.h \
1133   - lisp.h $(config_h)
  1139 + coding.h frame.h lisp.h $(config_h)
1134 1140 lastfile.o: lastfile.c $(config_h)
1135 1141 macros.o: macros.c window.h buffer.h commands.h macros.h keyboard.h \
1136   - dispextern.h lisp.h $(config_h)
  1142 + dispextern.h lisp.h $(config_h) systime.h coding.h composite.h
1137 1143 gmalloc.o: gmalloc.c $(config_h)
1138 1144 ralloc.o: ralloc.c lisp.h $(config_h)
1139 1145 vm-limit.o: vm-limit.c mem-limits.h lisp.h $(config_h)
1140 1146 marker.o: marker.c buffer.h character.h lisp.h $(config_h)
1141 1147 md5.o: md5.c md5.h $(config_h)
1142   -minibuf.o: minibuf.c syntax.h dispextern.h frame.h window.h keyboard.h \
  1148 +minibuf.o: minibuf.c syntax.h frame.h window.h keyboard.h systime.h \
1143 1149 buffer.h commands.h character.h msdos.h $(INTERVALS_H) keymap.h \
1144   - termhooks.h lisp.h $(config_h)
  1150 + termhooks.h lisp.h $(config_h) coding.h
1145 1151 mktime.o: mktime.c $(config_h)
1146 1152 msdos.o: msdos.c msdos.h dosfns.h systime.h termhooks.h dispextern.h frame.h \
1147 1153 termopts.h termchar.h character.h coding.h ccl.h disptab.h window.h \
@@ -1162,33 +1168,33 @@ nsselect.o: nsselect.m blockinput.h nsterm.h nsgui.h frame.h lisp.h $(config_h)
1162 1168 process.o: process.c process.h buffer.h window.h termhooks.h termopts.h \
1163 1169 commands.h syssignal.h systime.h systty.h syswait.h frame.h dispextern.h \
1164 1170 blockinput.h atimer.h charset.h coding.h ccl.h msdos.h composite.h \
1165   - keyboard.h lisp.h $(config_h)
1166   -regex.o: regex.c syntax.h buffer.h lisp.h $(config_h) regex.h category.h character.h \
1167   - charset.h
  1171 + keyboard.h lisp.h $(config_h) character.h xgselect.h sysselect.h
  1172 +regex.o: regex.c syntax.h buffer.h lisp.h $(config_h) regex.h category.h character.h
1168 1173 region-cache.o: region-cache.c buffer.h region-cache.h lisp.h $(config_h)
1169 1174 scroll.o: scroll.c termchar.h dispextern.h frame.h msdos.h keyboard.h \
1170   - termhooks.h lisp.h $(config_h)
  1175 + termhooks.h lisp.h $(config_h) systime.h coding.h composite.h window.h
1171 1176 search.o: search.c regex.h commands.h buffer.h region-cache.h syntax.h \
1172 1177 blockinput.h atimer.h systime.h category.h character.h charset.h \
1173   - composite.h $(INTERVALS_H) \
  1178 + $(INTERVALS_H) \
1174 1179 lisp.h $(config_h)
1175   -sound.o: sound.c dispextern.h syssignal.h lisp.h $(config_h)
  1180 +sound.o: sound.c dispextern.h syssignal.h lisp.h $(config_h) atimer.h systime.h
1176 1181 strftime.o: strftime.c $(config_h)
1177 1182 syntax.o: syntax.c syntax.h buffer.h commands.h category.h character.h \
1178   - composite.h keymap.h regex.h $(INTERVALS_H) lisp.h $(config_h)
  1183 + keymap.h regex.h $(INTERVALS_H) lisp.h $(config_h)
1179 1184 sysdep.o: sysdep.c syssignal.h systty.h systime.h syswait.h blockinput.h \
1180   - process.h dispextern.h termhooks.h termchar.h termopts.h \
1181   - frame.h atimer.h window.h msdos.h dosfns.h keyboard.h cm.h lisp.h $(config_h)
  1185 + process.h dispextern.h termhooks.h termchar.h termopts.h coding.h \
  1186 + frame.h atimer.h window.h msdos.h dosfns.h keyboard.h cm.h lisp.h $(config_h) \
  1187 + composite.h
1182 1188 term.o: term.c termchar.h termhooks.h termopts.h lisp.h $(config_h) cm.h frame.h \
1183   - disptab.h dispextern.h keyboard.h character.h charset.h coding.h ccl.h \
  1189 + disptab.h keyboard.h character.h charset.h coding.h ccl.h xterm.h \
1184 1190 msdos.h window.h keymap.h blockinput.h atimer.h systime.h systty.h \
1185   - syssignal.h $(INTERVALS_H)
  1191 + syssignal.h $(INTERVALS_H) buffer.h
1186 1192 termcap.o: termcap.c lisp.h $(config_h)
1187 1193 terminal.o: terminal.c frame.h termchar.h termhooks.h charset.h coding.h \
1188   - keyboard.h lisp.h $(config_h)
  1194 + keyboard.h lisp.h $(config_h) dispextern.h composite.h systime.h
1189 1195 terminfo.o: terminfo.c lisp.h $(config_h)
1190 1196 tparam.o: tparam.c lisp.h $(config_h)
1191   -undo.o: undo.c buffer.h commands.h window.h lisp.h $(config_h)
  1197 +undo.o: undo.c buffer.h commands.h window.h dispextern.h lisp.h $(config_h)
1192 1198 unexaix.o: unexaix.c lisp.h $(config_h)
1193 1199 unexalpha.o: unexalpha.c $(config_h)
1194 1200 unexcw.o: unexcw.c lisp.h $(config_h)
@@ -1203,71 +1209,79 @@ w16select.o: w16select.c dispextern.h frame.h blockinput.h atimer.h systime.h \
1203 1209 widget.o: widget.c xterm.h frame.h dispextern.h widgetprv.h \
1204 1210 $(srcdir)/../lwlib/lwlib.h lisp.h $(config_h)
1205 1211 window.o: window.c indent.h commands.h frame.h window.h buffer.h termchar.h \
1206   - disptab.h keyboard.h dispextern.h msdos.h composite.h \
  1212 + disptab.h keyboard.h msdos.h coding.h termhooks.h \
1207 1213 keymap.h blockinput.h atimer.h systime.h $(INTERVALS_H) \
1208 1214 xterm.h w32term.h nsterm.h lisp.h $(config_h)
1209 1215 xdisp.o: xdisp.c macros.h commands.h process.h indent.h buffer.h dispextern.h \
1210 1216 coding.h termchar.h frame.h window.h disptab.h termhooks.h character.h \
1211 1217 charset.h lisp.h $(config_h) keyboard.h $(INTERVALS_H) region-cache.h xterm.h \
1212   - w32term.h nsterm.h msdos.h composite.h fontset.h \
  1218 + w32term.h nsterm.h msdos.h composite.h fontset.h ccl.h \
1213 1219 blockinput.h atimer.h systime.h keymap.h font.h
1214 1220 xfaces.o: xfaces.c dispextern.h frame.h xterm.h buffer.h blockinput.h \
1215 1221 window.h character.h charset.h msdos.h dosfns.h composite.h atimer.h \
1216   - systime.h keyboard.h fontset.h w32term.h nsterm.h \
  1222 + systime.h keyboard.h fontset.h w32term.h nsterm.h coding.h ccl.h \
1217 1223 $(INTERVALS_H) termchar.h termhooks.h font.h lisp.h $(config_h)
1218 1224 xfns.o: xfns.c buffer.h frame.h window.h keyboard.h xterm.h dispextern.h \
1219 1225 $(srcdir)/../lwlib/lwlib.h blockinput.h atimer.h systime.h epaths.h \
1220 1226 character.h charset.h coding.h gtkutil.h lisp.h $(config_h) termhooks.h \
1221   - fontset.h termchar.h font.h xsettings.h
  1227 + fontset.h termchar.h font.h xsettings.h $(INTERVALS_H) ccl.h
1222 1228 xfont.o: dispextern.h xterm.h frame.h blockinput.h character.h charset.h \
1223   - font.h lisp.h $(config_h)
  1229 + font.h lisp.h $(config_h) atimer.h systime.h fontset.h ccl.h
1224 1230 xftfont.o: dispextern.h xterm.h frame.h blockinput.h character.h charset.h \
1225   - font.h lisp.h $(config_h)
  1231 + font.h lisp.h $(config_h) atimer.h systime.h fontset.h ccl.h ftfont.h
1226 1232 ftxfont.o: dispextern.h xterm.h frame.h blockinput.h character.h charset.h \
1227   - font.h lisp.h $(config_h)
  1233 + font.h lisp.h $(config_h) atimer.h systime.h fontset.h ccl.h
1228 1234 menu.o: menu.c lisp.h keyboard.h keymap.h frame.h termhooks.h blockinput.h \
1229 1235 dispextern.h $(srcdir)/../lwlib/lwlib.h xterm.h gtkutil.h menu.h \
1230   - lisp.h $(config_h)
  1236 + lisp.h $(config_h) systime.h coding.h composite.h window.h atimer.h
1231 1237 xmenu.o: xmenu.c xterm.h termhooks.h window.h dispextern.h frame.h buffer.h \
1232 1238 charset.h keyboard.h $(srcdir)/../lwlib/lwlib.h blockinput.h atimer.h \
1233   - systime.h gtkutil.h msdos.h coding.h menu.h lisp.h $(config_h)
  1239 + systime.h gtkutil.h msdos.h coding.h menu.h lisp.h $(config_h) composite.h \
  1240 + keymap.h sysselect.h
1234 1241 xterm.o: xterm.c xterm.h termhooks.h termopts.h termchar.h window.h buffer.h \
1235 1242 dispextern.h frame.h disptab.h blockinput.h atimer.h systime.h syssignal.h \
1236 1243 keyboard.h emacs-icon.h character.h charset.h ccl.h fontset.h composite.h \
1237   - coding.h process.h gtkutil.h font.h fontset.h lisp.h $(config_h) xsettings.h
  1244 + coding.h process.h gtkutil.h font.h fontset.h lisp.h $(config_h) \
  1245 + xsettings.h intervals.h keymap.h xgselect.h sysselect.h
1238 1246 xselect.o: xselect.c process.h dispextern.h frame.h xterm.h blockinput.h \
1239   - buffer.h atimer.h systime.h termhooks.h lisp.h $(config_h)
  1247 + buffer.h atimer.h systime.h termhooks.h lisp.h $(config_h) keyboard.h \
  1248 + coding.h composite.h
  1249 +xgselect.o: xgselect.h systime.h sysselect.h lisp.h $(config_h)
1240 1250 xrdb.o: xrdb.c lisp.h $(config_h) epaths.h
1241 1251 xsmfns.o: xsmfns.c lisp.h $(config_h) systime.h sysselect.h termhooks.h xterm.h \
1242   - lisp.h termopts.h
1243   -xsettings.o: xterm.h xsettings.h lisp.h frame.h termhooks.h $(config_h)
  1252 + lisp.h termopts.h frame.h dispextern.h
  1253 +xsettings.o: xterm.h xsettings.h lisp.h frame.h termhooks.h $(config_h) \
  1254 + dispextern.h keyboard.h systime.h coding.h composite.h blockinput.h atimer.h \
  1255 + termopts.h
1244 1256 /* The files of Lisp proper */
1245 1257
1246   -alloc.o: alloc.c process.h frame.h window.h buffer.h puresize.h syssignal.h keyboard.h \
1247   - blockinput.h atimer.h systime.h character.h dispextern.h lisp.h $(config_h) \
1248   - $(INTERVALS_H)
  1258 +alloc.o: alloc.c process.h frame.h window.h buffer.h puresize.h syssignal.h \
  1259 + keyboard.h blockinput.h atimer.h systime.h character.h lisp.h $(config_h) \
  1260 + $(INTERVALS_H) termhooks.h
1249 1261 bytecode.o: bytecode.c buffer.h syntax.h character.h window.h dispextern.h \
1250 1262 frame.h xterm.h lisp.h $(config_h)
1251 1263 data.o: data.c buffer.h puresize.h character.h syssignal.h keyboard.h frame.h \
1252   - termhooks.h lisp.h $(config_h)
  1264 + termhooks.h systime.h coding.h composite.h dispextern.h font.h ccl.h \
  1265 + lisp.h $(config_h)
1253 1266 eval.o: eval.c commands.h keyboard.h blockinput.h atimer.h systime.h \
1254   - dispextern.h lisp.h $(config_h)
  1267 + dispextern.h lisp.h $(config_h) coding.h composite.h xterm.h
1255 1268 floatfns.o: floatfns.c syssignal.h lisp.h $(config_h)
1256 1269 fns.o: fns.c commands.h lisp.h $(config_h) frame.h buffer.h character.h keyboard.h \
1257   - keymap.h frame.h window.h dispextern.h $(INTERVALS_H) coding.h md5.h \
1258   - blockinput.h atimer.h systime.h xterm.h termhooks.h
  1270 + keymap.h window.h dispextern.h $(INTERVALS_H) coding.h md5.h \
  1271 + blockinput.h atimer.h systime.h xterm.h
1259 1272 print.o: print.c process.h frame.h window.h buffer.h keyboard.h character.h \
1260   - lisp.h $(config_h) dispextern.h termchar.h $(INTERVALS_H) msdos.h composite.h \
1261   - blockinput.h atimer.h systime.h font.h charset.h
  1273 + lisp.h $(config_h) termchar.h $(INTERVALS_H) msdos.h termhooks.h \
  1274 + blockinput.h atimer.h systime.h font.h charset.h coding.h ccl.h
1262 1275 lread.o: lread.c commands.h keyboard.h buffer.h epaths.h character.h \
1263   - charset.h lisp.h $(config_h) $(INTERVALS_H) termhooks.h coding.h msdos.h
  1276 + charset.h lisp.h $(config_h) $(INTERVALS_H) termhooks.h coding.h msdos.h \
  1277 + systime.h frame.h blockinput.h atimer.h
1264 1278
1265 1279 /* Text properties support */
1266   -composite.o: composite.c buffer.h character.h coding.h dispextern.h font.h \
  1280 +composite.o: composite.c buffer.h character.h coding.h font.h ccl.h \
1267 1281 frame.h termhooks.h $(INTERVALS_H) window.h lisp.h $(config_h)
1268 1282 intervals.o: intervals.c buffer.h $(INTERVALS_H) keyboard.h puresize.h \
1269   - keymap.h lisp.h $(config_h)
1270   -textprop.o: textprop.c buffer.h window.h dispextern.h $(INTERVALS_H) \
  1283 + keymap.h lisp.h $(config_h) systime.h coding.h
  1284 +textprop.o: textprop.c buffer.h window.h $(INTERVALS_H) \
1271 1285 lisp.h $(config_h)
1272 1286
1273 1287 #endif /* ! AUTO_DEPEND */
6 src/font.c
@@ -4479,15 +4479,15 @@ DEFUN ("clear-font-cache", Fclear_font_cache, Sclear_font_cache, 0, 0, 0,
4479 4479 if (driver_list->on)
4480 4480 {
4481 4481 Lisp_Object cache = driver_list->driver->get_cache (f);
4482   - Lisp_Object val;
  4482 + Lisp_Object val, tmp;
4483 4483
4484 4484 val = XCDR (cache);
4485 4485 while (! NILP (val)
4486 4486 && ! EQ (XCAR (XCAR (val)), driver_list->driver->type))
4487 4487 val = XCDR (val);
4488 4488 font_assert (! NILP (val));
4489   - val = XCDR (XCAR (val));
4490   - if (XINT (XCAR (val)) == 0)
  4489 + tmp = XCDR (XCAR (val));
  4490 + if (XINT (XCAR (tmp)) == 0)
4491 4491 {
4492 4492 font_clear_cache (f, XCAR (val), driver_list->driver);
4493 4493 XSETCDR (cache, XCDR (val));
1  src/makefile.w32-in
@@ -506,6 +506,7 @@ $(BLD)/cmds.$(O) : \
506 506 $(SRC)/commands.h \
507 507 $(SRC)/composite.h \
508 508 $(SRC)/dispextern.h \
  509 + $(SRC)/frame.h \
509 510 $(SRC)/keyboard.h \
510 511 $(SRC)/keymap.h \
511 512 $(SRC)/syntax.h \
12 test/ChangeLog
... ... @@ -1,3 +1,15 @@
  1 +2009-12-18 Ulf Jasper <ulf.jasper@web.de>
  2 +
  3 + * icalendar-testsuite.el
  4 + (icalendar-testsuite--run-function-tests): Added
  5 + icalendar-testsuite--test-parse-vtimezone.
  6 + (icalendar-testsuite--test-parse-vtimezone): New.
  7 + (icalendar-testsuite--do-test-cycle): Doc changes.
  8 + (icalendar-testsuite--run-real-world-tests): Removed trailing
  9 + whitespace -- see change of icalendar--add-diary-entry in
  10 + icalendar.el.
  11 + (icalendar-testsuite--run-cycle-tests): Re-enabled all tests.
  12 +
1 13 2009-09-30 Glenn Morris <rgm@gnu.org>
2 14
3 15 * cedet/semantic-utest-c.el: Relicense under GPLv3+.
90 test/icalendar-testsuite.el
@@ -53,7 +53,8 @@
53 53 (icalendar-testsuite--test-datetime-to-diary-date)
54 54 (icalendar-testsuite--test-diarytime-to-isotime)
55 55 (icalendar-testsuite--test-calendar-style)
56   - (icalendar-testsuite--test-create-uid))
  56 + (icalendar-testsuite--test-create-uid)
  57 + (icalendar-testsuite--test-parse-vtimezone))
57 58
58 59 (defun icalendar-testsuite--test-format-ical-event ()
59 60 "Test `icalendar--format-ical-event'."
@@ -272,6 +273,48 @@ END:VEVENT
272 273 (icalendar--create-uid entry-full contents)))
273 274 ))
274 275
  276 +(defun icalendar-testsuite--test-parse-vtimezone ()
  277 + (let (vtimezone result)
  278 + (setq vtimezone (icalendar-testsuite--get-ical-event "BEGIN:VTIMEZONE
  279 +TZID:thename
  280 +BEGIN:STANDARD
  281 +DTSTART:16010101T040000
  282 +TZOFFSETFROM:+0300
  283 +TZOFFSETTO:+0200
  284 +RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=-1SU;BYMONTH=10
  285 +END:STANDARD
  286 +BEGIN:DAYLIGHT
  287 +DTSTART:16010101T030000
  288 +TZOFFSETFROM:+0200
  289 +TZOFFSETTO:+0300
  290 +RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=-1SU;BYMONTH=3
  291 +END:DAYLIGHT
  292 +END:VTIMEZONE
  293 +"))
  294 + (setq result (icalendar--parse-vtimezone vtimezone))
  295 + (assert (string= "thename" (car result)))
  296 + (message (cdr result))
  297 + (assert (string= "STD-02:00DST-03:00,M3.5.0/03:00:00,M10.5.0/04:00:00" (cdr result)))
  298 + (setq vtimezone (icalendar-testsuite--get-ical-event "BEGIN:VTIMEZONE
  299 +TZID:anothername
  300 +BEGIN:STANDARD
  301 +DTSTART:16010101T040000
  302 +TZOFFSETFROM:+0300
  303 +TZOFFSETTO:+0200
  304 +RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=2MO;BYMONTH=10
  305 +END:STANDARD
  306 +BEGIN:DAYLIGHT
  307 +DTSTART:16010101T030000
  308 +TZOFFSETFROM:+0200
  309 +TZOFFSETTO:+0300
  310 +RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=2MO;BYMONTH=3
  311 +END:DAYLIGHT
  312 +END:VTIMEZONE
  313 +"))
  314 + (setq result (icalendar--parse-vtimezone vtimezone))
  315 + (assert (string= "anothername" (car result)))
  316 + (message (cdr result))
  317 + (assert (string= "STD-02:00DST-03:00,M3.2.1/03:00:00,M10.2.1/04:00:00" (cdr result)))))
275 318
276 319 ;; ======================================================================
277 320 ;; Test methods for exporting from diary to icalendar
@@ -455,10 +498,16 @@ Argument INPUT icalendar event string."
455 498 (let ((temp-diary (make-temp-file "icalendar-test-diary"))
456 499 (temp-ics (make-temp-file "icalendar-test-ics"))
457 500 (org-input (buffer-substring-no-properties (point-min) (point-max))))
  501 +
  502 + ;; step 1: import
458 503 (icalendar-import-buffer temp-diary t t)
  504 +
  505 + ;; step 2: export what was just imported
459 506 (save-excursion
460 507 (find-file temp-diary)
461 508 (icalendar-export-region (point-min) (point-max) temp-ics))
  509 +
  510 + ;; compare the output of step 2 with the input of step 1
462 511 (save-excursion
463 512 (find-file temp-ics)
464 513 (goto-char (point-min))
@@ -468,6 +517,8 @@ Argument INPUT icalendar event string."
468 517 (unless (string-equal org-input cycled)
469 518 (error "Import test failed! Found `%s'\nbut expected `%s'" cycled
470 519 org-input))))
  520 +
  521 + ;; clean up -- Note this is done only if test is passed
471 522 (kill-buffer (find-buffer-visiting temp-diary))
472 523 (save-excursion
473 524 (set-buffer (find-buffer-visiting temp-ics))
@@ -1410,42 +1461,42 @@ END:VCALENDAR
1410 1461 nil
1411 1462 "&23/11/2004 14:00-14:30 Jjjjj & Wwwww
1412 1463 Status: TENTATIVE
1413   - Class: PRIVATE
  1464 + Class: PRIVATE
1414 1465 &23/11/2004 14:45-15:45 BB Aaaaaaaa Bbbbb
1415 1466 Status: TENTATIVE
1416   - Class: PRIVATE
  1467 + Class: PRIVATE
1417 1468 &23/11/2004 11:00-12:00 Hhhhhhhh
1418 1469 Status: TENTATIVE
1419   - Class: PRIVATE
  1470 + Class: PRIVATE
1420 1471 &%%(and (diary-cyclic 14 12 11 2004)) 14:00-18:30 MMM Aaaaaaaaa
1421 1472 Status: TENTATIVE
1422   - Class: PRIVATE
  1473 + Class: PRIVATE
1423 1474 &%%(and (diary-block 19 11 2004 19 11 2004)) Rrrr/Cccccc ii Aaaaaaaa
1424 1475 Desc: Vvvvv Rrrr aaa Cccccc
1425 1476 Status: TENTATIVE
1426   - Class: PRIVATE
  1477 + Class: PRIVATE
1427 1478 &%%(and (diary-cyclic 7 1 11 2004)) Wwww aa hhhh
1428 1479 Status: TENTATIVE
1429   - Class: PRIVATE "
  1480 + Class: PRIVATE"
1430 1481 "&11/23/2004 14:00-14:30 Jjjjj & Wwwww
1431 1482 Status: TENTATIVE
1432   - Class: PRIVATE
  1483 + Class: PRIVATE
1433 1484 &11/23/2004 14:45-15:45 BB Aaaaaaaa Bbbbb
1434 1485 Status: TENTATIVE
1435   - Class: PRIVATE
  1486 + Class: PRIVATE
1436 1487 &11/23/2004 11:00-12:00 Hhhhhhhh
1437 1488 Status: TENTATIVE
1438   - Class: PRIVATE
  1489 + Class: PRIVATE
1439 1490 &%%(and (diary-cyclic 14 11 12 2004)) 14:00-18:30 MMM Aaaaaaaaa
1440 1491 Status: TENTATIVE
1441   - Class: PRIVATE
  1492 + Class: PRIVATE
1442 1493 &%%(and (diary-block 11 19 2004 11 19 2004)) Rrrr/Cccccc ii Aaaaaaaa
1443 1494 Desc: Vvvvv Rrrr aaa Cccccc
1444 1495 Status: TENTATIVE
1445   - Class: PRIVATE
  1496 + Class: PRIVATE
1446 1497 &%%(and (diary-cyclic 7 11 1 2004)) Wwww aa hhhh
1447 1498 Status: TENTATIVE
1448   - Class: PRIVATE ")
  1499 + Class: PRIVATE")
1449 1500
1450 1501 ;; 2004-09-09 pg
1451 1502 (icalendar-testsuite--test-export
@@ -1555,13 +1606,12 @@ LOCATION:nowhere
1555 1606 ORGANIZER:ulf
1556 1607 ")
1557 1608
1558   - ;; FIXME: does not work
1559   - ;; (icalendar-testsuite--test-cycle
1560   - ;; "DTSTART;VALUE=DATE:19190909
1561   - ;;DTEND;VALUE=DATE:19190910
1562   - ;;RRULE:FREQ=YEARLY;INTERVAL=1;BYMONTH=09;BYMONTHDAY=09
1563   - ;;SUMMARY:and diary-anniversary
1564   - ;;")
  1609 + (icalendar-testsuite--test-cycle
  1610 + "DTSTART;VALUE=DATE:19190909
  1611 +DTEND;VALUE=DATE:19190910
  1612 +RRULE:FREQ=YEARLY;INTERVAL=1;BYMONTH=09;BYMONTHDAY=09
  1613 +SUMMARY:and diary-anniversary
  1614 +")
1565 1615 )
1566 1616
1567 1617

0 comments on commit 985439b

Please sign in to comment.
Something went wrong with that request. Please try again.