From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Jean Louis Newsgroups: gmane.emacs.help Subject: Re: Emacs Calendar - Removing holidays Date: Thu, 19 Nov 2020 19:05:07 +0300 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="34680"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mutt/2.0 (3d08634) (2020-11-07) Cc: Help Gnu Emacs To: Christopher Dimech Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Thu Nov 19 17:05:55 2020 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kfmRV-0008px-PH for geh-help-gnu-emacs@m.gmane-mx.org; Thu, 19 Nov 2020 17:05:53 +0100 Original-Received: from localhost ([::1]:54870 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kfmRU-0000CH-Qr for geh-help-gnu-emacs@m.gmane-mx.org; Thu, 19 Nov 2020 11:05:52 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:48842) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kfmQw-0000C9-EN for help-gnu-emacs@gnu.org; Thu, 19 Nov 2020 11:05:18 -0500 Original-Received: from static.rcdrun.com ([95.85.24.50]:44577) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kfmQu-0001vy-FA for help-gnu-emacs@gnu.org; Thu, 19 Nov 2020 11:05:18 -0500 Original-Received: from localhost ([::ffff:41.202.241.56]) (AUTH: PLAIN admin, TLS: TLS1.2,256bits,ECDHE_RSA_AES_256_GCM_SHA384) by static.rcdrun.com with ESMTPSA id 00000000002C1AE3.000000005FB697BA.0000016B; Thu, 19 Nov 2020 16:05:13 +0000 Content-Disposition: inline In-Reply-To: Received-SPF: pass client-ip=95.85.24.50; envelope-from=bugs@gnu.support; helo=static.rcdrun.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/11/19 06:53:12 X-ACL-Warn: Detected OS = Linux 3.11 and newer [fuzzy] X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "help-gnu-emacs" Xref: news.gmane.io gmane.emacs.help:125381 Archived-At: I understand you wish to highlight those days by your choice but not holidays when you press `x', is it so? Then maybe you do not need to erase holidays, you could maybe make a function to mark those days you wish to mark and you can bind it to any other key or even to `x'. Holidays are in the list: (((10 3 2020) "Sukkot") ((10 10 2020) "Shemini Atzeret") ((10 11 2020) "Simchat Torah") ((10 12 2020) "Columbus Day") ((10 20 2020) "Birth of the Báb") ((10 31 2020) "Halloween") ((11 11 2020) "Veteran's Day") ((11 12 2020) "Birth of Bahá’u’lláh") ((11 26 2020) "Thanksgiving") ((12 11 2020) "Hanukkah") ((12 21 2020) "Summer Solstice 1:02pm (EAT)") ((12 25 2020) "Christmas")) One holiday is in this form: ((10 3 2020) "Sukkot") So you could construct your list of holidays this way: '((10 3 2020) "Sukkot") (11 29 2020) "Something else")) And you put it in some function that returns such list or you can simply construct that list and call it `my-important-dates' Then copy this function `calendar-mark-holidays' to your file from holidays.el (defun calendar-mark-holidays (&optional event) "Mark notable days in the calendar window. If EVENT is non-nil, it's an event indicating the buffer position to use instead of point." (interactive (list last-nonmenu-event)) ;; If called from a menu, with the calendar window not selected. (with-current-buffer (if event (window-buffer (posn-window (event-start event))) (current-buffer)) (setq calendar-mark-holidays-flag t) (message "Marking holidays...") (dolist (holiday (calendar-holiday-list)) (calendar-mark-visible-date (car holiday) calendar-holiday-marker)) (message "Marking holidays...done"))) Then change it little by: (defun my-calendar-mark-my-days (&optional event) "Mark notable days in the calendar window. (interactive) ;; If called from a menu, with the calendar window not selected. (with-current-buffer (setq calendar-mark-holidays-flag t) (message "Marking my days...") (dolist (holiday (this-function-returns-my-days)) (calendar-mark-visible-date (car holiday) calendar-holiday-marker)) (message "Marking my days...done"))) Then you may bind that function to a key in calendar mode map.