[Top][All Lists]

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

[elpa] master f5e5b60 3/5: excorporate-calfw.el: Enable clean byte-compi

From: Thomas Fitzsimmons
Subject: [elpa] master f5e5b60 3/5: excorporate-calfw.el: Enable clean byte-compiling in GNU ELPA
Date: Tue, 4 Sep 2018 21:07:08 -0400 (EDT)

branch: master
commit f5e5b600368774cda972cc7ffa707e21860d4990
Author: Thomas Fitzsimmons <address@hidden>
Commit: Thomas Fitzsimmons <address@hidden>

    excorporate-calfw.el: Enable clean byte-compiling in GNU ELPA
    * excorporate/excorporate-calfw.el: Specify NOERROR when
    require'ing calfw.
    (cfw:component-model, cfw:cp-add-selection-change-hook)
    (cfw:create-calendar-component-buffer, cfw:cursor-to-nearest-date)
    (cfw:date, cfw:model-set-contents-sources)
    (cfw:refresh-calendar-buffer, make-cfw:event, make-cfw:source):
    Declare functions.
    (cfw:component): Declare variable.
    (cfw:cp-set-contents-sources): Override to fix a bug.
    * excorporate/excorporate-calfw.el (exco-calfw-add-meetings)
    (exco-calfw-finalize-buffer): Do not declare cfw:component
    * copyright_exceptions: Add exception for description of calfw's
    copyright situation in excorporate-calfw.el.
 copyright_exceptions                      |  1 +
 packages/excorporate/excorporate-calfw.el | 29 ++++++++++++++++++++++++++---
 2 files changed, 27 insertions(+), 3 deletions(-)

diff --git a/copyright_exceptions b/copyright_exceptions
index a9609ef..fc321b3 100644
--- a/copyright_exceptions
+++ b/copyright_exceptions
@@ -63,6 +63,7 @@
 ./auctex/tex-info.el:   '("copyright" nil)
 ./debbugs/debbugs-gnu.el:        (insert "  Copyright-paperwork-exempt: yes"))
 ./ergoemacs-mode/ergoemacs-themes.el:                 ,(lambda () 
+./excorporate/excorporate-calfw.el:;; copyright assignment papers on file with 
the FSF.
 ./gnugo/gnugo.el:    (CP "Copyright"       game  simpletext)
 ./hyperbole/hib-doc-id.el:;;  Copyright:        
 ./math-symbol-lists/math-symbol-lists.el:    "columnsep" "columnseprule" 
"columnwidth" "contentsline" "copyright"
diff --git a/packages/excorporate/excorporate-calfw.el 
index 11bdfe8..5eda6e4 100644
--- a/packages/excorporate/excorporate-calfw.el
+++ b/packages/excorporate/excorporate-calfw.el
@@ -31,7 +31,32 @@
 ;;; Code:
-(require 'calfw)
+;; calfw is not FSF-assigned yet so it is not in GNU ELPA.  The
+;; following workarounds allow excorporate-calfw.elc to be built
+;; regardless.
+(require 'calfw nil t)
+(declare-function cfw:component-model "ext:calfw" t)
+(declare-function cfw:cp-add-selection-change-hook "ext:calfw" t)
+(declare-function cfw:cp-get-contents-sources "ext:calfw" t)
+(declare-function cfw:create-calendar-component-buffer "ext:calfw" t)
+(declare-function cfw:cursor-to-nearest-date "ext:calfw" t)
+(declare-function cfw:date "ext:calfw" t)
+(declare-function cfw:model-set-contents-sources "ext:calfw" t)
+(declare-function cfw:refresh-calendar-buffer "ext:calfw" t)
+(declare-function make-cfw:event "ext:calfw" t)
+(declare-function make-cfw:source "ext:calfw" t)
+(defvar cfw:component)
+;; Fix a bad bug in calfw.  See:
+;; https://github.com/kiwanami/emacs-calfw/pull/79
+(defun cfw:cp-set-contents-sources (component sources)
+  "Set content SOURCES for COMPONENT.
+SOURCES is a list of content sources."
+  (cfw:model-set-contents-sources
+   sources (cfw:component-model component)))
 (require 'excorporate)
 (defvar excorporate-calfw-buffer-name "*Excorporate*"
@@ -85,7 +110,6 @@ are the requested participants."
   (let ((event-list (exco-calendar-item-iterate response
     (with-current-buffer (get-buffer-create excorporate-calfw-buffer-name)
-      (declare (special cfw:component))
       (let* ((new-source (make-cfw:source
                          :name (format "%S (as of %s)"
@@ -99,7 +123,6 @@ are the requested participants."
 (defun exco-calfw-finalize-buffer ()
   "Finalize the Calfw widget after retrievals have completed."
   (with-current-buffer (get-buffer-create excorporate-calfw-buffer-name)
-    (declare (special cfw:component))
     (let ((sources (cfw:cp-get-contents-sources cfw:component))
          (status-source (make-cfw:source :name "Done."
                                          :data (lambda (_b _e) nil))))

reply via email to

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