bug-gnu-emacs
[Top][All Lists]
Advanced

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

bug#9510: 23.3; Wishlist: custom calendar header for `calendar-generate-


From: cinsky
Subject: bug#9510: 23.3; Wishlist: custom calendar header for `calendar-generate-month'
Date: Thu, 15 Sep 2011 12:22:40 +0900

This is a feature request, not a bug report.

In `M-x calenar', the current `calendar-generate-month' function
generates the month header using:

In calendar.el:

   (insert
    (calendar-string-spread
     (list (format "%s %d" (calendar-month-name month) year))
                   ^^^^^^^
     ?\s calendar-month-digit-width))

Since the order of month and year is fixed, it is difficult to have the
localized custom month header.  For example, In several east Asian
countries use "Year-Month" order, not "Month Year" order.

It would be great if `calenar-generate-month' expose a custom method
(or a hook?) to create the month header from the user-specified
function or variable.  For example:

Add following code in calendar.el:

(defcustom calendar-month-header-format
  (list '(format "%s %d" (calendar-month-name month) year))
  "The header line of the calendar.
This is a list of items that evaluate to strings.  During
evaluation, the variable `month' and `year' are available as the
month and year of the calendar.")

And, replace the code '(insert ...)' in the `calendar-generate-month'
to the following:

   (insert
    (calendar-string-spread
     (mapcar 'eval calendar-month-header-format)
     ?\s calendar-month-digit-width))

Then, it's upto the user for the definition of
`calendar-month-header-format' to provide the custom header format of
the calendar.

Thank you.



In GNU Emacs 23.3.1 (i686-pc-linux-gnu, GTK+ Version 2.24.4)
 of 2011-08-20 on silvanus
Windowing system distributor `The X.Org Foundation', version 11.0.10905000
configured using `configure  '--prefix=/usr' '--build=i686-pc-linux-gnu' 
'--host=i686-pc-linux-gnu' '--mandir=/usr/share/man' 
'--infodir=/usr/share/info' '--datadir=/usr/share' '--sysconfdir=/etc' 
'--localstatedir=/var/lib' '--program-suffix=-emacs-23' 
'--infodir=/usr/share/info/emacs-23' 
'--with-crt-dir=/usr/lib/gcc/i686-pc-linux-gnu/4.4.5/../../..' 
'--with-gameuser=games' '--without-hesiod' '--without-kerberos' 
'--without-kerberos5' '--without-gpm' '--with-dbus' '--with-sound' '--with-x' 
'--without-ns' '--without-gconf' '--with-toolkit-scroll-bars' '--with-gif' 
'--with-jpeg' '--with-png' '--with-rsvg' '--with-tiff' '--with-xpm' 
'--with-xft' '--without-libotf' '--without-m17n-flt' '--with-x-toolkit=gtk' 
'build_alias=i686-pc-linux-gnu' 'host_alias=i686-pc-linux-gnu' 'CFLAGS=-O2 
-march=pentium4 -pipe -fno-strict-aliasing' 'LDFLAGS=-Wl,-O1 -Wl,--as-needed' 
'CPPFLAGS=''

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: C
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: C
  value of $LANG: ko_KR.UTF-8
  value of $XMODIFIERS: nil
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

Major mode: Lisp Interaction

Minor modes in effect:
  shell-dirtrack-mode: t
  yas/global-mode: t
  yas/minor-mode: t
  which-function-mode: t
  iswitchb-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
<down-mouse-1> <mouse-1> M-x r e p o r t <tab> <re
turn>

