threads / patch / 17331

v2Change octal literals to be XEmacs friendly

Subject: [PATCH v2] Change octal literals to be XEmacs friendly

## tl;dr

7 messages between Jan 23, 2009 and Jan 26, 2009. Diffs are folded; open one to read it.

replies: 6people: 5as markdown or json

Vassili Karpov· Jan 23, 2009, 23:20 UTC · lore

The type-of ?\octal in XEmacs is character while in FSF Emacs it is integer. Case expression using this syntax will not work correctly on XEmacs. #ooctal syntax on the other hand produces integers everywhere.

Signed-off-by: Vassili Karpov <av1474@comtv.ru>
---
  contrib/emacs/git.el |   30 +++++++++++++++---------------
  1 files changed, 15 insertions(+), 15 deletions(-)
Show changes to contrib/emacs/git.el +15 −15
diff --git a/contrib/emacs/git.el b/contrib/emacs/git.el
index 09e8bae..715580a 100644
--- a/contrib/emacs/git.el
+++ b/contrib/emacs/git.el
@@ -562,29 +562,29 @@ the process output as a string, or nil if the git 
command failed."
    (let* ((old-type (lsh (or old-perm 0) -9))
  	 (new-type (lsh (or new-perm 0) -9))
  	 (str (case new-type
-		(?\100  ;; file
+		(#o100  ;; file
  		 (case old-type
-		   (?\100 nil)
-		   (?\120 "   (type change symlink -> file)")
-		   (?\160 "   (type change subproject -> file)")))
-		 (?\120  ;; symlink
+		   (#o100 nil)
+		   (#o120 "   (type change symlink -> file)")
+		   (#o160 "   (type change subproject -> file)")))
+		 (#o120  ;; symlink
  		  (case old-type
-		    (?\100 "   (type change file -> symlink)")
-		    (?\160 "   (type change subproject -> symlink)")
+		    (#o100 "   (type change file -> symlink)")
+		    (#o160 "   (type change subproject -> symlink)")
  		    (t "   (symlink)")))
-		  (?\160  ;; subproject
+		  (#o160  ;; subproject
  		   (case old-type
-		     (?\100 "   (type change file -> subproject)")
-		     (?\120 "   (type change symlink -> subproject)")
+		     (#o100 "   (type change file -> subproject)")
+		     (#o120 "   (type change symlink -> subproject)")
  		     (t "   (subproject)")))
-                  (?\110 nil)  ;; directory (internal, not a real git 
state)
-		  (?\000  ;; deleted or unknown
+                  (#o110 nil)  ;; directory (internal, not a real git 
state)
+		  (#o000  ;; deleted or unknown
  		   (case old-type
-		     (?\120 "   (symlink)")
-		     (?\160 "   (subproject)")))
+		     (#o120 "   (symlink)")
+		     (#o160 "   (subproject)")))
  		  (t (format "   (unknown type %o)" new-type)))))
      (cond (str (propertize str 'face 'git-status-face))
-          ((eq new-type ?\110) "/")
+          ((eq new-type #o110) "/")
            (t ""))))

  (defun git-rename-as-string (info)
-- 
1.6.0.2.GIT



-- 
mailto:av1474@comtv.ru
Junio C Hamano· Jan 24, 2009, 01:31 UTC · re: Vassili Karpov · lore

Re: [PATCH v2] Change octal literals to be XEmacs friendly

Vassili Karpov <av1474@comtv.ru> writes:

Please don't use "format=flowed"; your patch is whitespace damaged and does not apply.

Show 72 quoted lines
> The type-of ?\octal in XEmacs is character while in FSF Emacs it is
> integer. Case expression using this syntax will not work correctly on
> XEmacs. #ooctal syntax on the other hand produces integers everywhere.
>
> Signed-off-by: Vassili Karpov <av1474@comtv.ru>
> ---
>  contrib/emacs/git.el |   30 +++++++++++++++---------------
>  1 files changed, 15 insertions(+), 15 deletions(-)
>
> diff --git a/contrib/emacs/git.el b/contrib/emacs/git.el
> index 09e8bae..715580a 100644
> --- a/contrib/emacs/git.el
> +++ b/contrib/emacs/git.el
> @@ -562,29 +562,29 @@ the process output as a string, or nil if the
> git command failed."
>    (let* ((old-type (lsh (or old-perm 0) -9))
>  	 (new-type (lsh (or new-perm 0) -9))
>  	 (str (case new-type
> -		(?\100  ;; file
> +		(#o100  ;; file
>  		 (case old-type
> -		   (?\100 nil)
> -		   (?\120 "   (type change symlink -> file)")
> -		   (?\160 "   (type change subproject -> file)")))
> -		 (?\120  ;; symlink
> +		   (#o100 nil)
> +		   (#o120 "   (type change symlink -> file)")
> +		   (#o160 "   (type change subproject -> file)")))
> +		 (#o120  ;; symlink
>  		  (case old-type
> -		    (?\100 "   (type change file -> symlink)")
> -		    (?\160 "   (type change subproject -> symlink)")
> +		    (#o100 "   (type change file -> symlink)")
> +		    (#o160 "   (type change subproject -> symlink)")
>  		    (t "   (symlink)")))
> -		  (?\160  ;; subproject
> +		  (#o160  ;; subproject
>  		   (case old-type
> -		     (?\100 "   (type change file -> subproject)")
> -		     (?\120 "   (type change symlink -> subproject)")
> +		     (#o100 "   (type change file -> subproject)")
> +		     (#o120 "   (type change symlink -> subproject)")
>  		     (t "   (subproject)")))
> -                  (?\110 nil)  ;; directory (internal, not a real git
> state)
> -		  (?\000  ;; deleted or unknown
> +                  (#o110 nil)  ;; directory (internal, not a real git
> state)
> +		  (#o000  ;; deleted or unknown
>  		   (case old-type
> -		     (?\120 "   (symlink)")
> -		     (?\160 "   (subproject)")))
> +		     (#o120 "   (symlink)")
> +		     (#o160 "   (subproject)")))
>  		  (t (format "   (unknown type %o)" new-type)))))
>      (cond (str (propertize str 'face 'git-status-face))
> -          ((eq new-type ?\110) "/")
> +          ((eq new-type #o110) "/")
>            (t ""))))
>
>  (defun git-rename-as-string (info)
> -- 
> 1.6.0.2.GIT
>
>
>
> -- 
> mailto:av1474@comtv.ru
> --
> To unsubscribe from this list: send the line "unsubscribe git" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
Kalle Olavi Niemitalo· Jan 24, 2009, 01:46 UTC · re: Vassili Karpov · lore

Re: [PATCH v2] Change octal literals to be XEmacs friendly

Vassili Karpov <av1474@comtv.ru> writes:
> #ooctal syntax on the other hand produces integers everywhere.

GNU Emacs 20.7 doesn't support #o, but neither does it include the ewoc and log-edit libraries required by the current git.el.

It would be nice to have a comment in git.el saying which versions of Emacs and XEmacs it is supposed to support, but I guess people wouldn't bother testing those on every commit.

malc@pulsesoft.com· Jan 24, 2009, 02:01 UTC · re: Kalle Olavi Niemitalo · lore

Re: [PATCH v2] Change octal literals to be XEmacs friendly

Kalle Olavi Niemitalo <kon@iki.fi> writes:
Show 5 quoted lines
> Vassili Karpov <av1474@comtv.ru> writes:
>
>> #ooctal syntax on the other hand produces integers everywhere.
>
> GNU Emacs 20.7 doesn't support #o, but neither does it include
Bummer
> the ewoc and log-edit libraries required by the current git.el.

ewoc and log-edit are not part of XEmacs 21.4.20 (the version i am using), furthermore make-temp-file is not available either, but those problems, unlike the case/eql/literals issue, can be resolved without touching git.el (One might argue that case can be fixed with defadvice or other hackery, but that's a bit too much)

> It would be nice to have a comment in git.el saying which
> versions of Emacs and XEmacs it is supposed to support, but I
> guess people wouldn't bother testing those on every commit.
Well it doesn't "support" XEmacs at all.
-- 
mailto:av1474@comtv.ru
Junio C Hamano· Jan 24, 2009, 05:16 UTC · re: malc@pulsesoft.com · lore

Re: [PATCH v2] Change octal literals to be XEmacs friendly

malc@pulsesoft.com writes:
Show 9 quoted lines
> Kalle Olavi Niemitalo <kon@iki.fi> writes:
>
>> Vassili Karpov <av1474@comtv.ru> writes:
>>
>>> #ooctal syntax on the other hand produces integers everywhere.
>>
>> GNU Emacs 20.7 doesn't support #o, but neither does it include
>
> Bummer
To be portable you could certainly spell them in decimal integers, no?
malc@pulsesoft.com· Jan 24, 2009, 14:18 UTC · re: Junio C Hamano · lore

Re: [PATCH v2] Change octal literals to be XEmacs friendly

Junio C Hamano <gitster@pobox.com> writes:
Show 13 quoted lines
> malc@pulsesoft.com writes:
>
>> Kalle Olavi Niemitalo <kon@iki.fi> writes:
>>
>>> Vassili Karpov <av1474@comtv.ru> writes:
>>>
>>>> #ooctal syntax on the other hand produces integers everywhere.
>>>
>>> GNU Emacs 20.7 doesn't support #o, but neither does it include
>>
>> Bummer
>
> To be portable you could certainly spell them in decimal integers, no?
Sure.
-- 
mailto:av1474@comtv.ru
Alexandre Julliard· Jan 26, 2009, 22:59 UTC · re: Kalle Olavi Niemitalo · lore

Re: [PATCH v2] Change octal literals to be XEmacs friendly

Kalle Olavi Niemitalo <kon@iki.fi> writes:
Show 10 quoted lines
> Vassili Karpov <av1474@comtv.ru> writes:
>
>> #ooctal syntax on the other hand produces integers everywhere.
>
> GNU Emacs 20.7 doesn't support #o, but neither does it include
> the ewoc and log-edit libraries required by the current git.el.
>
> It would be nice to have a comment in git.el saying which
> versions of Emacs and XEmacs it is supposed to support, but I
> guess people wouldn't bother testing those on every commit.

I try to make sure that it still works with Emacs 21, but for older versions you're on your own. Of course if you find problems patches are welcome...

-- 
Alexandre Julliard
julliard@winehq.org

← back to recent threads