{"thread":{"id":"6315","subject":"[PATCH] git.el: Define the propertize function if needed, for XEmacs compatibility.","startedAt":"2007-01-09T20:27:40Z","lastAt":"2007-01-09T20:27:40Z","messageCount":1,"participants":["Alexandre Julliard"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"31278","messageId":"877ivw0wub.fsf@wine.dyndns.org","threadId":"6315","inReplyTo":null,"subject":"[PATCH] git.el: Define the propertize function if needed, for XEmacs compatibility.","fromName":"Alexandre Julliard","fromEmail":"julliard@winehq.org","sentAt":"2007-01-09T20:27:40Z","receivedAt":"2007-01-09T20:27:40Z","isPatch":true,"sender":{"key":"julliard@winehq.org","avatar":null},"body":"Also use `concat' instead of `format' in the pretty-printer since\nformat doesn't preserve properties under XEmacs.\n\nSigned-off-by: Alexandre Julliard <julliard@winehq.org>\n---\n contrib/emacs/git.el |   18 +++++++++++++-----\n 1 files changed, 13 insertions(+), 5 deletions(-)\n\ndiff --git a/contrib/emacs/git.el b/contrib/emacs/git.el\nindex ede3ab2..d90ba81 100644\n--- a/contrib/emacs/git.el\n+++ b/contrib/emacs/git.el\n@@ -280,6 +280,15 @@ and returns the process output as a string.\"\n     (git-run-command nil nil \"update-index\" \"--info-only\" \"--add\" \"--\" (file-relative-name ignore-name)))\n   (git-add-status-file (if created 'added 'modified) (file-relative-name ignore-name))))\n \n+; propertize definition for XEmacs, stolen from erc-compat\n+(eval-when-compile\n+  (unless (fboundp 'propertize)\n+    (defun propertize (string &rest props)\n+      (let ((string (copy-sequence string)))\n+        (while props\n+          (put-text-property 0 (length string) (nth 0 props) (nth 1 props) string)\n+          (setq props (cddr props)))\n+        string))))\n \n ;;;; Wrappers for basic git commands\n ;;;; ------------------------------------------------------------\n@@ -448,11 +457,10 @@ and returns the process output as a string.\"\n \n (defun git-fileinfo-prettyprint (info)\n   \"Pretty-printer for the git-fileinfo structure.\"\n-  (insert (format \"   %s %s %s  %s%s\"\n-                  (if (git-fileinfo->marked info) (propertize \"*\" 'face 'git-mark-face) \" \")\n-                  (git-status-code-as-string (git-fileinfo->state info))\n-                  (git-permissions-as-string (git-fileinfo->old-perm info) (git-fileinfo->new-perm info))\n-                  (git-escape-file-name (git-fileinfo->name info))\n+  (insert (concat \"   \" (if (git-fileinfo->marked info) (propertize \"*\" 'face 'git-mark-face) \" \")\n+                  \" \" (git-status-code-as-string (git-fileinfo->state info))\n+                  \" \" (git-permissions-as-string (git-fileinfo->old-perm info) (git-fileinfo->new-perm info))\n+                  \"  \" (git-escape-file-name (git-fileinfo->name info))\n                   (git-rename-as-string info))))\n \n (defun git-parse-status (status)\n-- \n1.4.4.4.g37ed\n\n-- \nAlexandre Julliard\njulliard@winehq.org\n"}]}