Recent messages:
Loading /home/cinsk/.emacs.d/xskel.el (source)...done
Loading /usr/share/emacs/site-lisp/nxml-mode/rng-auto.el (source)...done
dired-garbage-files-regexp has unexpected value 
`"\\(?:\\.\\(?:aux\\|bak\\|dvi\\|log\\|orig\\|rej\\|toc\\)\\)\\'"'
Loading /usr/share/emacs/site-lisp/color-theme/themes/color-theme-example.el 
(source)...done
Loading /usr/share/emacs/site-lisp/color-theme/themes/color-theme-library.el 
(source)...done
For information about GNU Emacs and the GNU system, type C-h C-a.

Load-path shadows:
/usr/share/emacs/site-lisp/cedet/speedbar/sb-image hides 
/usr/share/emacs/23.3/lisp/sb-image
/usr/share/emacs/site-lisp/cedet/speedbar/dframe hides 
/usr/share/emacs/23.3/lisp/dframe
/usr/share/emacs/site-lisp/cedet/speedbar/speedbar hides 
/usr/share/emacs/23.3/lisp/speedbar
/usr/share/emacs/site-lisp/cedet/common/ezimage hides 
/usr/share/emacs/23.3/lisp/ezimage
/usr/share/emacs/site-lisp/css-mode/css-mode hides 
/usr/share/emacs/23.3/lisp/textmodes/css-mode
/usr/share/emacs/site-lisp/ruby-mode/ruby-mode hides 
/usr/share/emacs/23.3/lisp/progmodes/ruby-mode
/usr/share/emacs/site-lisp/org-mode/org-faces hides 
/usr/share/emacs/23.3/lisp/org/org-faces
/usr/share/emacs/site-lisp/org-mode/org-wl hides 
/usr/share/emacs/23.3/lisp/org/org-wl
/usr/share/emacs/site-lisp/org-mode/org-agenda hides 
/usr/share/emacs/23.3/lisp/org/org-agenda
/usr/share/emacs/site-lisp/org-mode/org-list hides 
/usr/share/emacs/23.3/lisp/org/org-list
/usr/share/emacs/site-lisp/org-mode/org-bibtex hides 
/usr/share/emacs/23.3/lisp/org/org-bibtex
/usr/share/emacs/site-lisp/org-mode/org-info hides 
/usr/share/emacs/23.3/lisp/org/org-info
/usr/share/emacs/site-lisp/org-mode/org-docbook hides 
/usr/share/emacs/23.3/lisp/org/org-docbook
/usr/share/emacs/site-lisp/org-mode/org-xoxo hides 
/usr/share/emacs/23.3/lisp/org/org-xoxo
/usr/share/emacs/site-lisp/org-mode/org-inlinetask hides 
/usr/share/emacs/23.3/lisp/org/org-inlinetask
/usr/share/emacs/site-lisp/org-mode/org-id hides 
/usr/share/emacs/23.3/lisp/org/org-id
/usr/share/emacs/site-lisp/org-mode/org-footnote hides 
/usr/share/emacs/23.3/lisp/org/org-footnote
/usr/share/emacs/site-lisp/org-mode/org-mew hides 
/usr/share/emacs/23.3/lisp/org/org-mew
/usr/share/emacs/site-lisp/org-mode/org-jsinfo hides 
/usr/share/emacs/23.3/lisp/org/org-jsinfo
/usr/share/emacs/site-lisp/org-mode/org-ascii hides 
/usr/share/emacs/23.3/lisp/org/org-ascii
/usr/share/emacs/site-lisp/org-mode/org-publish hides 
/usr/share/emacs/23.3/lisp/org/org-publish
/usr/share/emacs/site-lisp/org-mode/org-crypt hides 
/usr/share/emacs/23.3/lisp/org/org-crypt
/usr/share/emacs/site-lisp/org-mode/org-timer hides 
/usr/share/emacs/23.3/lisp/org/org-timer
/usr/share/emacs/site-lisp/org-mode/org-feed hides 
/usr/share/emacs/23.3/lisp/org/org-feed
/usr/share/emacs/site-lisp/org-mode/org-icalendar hides 
/usr/share/emacs/23.3/lisp/org/org-icalendar
/usr/share/emacs/site-lisp/org-mode/org-freemind hides 
/usr/share/emacs/23.3/lisp/org/org-freemind
/usr/share/emacs/site-lisp/org-mode/org-src hides 
/usr/share/emacs/23.3/lisp/org/org-src
/usr/share/emacs/site-lisp/org-mode/org-remember hides 
/usr/share/emacs/23.3/lisp/org/org-remember
/usr/share/emacs/site-lisp/org-mode/org-habit hides 
/usr/share/emacs/23.3/lisp/org/org-habit
/usr/share/emacs/site-lisp/org-mode/org-indent hides 
/usr/share/emacs/23.3/lisp/org/org-indent
/usr/share/emacs/site-lisp/org-mode/org-plot hides 
/usr/share/emacs/23.3/lisp/org/org-plot
/usr/share/emacs/site-lisp/org-mode/org-mac-message hides 
/usr/share/emacs/23.3/lisp/org/org-mac-message
/usr/share/emacs/site-lisp/org-mode/org-attach hides 
/usr/share/emacs/23.3/lisp/org/org-attach
/usr/share/emacs/site-lisp/org-mode/org-table hides 
/usr/share/emacs/23.3/lisp/org/org-table
/usr/share/emacs/site-lisp/org-mode/org-vm hides 
/usr/share/emacs/23.3/lisp/org/org-vm
/usr/share/emacs/site-lisp/org-mode/org-datetree hides 
/usr/share/emacs/23.3/lisp/org/org-datetree
/usr/share/emacs/site-lisp/org-mode/org-colview hides 
/usr/share/emacs/23.3/lisp/org/org-colview
/usr/share/emacs/site-lisp/org-mode/org-install hides 
/usr/share/emacs/23.3/lisp/org/org-install
/usr/share/emacs/site-lisp/org-mode/org-rmail hides 
/usr/share/emacs/23.3/lisp/org/org-rmail
/usr/share/emacs/site-lisp/org-mode/org-protocol hides 
/usr/share/emacs/23.3/lisp/org/org-protocol
/usr/share/emacs/site-lisp/org-mode/org-exp-blocks hides 
/usr/share/emacs/23.3/lisp/org/org-exp-blocks
/usr/share/emacs/site-lisp/org-mode/org-exp hides 
/usr/share/emacs/23.3/lisp/org/org-exp
/usr/share/emacs/site-lisp/org-mode/org-mhe hides 
/usr/share/emacs/23.3/lisp/org/org-mhe
/usr/share/emacs/site-lisp/org-mode/org-compat hides 
/usr/share/emacs/23.3/lisp/org/org-compat
/usr/share/emacs/site-lisp/org-mode/org-clock hides 
/usr/share/emacs/23.3/lisp/org/org-clock
/usr/share/emacs/site-lisp/org-mode/org hides /usr/share/emacs/23.3/lisp/org/org
/usr/share/emacs/site-lisp/org-mode/org-bbdb hides 
/usr/share/emacs/23.3/lisp/org/org-bbdb
/usr/share/emacs/site-lisp/org-mode/org-w3m hides 
/usr/share/emacs/23.3/lisp/org/org-w3m
/usr/share/emacs/site-lisp/org-mode/org-latex hides 
/usr/share/emacs/23.3/lisp/org/org-latex
/usr/share/emacs/site-lisp/org-mode/org-macs hides 
/usr/share/emacs/23.3/lisp/org/org-macs
/usr/share/emacs/site-lisp/org-mode/org-mouse hides 
/usr/share/emacs/23.3/lisp/org/org-mouse
/usr/share/emacs/site-lisp/org-mode/org-archive hides 
/usr/share/emacs/23.3/lisp/org/org-archive
/usr/share/emacs/site-lisp/org-mode/org-gnus hides 
/usr/share/emacs/23.3/lisp/org/org-gnus
/usr/share/emacs/site-lisp/org-mode/org-irc hides 
/usr/share/emacs/23.3/lisp/org/org-irc
/usr/share/emacs/site-lisp/org-mode/org-mobile hides 
/usr/share/emacs/23.3/lisp/org/org-mobile
/usr/share/emacs/site-lisp/org-mode/org-html hides 
/usr/share/emacs/23.3/lisp/org/org-html
/usr/share/emacs/site-lisp/nxml-mode/nxml-maint hides 
/usr/share/emacs/23.3/lisp/nxml/nxml-maint
/usr/share/emacs/site-lisp/nxml-mode/rng-cmpct hides 
/usr/share/emacs/23.3/lisp/nxml/rng-cmpct
/usr/share/emacs/site-lisp/nxml-mode/nxml-rap hides 
/usr/share/emacs/23.3/lisp/nxml/nxml-rap
/usr/share/emacs/site-lisp/nxml-mode/nxml-parse hides 
/usr/share/emacs/23.3/lisp/nxml/nxml-parse
/usr/share/emacs/site-lisp/nxml-mode/nxml-outln hides 
/usr/share/emacs/23.3/lisp/nxml/nxml-outln
/usr/share/emacs/site-lisp/nxml-mode/rng-valid hides 
/usr/share/emacs/23.3/lisp/nxml/rng-valid
/usr/share/emacs/site-lisp/nxml-mode/rng-loc hides 
/usr/share/emacs/23.3/lisp/nxml/rng-loc
/usr/share/emacs/site-lisp/nxml-mode/nxml-ns hides 
/usr/share/emacs/23.3/lisp/nxml/nxml-ns
/usr/share/emacs/site-lisp/nxml-mode/rng-parse hides 
/usr/share/emacs/23.3/lisp/nxml/rng-parse
/usr/share/emacs/site-lisp/nxml-mode/rng-pttrn hides 
/usr/share/emacs/23.3/lisp/nxml/rng-pttrn
/usr/share/emacs/site-lisp/nxml-mode/rng-xsd hides 
/usr/share/emacs/23.3/lisp/nxml/rng-xsd
/usr/share/emacs/site-lisp/nxml-mode/rng-match hides 
/usr/share/emacs/23.3/lisp/nxml/rng-match
/usr/share/emacs/site-lisp/nxml-mode/rng-uri hides 
/usr/share/emacs/23.3/lisp/nxml/rng-uri
/usr/share/emacs/site-lisp/nxml-mode/nxml-enc hides 
/usr/share/emacs/23.3/lisp/nxml/nxml-enc
/usr/share/emacs/site-lisp/nxml-mode/nxml-glyph hides 
/usr/share/emacs/23.3/lisp/nxml/nxml-glyph
/usr/share/emacs/site-lisp/nxml-mode/rng-nxml hides 
/usr/share/emacs/23.3/lisp/nxml/rng-nxml
/usr/share/emacs/site-lisp/nxml-mode/nxml-util hides 
/usr/share/emacs/23.3/lisp/nxml/nxml-util
/usr/share/emacs/site-lisp/nxml-mode/nxml-uchnm hides 
/usr/share/emacs/23.3/lisp/nxml/nxml-uchnm
/usr/share/emacs/site-lisp/nxml-mode/xsd-regexp hides 
/usr/share/emacs/23.3/lisp/nxml/xsd-regexp
/usr/share/emacs/site-lisp/nxml-mode/nxml-mode hides 
/usr/share/emacs/23.3/lisp/nxml/nxml-mode
/usr/share/emacs/site-lisp/nxml-mode/rng-dt hides 
/usr/share/emacs/23.3/lisp/nxml/rng-dt
/usr/share/emacs/site-lisp/nxml-mode/rng-util hides 
/usr/share/emacs/23.3/lisp/nxml/rng-util
/usr/share/emacs/site-lisp/nxml-mode/rng-maint hides 
/usr/share/emacs/23.3/lisp/nxml/rng-maint
/usr/share/emacs/site-lisp/nxml-mode/xmltok hides 
/usr/share/emacs/23.3/lisp/nxml/xmltok
/usr/share/emacs/site-lisp/cjk-latex/thai-word hides 
/usr/share/emacs/23.3/lisp/language/thai-word
/usr/share/emacs/site-lisp/cedet/eieio/eieio-opt hides 
/usr/share/emacs/23.3/lisp/emacs-lisp/eieio-opt
/usr/share/emacs/site-lisp/cedet/eieio/eieio-base hides 
/usr/share/emacs/23.3/lisp/emacs-lisp/eieio-base
/usr/share/emacs/site-lisp/cedet/eieio/eieio hides 
/usr/share/emacs/23.3/lisp/emacs-lisp/eieio
/usr/share/emacs/site-lisp/cedet/eieio/chart hides 
/usr/share/emacs/23.3/lisp/emacs-lisp/chart
/usr/share/emacs/site-lisp/cedet/eieio/eieio-datadebug hides 
/usr/share/emacs/23.3/lisp/emacs-lisp/eieio-datadebug
/usr/share/emacs/site-lisp/cedet/eieio/eieio-comp hides 
/usr/share/emacs/23.3/lisp/emacs-lisp/eieio-comp
/usr/share/emacs/site-lisp/cedet/eieio/eieio-custom hides 
/usr/share/emacs/23.3/lisp/emacs-lisp/eieio-custom
/usr/share/emacs/site-lisp/cedet/eieio/eieio-speedbar hides 
/usr/share/emacs/23.3/lisp/emacs-lisp/eieio-speedbar
/usr/share/emacs/site-lisp/cedet/common/pulse hides 
/usr/share/emacs/23.3/lisp/cedet/pulse
/usr/share/emacs/site-lisp/cedet/common/data-debug hides 
/usr/share/emacs/23.3/lisp/cedet/data-debug
/usr/share/emacs/site-lisp/cedet/ede/ede hides 
/usr/share/emacs/23.3/lisp/cedet/ede
/usr/share/emacs/site-lisp/cedet/common/cedet-files hides 
/usr/share/emacs/23.3/lisp/cedet/cedet-files
/usr/share/emacs/site-lisp/cedet/semantic/semantic hides 
/usr/share/emacs/23.3/lisp/cedet/semantic
/usr/share/emacs/site-lisp/cedet/common/cedet-idutils hides 
/usr/share/emacs/23.3/lisp/cedet/cedet-idutils
/usr/share/emacs/site-lisp/cedet/common/cedet hides 
/usr/share/emacs/23.3/lisp/cedet/cedet
/usr/share/emacs/site-lisp/cedet/common/cedet-global hides 
/usr/share/emacs/23.3/lisp/cedet/cedet-global
/usr/share/emacs/site-lisp/cedet/srecode/srecode hides 
/usr/share/emacs/23.3/lisp/cedet/srecode
/usr/share/emacs/site-lisp/cedet/common/mode-local hides 
/usr/share/emacs/23.3/lisp/cedet/mode-local
/usr/share/emacs/site-lisp/cedet/common/inversion hides 
/usr/share/emacs/23.3/lisp/cedet/inversion
/usr/share/emacs/site-lisp/cedet/common/cedet-cscope hides 
/usr/share/emacs/23.3/lisp/cedet/cedet-cscope

Features:
(shadow sort mail-extr message ecomplete rfc822 mml mml-sec
password-cache mm-decode mm-bodies mm-encode mailcap mail-parse rfc2231
rfc2047 rfc2045 qp ietf-drums mailabbrev nnheader gnus-util netrc
time-date mm-util mail-prsvr gmm-utils mailheader canlock sha1 hex-util
hashcash mail-utils emacsbug ess-toolbar ess-mouse mouseme thingatpt
browse-url ess-menu ess-swv ess-noweb noweb-font-lock-mode ess-bugs-l
essd-els ess-sas-d ess-sas-l ess-sas-a executable shell ess-arc-d
ess-vst-d ess-xls-d ess-lsp-l ess-sta-d ess-sta-l make-regexp ess-sp6-d
ess-sp5-d ess-sp3-d ess-r-d ess-r-args ess-s-l ess-inf ess-utils
ess-mode noweb-mode ess ess-custom ess-compat ess-site scala-mode-auto
advice help-fns advice-preload yasnippet assoc w3m-load inf-ruby
ruby-mode python-mode info-look info ansi-color compile comint
org-install cal-menu calendar cal-loaddefs cinsk-wood color-theme
wid-edit starttls smtpmail sendmail xcscope dired-x dired-aux dired
nxml-enc slime-autoloads windmove winner vc-jump vc vc-dispatcher git
log-edit easy-mmode ring pcvs-util add-log ewoc ffap which-func imenu
iswitchb cc-mode cc-fonts easymenu cc-menus cc-cmds cc-styles cc-align
cc-engine cc-vars cc-defs regexp-opt xskel xlicense autoinsert skeleton
edmacro kmacro cl cl-19 korea-util tooltip ediff-hook vc-hooks
lisp-float-type mwheel x-win x-dnd font-setting tool-bar dnd fontset
image fringe lisp-mode register page menu-bar rfn-eshadow timer select
scroll-bar mldrag mouse jit-lock font-lock syntax facemenu font-core
frame cham georgian utf-8-lang misc-lang vietnamese tibetan thai
tai-viet lao korean japanese hebrew greek romanian slovak czech european
ethiopic indian cyrillic chinese case-table epa-hook jka-cmpr-hook help
simple abbrev loaddefs button minibuffer faces cus-face files
text-properties overlay md5 base64 format env code-pages mule custom
widget hashtable-print-readable backquote make-network-process dbusbind
font-render-setting gtk x-toolkit x multi-tty emacs)

-- 
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
Korean Ver: http://www.cinsk.org/cfaqs/





reply via email to

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