vc-version-other-window, does not "respect" UTF-8

Aidan Kehoe kehoea at parhasard.net
Sun Dec 9 12:28:16 EST 2007


 Ar an seachtú lá de mí na Nollaig, scríobh Uwe Brauer: 

 > >>>>> "Aidan" == Aidan Kehoe <kehoea at parhasard.net> writes:
 > 
 >    >  Ar an triú lá de mí na Nollaig, scríobh Uwe Brauer: 
 > 
 >    >> 
 >    >> So the file is not in UTF-8. That is really bad. 
 >    >> 
 >    >> Can anybody reproduce this? What shall I do?
 > 
 >    > This sounds like a bug specific to the VC package, not a bug
 >    > specific to XEmacs. Ah, line 2610 vc.el; it doesn’t preserve the
 >    > coding system used in the original buffer. Is the bug addressed if
 >    > you add a
 > 
 >    > (setq-default buffer-file-coding-system 'utf-8)
 > 
 >    > after you load the UTF-8 coding system in your ~/.xemacs/init.el ? 
 > 
 > It seems that this setting prevents the bug, however I have it
 > uncommented in my .init file, so there must have been a reason why I
 > don't use it (always write comments.). BTW, mule 21.4.x and x-symbol
 > still do not work together smoothly :(, that is why latex always with
 > non mule.

:-( . Sorry to hear about that; I don’t have the time to get to that at the
moment. I don’t *really* have the time to get to the XEmacs work I’m
currently doing.

 > BTW
 > 
 > How did you produce
 >   Ar an triú lá de mí na Nollaig, scríobh Uwe Brauer: 
 > 
 > That does not look like supercite? I am not very pleased with
 > supercite anymore, so I am looking for a substitute.

I didn’t use any particular framework for it, beyond advice and the
message-insert-citation-line-function variable for Gnus. Anyway, here’s the
code for VM and Gnus, if you want to adapt it.

(defconst irish-month-list 
  [nil "Eanair" "Feabhra" "M\341rta" "Aibr\351an" "Bealtaine"  
       "Meitheamh" "I\372il" "L\372nasa" "M\351an F\363mhair"  
       "Deireadh F\363mhair" "na Samhain" "na Nollaig"] 
  "The months in Irish, in a format suitable to being preceded by mí.")

(defconst irish-day-ordinal-list  
  [nil "ch\351ad l\341" "dara l\341" "tri\372 l\341"  
       "ceathr\372 l\341" "c\372igi\372 l\341" "s\351i\372 l\341"  
       "seacht\372 l\341" "t-ocht\372 l\341" "naoi\372 l\341"  
       "deichi\372 l\341" "t-aon\372 l\341 d\351ag" "dara l\341 d\351ag" 
       "tri\372 l\341 d\351ag" "ceathr\372 l\341 d\351ag"  
       "c\372igi\372 l\341 d\351ag" "s\351\372 l\341 d\351ag"  
       "seacht\372 l\341 d\351ag" "t-ocht\372 l\341 d\351ag"  
       "nao\372 l\341 d\351ag" "fichi\372 l\341"  
       "ch\351ad l\341 is fiche" "dara l\341 is fiche"  
       "tr\355\372 l\341 is fiche" "ceathr\372 l\341 is fiche" 
       "c\372igi\372 l\341 is fiche" "s\351\372 l\341 is fiche"  
       "seacht\372 l\341 is fiche" "t-ocht\372 l\341 is fiche"  
       "nao\372 l\341 is fiche" "triochad\372 l\341"  
       "t-aon\372 l\341 is triochad" "dara l\341 is triochad"]
  "The ordinal names of the days of the month, in Irish.")

(defvar correspondents-attribution-remapping 
  (list (list (downcase "Hrvoje Niksic") (format "Hrvoje Nik%ci%c"  
                                                 (or 
                                                  (and-fboundp #'decode-char
                                                    (decode-char 'ucs #x161))
                                                  ?s)
						 (or
                                                  (and-fboundp #'decode-char
                                                    (decode-char 'ucs #x107))
                                                  ?c)))
        (list (downcase "[Someone] Lopez") "[Someone] L\363pez")) 
  "An alist of people whose names should be remapped in the attribution 
line, and what those names should be remapped to. ") 

(defun message-insert-citation-as-gaeilge ()
  "Insert a citation line in Irish."
  (when message-reply-headers
    (let* 
	((iso-date-list 
	  (timezone-parse-date (mail-header-date message-reply-headers)))
	  (month (string-to-int (elt iso-date-list 1)))
	  (day (string-to-int (elt iso-date-list 2)))
	  (full-from (mail-extract-address-components 
		      (mail-header-from message-reply-headers)))
	  (sender (or (first full-from) (second full-from)))
	  (remap (assoc (downcase sender) 
			correspondents-attribution-remapping)))
      (if remap 
	  (setq sender (second remap)))
      (insert "\n Ar an " (elt irish-day-ordinal-list day) " de m\355 "
	      (elt irish-month-list month) ", scr\355obh " sender
	      ": \n\n"))))

(setq message-citation-line-function  #'message-insert-citation-as-gaeilge)

(defadvice vm-do-reply (around tweak-vm-included-text-attributions activate)
  "Make an Irish-language attribution statement to work with VM.
This is broken for those invocations where VM replies to multiple messages
at once. "
 (let* ((msg (car (vm-select-marked-or-prefixed-messages count)))
	(send-full-name (vm-su-full-name msg))
	(remap (assoc (downcase send-full-name)
		      correspondents-attribution-remapping)))
   ;; These two variables are loaded from my ~/.xemacs/init.el at the
   ;; moment.
   (assert (and (not (null irish-day-ordinal-list)) 
		(not (null irish-month-list))))
   ;; We're not doing anything useful for multiple messages.
   (assert (= 1 count))
   (if remap
       (setq send-full-name (second remap)))
   (setq vm-included-text-attribution-format 
	 (concat "\n Ar an " (elt irish-day-ordinal-list 
				  (string-to-int (vm-su-monthday msg))) 
		 " de m\355 " (elt irish-month-list
				   (string-to-int (vm-su-month-number msg)))  
		 ", scr\355obh " send-full-name ": \n\n"))
   ad-do-it))

-- 
¿Dónde estará ahora mi sobrino Yoghurtu Nghé, que tuvo que huir
precipitadamente de la aldea por culpa de la escasez de rinocerontes?



More information about the XEmacs-Beta mailing list