+Fri Jul 9 22:21:16 1999 Lars Magne Ingebrigtsen <larsi@menja.ifi.uio.no>
+
+ * gnus.el: Pterodactyl Gnus v0.95 is released.
+
+1999-07-09 21:46:05 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * mm-decode.el (mm-mailcap-command): New function.
+ (mm-display-external): Use it.
+
+ * gnus-art.el (article-make-date-line): Work for India.
+
+ * mm-encode.el (mm-qp-or-base64): Typo.
+
+ * gnus-topic.el (gnus-topic-goto-topic): Made into command.
+
Fri Jul 9 19:28:29 1999 Lars Magne Ingebrigtsen <larsi@menja.ifi.uio.no>
* gnus.el: Pterodactyl Gnus v0.94 is released.
;; buggy dates.
((eq type 'local)
(let ((tz (car (current-time-zone))))
- (format "Date: %s %s%04d" (current-time-string time)
- (if (> tz 0) "+" "-") (abs (/ tz 36)))))
+ (format "Date: %s %s%02d%02d" (current-time-string time)
+ (if (> tz 0) "+" "-") (/ tz 3600) (/ (% tz 3600) 60))))
;; Convert to Universal Time.
((eq type 'ut)
(concat "Date: "
(gnus-group-topic group))))
(defun gnus-topic-goto-topic (topic)
- "Go to TOPIC."
(when topic
(gnus-goto-char (text-property-any (point-min) (point-max)
'gnus-topic (intern topic)))))
+(defun gnus-topic-jump-to-topic (topic)
+ "Go to TOPIC."
+ (interactive
+ (list (completing-read "Go to topic: "
+ (mapcar 'list (gnus-topic-list))
+ nil t)))
+ (dolist (topic (gnus-current-topics topic))
+ (gnus-topic-fold t))
+ (gnus-topic-goto-topic topic))
+
(defun gnus-current-topic ()
"Return the name of the current topic."
(let ((result
(car gnus-group-list-mode) (cdr gnus-group-list-mode)
nil nil topic level))
-(defun gnus-topic-fold (&optional insert)
+(defun gnus-topic-fold (&optional insert topic)
"Remove/insert the current topic."
- (let ((topic (gnus-group-topic-name)))
+ (let ((topic (or topic (gnus-group-topic-name))))
(when topic
(save-excursion
(if (not (gnus-group-active-topic-p))
"c" gnus-topic-copy-group
"h" gnus-topic-hide-topic
"s" gnus-topic-show-topic
+ "j" gnus-topic-jump-to-topic
"M" gnus-topic-move-matching
"C" gnus-topic-copy-matching
"\C-i" gnus-topic-indent
["Copy matching" gnus-topic-copy-matching t]
["Move matching" gnus-topic-move-matching t])
("Topics"
+ ["Goto" gnus-topic-jump-to-topic t]
["Show" gnus-topic-show-topic t]
["Hide" gnus-topic-hide-topic t]
["Delete" gnus-topic-delete t]
:link '(custom-manual "(gnus)Exiting Gnus")
:group 'gnus)
-(defconst gnus-version-number "0.94"
+(defconst gnus-version-number "0.95"
"Version number for this version of Gnus.")
(defconst gnus-version (format "Pterodactyl Gnus v%s" gnus-version-number)
(if (and (symbolp script) (fboundp script))
(funcall script)
(mail-source-call-script
- (format-spec
- script spec))))
+ (format-spec script spec))))
(when delay
(sleep-for delay)))
(mail-source-callback callback server)
(mail-source-run-script
postscript
- (format-spec-make
- ?p password ?t mail-source-crash-box
- ?s server ?P port ?u user)))
+ (format-spec-make ?p password ?t mail-source-crash-box
+ ?s server ?P port ?u user)))
;; We nix out the password in case the error
;; was because of a wrong password being given.
(setq mail-source-password-cache
(start-process "*display*" nil
"xterm"
"-e" shell-file-name "-c"
- (format method
- (mm-quote-arg file)))
+ (mm-mailcap-command
+ method file (mm-handle-type handle)))
(start-process "*display*"
(setq buffer (generate-new-buffer "*mm*"))
shell-file-name
- "-c" (format method
- (mm-quote-arg file)))))
+ "-c"
+ (mm-mailcap-command
+ method file (mm-handle-type handle)))))
(mm-handle-set-undisplayer handle (cons file buffer)))
(message "Displaying %s..." (format method file))))))
+(defun mm-mailcap-command (method file type-list)
+ (let ((ctl (cdr type-list))
+ (beg 0)
+ out sub total)
+ (while (string-match "%{\\([^}]+\\)}\\|%s\\|%t" method beg)
+ (push (substring method beg (match-beginning 0)) out)
+ (setq beg (match-end 0)
+ total (match-string 0 method)
+ sub (match-string 1 method))
+ (cond
+ ((string= total "%s")
+ (push (mm-quote-arg file) out))
+ ((string= total "%t")
+ (push (mm-quote-arg (car type-list)) out))
+ (t
+ (push (mm-quote-arg (or (cdr (assq (intern sub) ctl)) "")) out))))
+ (push (substring method beg (length method)) out)
+ (mapconcat 'identity (nreverse out) "")))
+
(defun mm-remove-parts (handles)
"Remove the displayed MIME parts represented by HANDLE."
(if (and (listp handles)
(unless (eobp)
(forward-char 1)
(incf 8bit)))))
- (if (> (/ (* 8bit 1.0) (buffer-size)) 0.2)
- 'quoted-base64
- 'printable)))))
+ (if (> (/ (* 8bit 1.0) (buffer-size)) 0.166)
+ 'quoted-printable
+ 'base64)))))
(provide 'mm-encode)
1999-07-09 19:41:34 Lars Magne Ingebrigtsen <larsi@gnus.org>
* gnus.texi (Using MIME): Addition.
+ (Topic Commands): Addition.
1999-07-06 05:37:46 Alexandre Oliva <oliva@dcc.unicamp.br>
@c \input texinfo @c -*-texinfo-*-
@setfilename gnus
-@settitle Pterodactyl Gnus 0.94 Manual
+@settitle Pterodactyl Gnus 0.95 Manual
@synindex fn cp
@synindex vr cp
@synindex pg cp
@tex
@titlepage
-@title Pterodactyl Gnus 0.94 Manual
+@title Pterodactyl Gnus 0.95 Manual
@author by Lars Magne Ingebrigtsen
@page
spool or your mbox file. All at the same time, if you want to push your
luck.
-This manual corresponds to Pterodactyl Gnus 0.94.
+This manual corresponds to Pterodactyl Gnus 0.95.
@end ifinfo
(@code{gnus-topic-move-group}). This command uses the process/prefix
convention (@pxref{Process/Prefix}).
+@item T j
+@kindex T j (Topic)
+@findex gnus-topic-jump-to-topic
+Go to a topic (@code{gnus-topic-jump-to-topic}).
+
@item T c
@kindex T c (Topic)
@findex gnus-topic-copy-group
\input texinfo @c -*-texinfo-*-
@setfilename message
-@settitle Pterodactyl Message 0.94 Manual
+@settitle Pterodactyl Message 0.95 Manual
@synindex fn cp
@synindex vr cp
@synindex pg cp
@tex
@titlepage
-@title Pterodactyl Message 0.94 Manual
+@title Pterodactyl Message 0.95 Manual
@author by Lars Magne Ingebrigtsen
@page
* Key Index:: List of Message mode keys.
@end menu
-This manual corresponds to Pterodactyl Message 0.94. Message is
+This manual corresponds to Pterodactyl Message 0.95. Message is
distributed with the Gnus distribution bearing the same version number
as this manual.