emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[ELPA-diffs] ELPA branch, master, updated. 13e0d3fb8052812a7477dea7ec1a3


From: Michael Albinus
Subject: [ELPA-diffs] ELPA branch, master, updated. 13e0d3fb8052812a7477dea7ec1a335918de0820
Date: Fri, 10 Jan 2014 10:01:42 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "ELPA".

The branch, master has been updated
       via  13e0d3fb8052812a7477dea7ec1a335918de0820 (commit)
      from  7f9a8ddbeaa1dbd5cd4c8f97066d156691266e2f (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 13e0d3fb8052812a7477dea7ec1a335918de0820
Author: Michael Albinus <address@hidden>
Date:   Fri Jan 10 11:00:40 2014 +0100

    * debbugs-org.el (debbugs-org-ids): Declare it buffer-local.
    (debbugs-org-show-buffer-name): New defun.  Apply it everywhere the
    respective variable has been used.
    (debbugs-org): Protect the whole code.
    (debbugs-org-show-reports): Let `debbugs-org-ids' survive mode
    setting.  Do not insert header line.  Do not format buffer.
    (debbugs-org-show-next-reports): Add file local variables.

diff --git a/packages/debbugs/debbugs-org.el b/packages/debbugs/debbugs-org.el
index a85cbbc..343308e 100644
--- a/packages/debbugs/debbugs-org.el
+++ b/packages/debbugs/debbugs-org.el
@@ -125,13 +125,19 @@
 ;; We do not add the bug numbers list to the elisp:link, because this
 ;; would be much too long.  Instead, this variable shall keep the bug
 ;; numbers.
-(defvar debbugs-org-ids nil
+(defvar-local debbugs-org-ids nil
   "The list of bug ids to be shown following the elisp link.")
 
 (defvar debbugs-org-show-buffer-name "*Org Bugs*"
   "The buffer name we present the bug reports.
 This could be a temporary buffer, or a buffer linked with a file.")
 
+(defvar debbugs-org-mode) ;; Silence compiler.
+(defun debbugs-org-show-buffer-name ()
+  "The buffer name we present the bug reports.
+This could be a temporary buffer, or a buffer linked with a file."
+  (if debbugs-org-mode (buffer-name) debbugs-org-show-buffer-name))
+
 ;;;###autoload
 (defun debbugs-org-search ()
   "Search for bugs interactively.
@@ -250,44 +256,42 @@ returned."
     (when (not (zerop (length tag)))
       (add-to-list 'debbugs-gnu-current-query (cons 'tag tag))))
 
-  (with-current-buffer (get-buffer-create debbugs-org-show-buffer-name)
-    (erase-buffer))
+    (unwind-protect
+       (with-current-buffer (get-buffer-create (debbugs-org-show-buffer-name))
+         (erase-buffer)
 
-  (unwind-protect
-      (let ((hits debbugs-gnu-default-hits-per-page))
-       (setq debbugs-org-ids (debbugs-gnu-get-bugs debbugs-gnu-current-query))
-
-       (when (> (length debbugs-org-ids) hits)
-         (let ((cursor-in-echo-area nil))
-           (setq hits
-                 (string-to-number
-                  (read-string
-                   (format
-                    "How many reports (available %d, default %d): "
-                    (length debbugs-org-ids) hits)
-                   nil
-                   nil
-                   (number-to-string hits))))))
-
-       (debbugs-org-show-next-reports hits))
-
-    ;; Reset query.
-    (setq debbugs-gnu-current-query nil)))
+         (let ((hits debbugs-gnu-default-hits-per-page))
+           (setq debbugs-org-ids
+                 (debbugs-gnu-get-bugs debbugs-gnu-current-query))
+
+           (when (> (length debbugs-org-ids) hits)
+             (let ((cursor-in-echo-area nil))
+               (setq hits
+                     (string-to-number
+                      (read-string
+                       (format
+                        "How many reports (available %d, default %d): "
+                        (length debbugs-org-ids) hits)
+                       nil
+                       nil
+                       (number-to-string hits))))))
+
+           (debbugs-org-show-next-reports hits)))
+
+      ;; Reset query.
+      (setq debbugs-gnu-current-query nil)))
 
 (defun debbugs-org-show-reports (bug-numbers)
   "Show bug reports as given in BUG-NUMBERS."
-  (pop-to-buffer (get-buffer-create debbugs-org-show-buffer-name))
-  (org-mode)
-  (debbugs-org-mode 1)
-  ;; FIXME: Does not show any effect.
-  (set (make-local-variable 'org-priority-faces) debbugs-org-priority-faces)
+  (pop-to-buffer (get-buffer-create (debbugs-org-show-buffer-name)))
+  ;; Local variable `debbugs-org-ids' must survive.
+  (let ((doi debbugs-org-ids))
+    (org-mode)
+    (debbugs-org-mode 1)
+    (setq debbugs-org-ids doi))
 
   (let ((inhibit-read-only t)
        (debbugs-port "gnu.org"))
-
-    (when (= (point) (point-min))
-      (insert "# -*- eval: (debbugs-org-mode 1); -*-\n\n"))
-
     (dolist (status
             (sort
              (apply 'debbugs-get-status bug-numbers)
@@ -366,11 +370,7 @@ returned."
            (seconds-to-time last-modified))))
 
        ;; Add text properties.
-       (add-text-properties beg (point) `(tabulated-list-id ,status))))
-
-    (goto-char (point-min))
-    (org-overview)
-    (set-buffer-modified-p nil)))
+       (add-text-properties beg (point) `(tabulated-list-id ,status))))))
 
 (defun debbugs-org-regenerate-status ()
   "Regenerate the `tabulated-list-id' text property.
@@ -391,21 +391,38 @@ the corresponding buffer (e.g. by closing Emacs)."
 
 (defun debbugs-org-show-next-reports (hits)
   "Show next HITS of bug reports."
-  (with-current-buffer (get-buffer-create debbugs-org-show-buffer-name)
+  (with-current-buffer (get-buffer-create (debbugs-org-show-buffer-name))
     (save-excursion
       (goto-char (point-max))
-      (forward-line -1)
-      (delete-region (point) (point-max))
+      (when (re-search-backward
+            "^* COMMENT \\[\\[elisp:(debbugs-org-show-next-reports" nil t)
+       (forward-line -1)
+       (delete-region (point) (point-max)))
       (debbugs-org-show-reports
        (butlast debbugs-org-ids (- (length debbugs-org-ids) hits)))
       (setq debbugs-org-ids
            (last debbugs-org-ids (- (length debbugs-org-ids) hits)))
+      (goto-char (point-max))
       (when debbugs-org-ids
-       (goto-char (point-max))
        (insert
         (format
-         "* [[elisp:(debbugs-org-show-next-reports %s)][Next bugs]]\n"
-         hits))))))
+         "* COMMENT [[elisp:(debbugs-org-show-next-reports %s)][Next 
bugs]]\n\n"
+         hits)))
+      (insert "* COMMENT Local " "Variables\n")
+      (when debbugs-org-ids
+       (insert "#+NAME: init\n"
+               "#+BEGIN_SRC elisp\n"
+               (format "(setq debbugs-org-ids '%s)\n" debbugs-org-ids)
+               "#+END_SRC\n\n"))
+      (insert "# Local " "Variables:\n"
+             "# mode: org\n"
+             "# eval: (debbugs-org-mode 1)\n")
+      (when debbugs-org-ids
+       (insert "# eval: (sbe \"init\")\n"))
+      (insert "# End:\n")
+      (goto-char (point-min))
+      (org-overview)
+      (set-buffer-modified-p nil))))
 
 (defconst debbugs-org-mode-map
   (let ((map (make-sparse-keymap)))
@@ -424,8 +441,8 @@ the corresponding buffer (e.g. by closing Emacs)."
 
 \\{debbugs-org-mode-map}"
   :lighter " Debbugs" :keymap debbugs-org-mode-map
-  (set (make-local-variable 'debbugs-org-show-buffer-name)
-       (if buffer-file-name (buffer-name) debbugs-org-show-buffer-name))
+  ;; FIXME: Does not show any effect.
+  (set (make-local-variable 'org-priority-faces) debbugs-org-priority-faces)
   (set (make-local-variable 'gnus-posting-styles)
        `((".*"
          (eval

-----------------------------------------------------------------------

Summary of changes:
 packages/debbugs/debbugs-org.el |  107 ++++++++++++++++++++++----------------
 1 files changed, 62 insertions(+), 45 deletions(-)


hooks/post-receive
-- 
ELPA



reply via email to

[Prev in Thread] Current Thread [Next in Thread]