# [PATCH v2] Change octal literals to be XEmacs friendly

7 messages from 2009-01-23 to 2009-01-26. Participants: Vassili Karpov, Junio C Hamano, Kalle Olavi Niemitalo, malc@pulsesoft.com, Alexandre Julliard.
Thread: https://gitlist.dev/t/17331

## Vassili Karpov, 2009-01-23 23:20

Subject: [PATCH v2] Change octal literals to be XEmacs friendly
Message-ID: <Pine.LNX.4.64.0901240219530.19590@linmac.oyster.ru>
URL: https://gitlist.dev/e/Pine.LNX.4.64.0901240219530.19590%40linmac.oyster.ru

```

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

```

## Junio C Hamano, 2009-01-24 01:31

Subject: Re: [PATCH v2] Change octal literals to be XEmacs friendly
Message-ID: <7vocxxpk0z.fsf@gitster.siamese.dyndns.org>
URL: https://gitlist.dev/e/7vocxxpk0z.fsf%40gitster.siamese.dyndns.org
In-Reply-To: <Pine.LNX.4.64.0901240219530.19590@linmac.oyster.ru>

```
Vassili Karpov <av1474@comtv.ru> writes:

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

> 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, 2009-01-24 01:46

Subject: Re: [PATCH v2] Change octal literals to be XEmacs friendly
Message-ID: <874ozp79y4.fsf@Astalo.kon.iki.fi>
URL: https://gitlist.dev/e/874ozp79y4.fsf%40Astalo.kon.iki.fi
In-Reply-To: <Pine.LNX.4.64.0901240219530.19590@linmac.oyster.ru>

```
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, 2009-01-24 02:01

Subject: Re: [PATCH v2] Change octal literals to be XEmacs friendly
Message-ID: <878wp1mphq.fsf@linmac.oyster.ru>
URL: https://gitlist.dev/e/878wp1mphq.fsf%40linmac.oyster.ru
In-Reply-To: <874ozp79y4.fsf@Astalo.kon.iki.fi>

```
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

> 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, 2009-01-24 05:16

Subject: Re: [PATCH v2] Change octal literals to be XEmacs friendly
Message-ID: <7v3af9p9lq.fsf@gitster.siamese.dyndns.org>
URL: https://gitlist.dev/e/7v3af9p9lq.fsf%40gitster.siamese.dyndns.org
In-Reply-To: <878wp1mphq.fsf@linmac.oyster.ru>

```
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?

```

## malc@pulsesoft.com, 2009-01-24 14:18

Subject: Re: [PATCH v2] Change octal literals to be XEmacs friendly
Message-ID: <873af8okic.fsf@linmac.oyster.ru>
URL: https://gitlist.dev/e/873af8okic.fsf%40linmac.oyster.ru
In-Reply-To: <7v3af9p9lq.fsf@gitster.siamese.dyndns.org>

```
Junio C Hamano <gitster@pobox.com> writes:

> 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, 2009-01-26 22:59

Subject: Re: [PATCH v2] Change octal literals to be XEmacs friendly
Message-ID: <877i4had24.fsf@wine.dyndns.org>
URL: https://gitlist.dev/e/877i4had24.fsf%40wine.dyndns.org
In-Reply-To: <874ozp79y4.fsf@Astalo.kon.iki.fi>

```
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
> 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

```
