CVS: tmda/contrib ChangeLog,1.102,1.103 tmda.el,1.5,1.6
Josh Huber <[email protected]> Thu, 29 Apr 2004 08:24:18 -0700
| Newsgroups | gmane.mail.spam.tmda.cvs |
|---|---|
| Message-ID | <[email protected]> |
Update of /cvsroot/tmda/tmda/contrib In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16842 Modified Files: ChangeLog tmda.el Log Message: Commit of tmda.el patch by Bob Rogers: 2004-04-03 Bob Rogers <[email protected]> * tmda.el (tmda-pending-buffer-kill): FSF emacs `=' expects 2 args. (tmda-pending-command): Remove comma that prevented compilation. (tmda-pending-tag-command): FSF emacs delete-char needs an arg. (tmda-pending-changelist): FSF emacs has no copy-tree defaultly. (tmda-check-version): Fix logic error in versions >= 1.*. (tmda-add-to-list, tmda-generate-address, tmda-pending-apply-changes): supply missing format string (fixes a bug in processing of output that contains '%'). * tmda.el (tmda-pending-backward-clear): New command, bound to DEL. Index: ChangeLog =================================================================== RCS file: /cvsroot/tmda/tmda/contrib/ChangeLog,v retrieving revision 1.102 retrieving revision 1.103 diff -u -r1.102 -r1.103 --- ChangeLog 1 Oct 2003 22:28:38 -0000 1.102 +++ ChangeLog 29 Apr 2004 15:24:15 -0000 1.103 @@ -1,3 +1,17 @@ +2004-04-03 Bob Rogers <[email protected]> + + * tmda.el (tmda-pending-buffer-kill): FSF emacs `=' expects 2 args. + (tmda-pending-command): Remove comma that prevented compilation. + (tmda-pending-tag-command): FSF emacs delete-char needs an arg. + (tmda-pending-changelist): FSF emacs has no copy-tree defaultly. + (tmda-check-version): Fix logic error in versions >= 1.*. + (tmda-add-to-list, tmda-generate-address, tmda-pending-apply-changes): + supply missing format string (fixes a bug in processing of + output that contains '%'). + + * tmda.el (tmda-pending-backward-clear): New command, bound to + DEL. + 2003-10-01 Jason R. Mastaler <[email protected]> * smtp-check-sender (data): Change the default probe address to Index: tmda.el =================================================================== RCS file: /cvsroot/tmda/tmda/contrib/tmda.el,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- tmda.el 14 Nov 2002 04:35:14 -0000 1.5 +++ tmda.el 29 Apr 2004 15:24:16 -0000 1.6 @@ -458,14 +458,14 @@ "Blacklist sender wildcard in summary buffer.") (defun tmda-add-to-list (addr file) - (message (concat "Adding to " file " ...")) + (message "Adding to %s ..." file) (let ((require-final-newline t)) (with-temp-buffer (insert-file-contents-literally file) (goto-char (point-min)) (if (re-search-forward (concat "^" (regexp-quote addr) "$") nil t) - (message (concat addr " already in " file)) + (message "%s already in %s" addr file) (goto-char (point-max)) (insert addr) (write-file file))))) @@ -571,7 +571,7 @@ nil)))) (if string (progn - (message string) + (message "%s" string) (kill-new string)) (message "Invalid syntax, please try again.")))) @@ -580,13 +580,11 @@ (defun tmda-pending-buffer-kill () (interactive) (let* ((changes (tmda-pending-changelist)) - (dcount (length (cdr (assoc ?d changes)))) - (rcount (length (cdr (assoc ?r changes)))) - (quit - (if (not (= 0 dcount rcount)) - (y-or-n-p - "Quit tmda-pending buffer without applying changes? ") - t))) + (quit (if (or (cdr (assoc ?d changes)) + (cdr (assoc ?r changes))) + (y-or-n-p + "Quit tmda-pending buffer without applying changes? ") + t))) (when quit (kill-buffer tmda-pending-buffer)))) @@ -646,7 +644,7 @@ (defmacro tmda-pending-command (&rest forms) "Make the tmda-pending commands a little easier to read." - `(let ((msg ,(tmda-pending-msg))) + `(let ((msg (tmda-pending-msg))) (if msg (progn ,@forms) @@ -670,7 +668,7 @@ (beginning-of-line) (forward-char) (toggle-read-only 0) - (delete-char) + (delete-char 1) (insert char) (toggle-read-only 1)) (when tmda-pending-tag-auto-advance @@ -688,18 +686,26 @@ (interactive) (tmda-pending-tag-command " ")) +(defun tmda-pending-backward-clear () + "Clear any tagged operation on the previous line." + (interactive) + (let ((tmda-pending-tag-auto-advance nil)) + (if (tmda-pending-prev-msg) + (tmda-pending-tag-command " ") + (error "No previous message.")))) + (defun tmda-pending-changelist () (save-excursion (goto-char (point-min)) (let (msg (first t) - (changelist (copy-tree '((?d) (?r))))) + (changelist (mapcar (function list) '(?d ?r)))) (while (or first (tmda-pending-next-msg)) (when (setq msg (tmda-pending-msg)) - (let ((tag (save-excursion (forward-char 1) - (char-after)))) - (when (not (eq tag ? )) - (push msg (cdr (assoc tag changelist)))))) + (let* ((tag (char-after (1+ (point)))) + (cell (assoc tag changelist))) + (if cell + (setcdr cell (cons msg (cdr cell)))))) (setq first nil)) changelist))) @@ -711,14 +717,14 @@ (message "Processing...") (when (< 0 (length dels)) (message "Processing...deletes") - (message (shell-command-to-string - (format "tmda-pending -b -d %s" - (mapconcat 'identity dels " "))))) + (message "%s" (shell-command-to-string + (format "tmda-pending -b -d %s" + (mapconcat 'identity dels " "))))) (when (< 0 (length rels)) (message "Processing...releases") - (message (shell-command-to-string - (format "tmda-pending -b -r %s" - (mapconcat 'identity rels " ")))))) + (message "%s" (shell-command-to-string + (format "tmda-pending -b -r %s" + (mapconcat 'identity rels " ")))))) (sleep-for 0.5) (message "Processing...refreshing pending list") (tmda-pending-refresh-buffer) @@ -748,6 +754,7 @@ (local-set-key "d" 'tmda-pending-delete) (local-set-key "c" 'tmda-pending-clear-mark) (local-set-key " " 'tmda-pending-clear-mark) + (local-set-key "\C-?" 'tmda-pending-backward-clear) (local-set-key "x" 'tmda-pending-apply-changes) (local-set-key "n" 'tmda-pending-next-msg) (local-set-key "p" 'tmda-pending-prev-msg) @@ -774,9 +781,12 @@ (defun tmda-check-version () (let ((ver (shell-command-to-string "tmda-keygen --version"))) - (string-match "\\([0-9]+\\)\\.\\([0-9]+\\)" ver) - (and (>= (string-to-int (match-string 1 ver)) tmda-major-ver-req) - (>= (string-to-int (match-string 2 ver)) tmda-minor-ver-req)))) + (and (string-match "\\([0-9]+\\)\\.\\([0-9]+\\)" ver) + (let ((major (string-to-int (match-string 1 ver)))) + (or (> major tmda-major-ver-req) + (and (= major tmda-major-ver-req) + (>= (string-to-int (match-string 2 ver)) + tmda-minor-ver-req))))))) ;; utility function to setup keybindings