summaryrefslogtreecommitdiff
path: root/editors/emacs23
diff options
context:
space:
mode:
authorAshish SHUKLA <ashish@FreeBSD.org>2012-02-22 13:19:03 +0000
committerAshish SHUKLA <ashish@FreeBSD.org>2012-02-22 13:19:03 +0000
commit76c1fae7bd1521d29186b0072ab27f949c8d8d83 (patch)
tree9c477f6ee0f9c8dac69a42a19642694e09772c17 /editors/emacs23
parentConnect quadra (diff)
- Update to version 23.4
- Remove dependency on libungif[1] - Import a diff from bzr repository to make VC work with Subversion 1.7[2] PR: ports/165298[1], ports/162191[2] Submitted by: olgeni[1], Yasuhiro KIMURA <yasu@utahime.org>[2]
Notes
Notes: svn path=/head/; revision=292053
Diffstat (limited to 'editors/emacs23')
-rw-r--r--editors/emacs23/Makefile8
-rw-r--r--editors/emacs23/distinfo4
-rw-r--r--editors/emacs23/files/patch-lisp-vc-svn.el184
3 files changed, 187 insertions, 9 deletions
diff --git a/editors/emacs23/Makefile b/editors/emacs23/Makefile
index 86a7097937b5..243bc371fab1 100644
--- a/editors/emacs23/Makefile
+++ b/editors/emacs23/Makefile
@@ -7,12 +7,10 @@
PORTNAME= emacs
PORTVERSION= ${EMACS_VER}
-PORTREVISION?= 6
PORTEPOCH= 2
CATEGORIES= editors ipv6
MASTER_SITES= ${MASTER_SITE_GNU}
MASTER_SITE_SUBDIR= ${PORTNAME}
-DISTNAME= ${PORTNAME}-${PORTVERSION}a
MAINTAINER= ashish@FreeBSD.org
COMMENT= GNU editing macros
@@ -26,7 +24,7 @@ CONFLICTS= emacs-19.* emacs-21.* emacs-22.* emacs-24.* \
xemacs-[0-9]* xemacs-devel-[0-9]* \
xemacs-mule-[0-9]* xemacs-devel-mule-[0-9]*
-EMACS_VER= 23.3
+EMACS_VER= 23.4
GNU_CONFIGURE= yes
USE_GMAKE= yes
USE_BZIP2= yes
@@ -145,11 +143,7 @@ LIB_DEPENDS+= tiff.4:${PORTSDIR}/graphics/tiff
.if defined(WITHOUT_GIF)
CONFIGURE_ARGS+= --without-gif
.else
-. if exists(${LOCALBASE}/lib/libgif.so)
LIB_DEPENDS+= gif.5:${PORTSDIR}/graphics/giflib
-. else
-LIB_DEPENDS+= ungif.5:${PORTSDIR}/graphics/libungif
-. endif
.endif
.if defined(WITHOUT_PNG)
diff --git a/editors/emacs23/distinfo b/editors/emacs23/distinfo
index dd6b9af54a4d..edba23746da5 100644
--- a/editors/emacs23/distinfo
+++ b/editors/emacs23/distinfo
@@ -1,4 +1,4 @@
-SHA256 (emacs-23.3a.tar.bz2) = 9f4beee3bf4987914d57851c0aac017cb92a1410c2b31ba313265c64a38cc6ba
-SIZE (emacs-23.3a.tar.bz2) = 38748283
+SHA256 (emacs-23.4.tar.bz2) = 26576f9e664397c729f78f5ffcd092969251988461896fe8793062346ee988b9
+SIZE (emacs-23.4.tar.bz2) = 38646508
SHA256 (emacs23.3canna-20110316.diff.gz) = 26cb4bdb88685641e23d3a27953db56e04712caf154963edcaea41f5a403c7d3
SIZE (emacs23.3canna-20110316.diff.gz) = 33845
diff --git a/editors/emacs23/files/patch-lisp-vc-svn.el b/editors/emacs23/files/patch-lisp-vc-svn.el
new file mode 100644
index 000000000000..5bb4725b299a
--- /dev/null
+++ b/editors/emacs23/files/patch-lisp-vc-svn.el
@@ -0,0 +1,184 @@
+
+$FreeBSD$
+
+--- lisp/vc-svn.el.orig
++++ lisp/vc-svn.el
+@@ -71,9 +71,9 @@
+ t ;`svn' doesn't support common args like -c or -b.
+ "String or list of strings specifying extra switches for svn diff under VC.
+ If nil, use the value of `vc-diff-switches' (or `diff-switches'),
+-together with \"-x --diff-cmd=diff\" (since svn diff does not
+-support the default \"-c\" value of `diff-switches'). If you
+-want to force an empty list of arguments, use t."
++together with \"-x --diff-cmd=\"`diff-command' (since 'svn diff'
++does not support the default \"-c\" value of `diff-switches').
++If you want to force an empty list of arguments, use t."
+ :type '(choice (const :tag "Unspecified" nil)
+ (const :tag "None" t)
+ (string :tag "Argument String")
+@@ -83,9 +83,9 @@
+ :version "22.1"
+ :group 'vc)
+
+-(defcustom vc-svn-header (or (cdr (assoc 'SVN vc-header-alist)) '("\$Id\$"))
++(defcustom vc-svn-header '("\$Id\$")
+ "Header keywords to be inserted by `vc-insert-headers'."
+- :version "22.1"
++ :version "24.1" ; no longer consult the obsolete vc-header-alist
+ :type '(repeat string)
+ :group 'vc)
+
+@@ -117,17 +117,13 @@
+ ;;;###autoload (getenv "SVN_ASP_DOT_NET_HACK"))
+ ;;;###autoload "_svn")
+ ;;;###autoload (t ".svn"))))
+-;;;###autoload (when (file-readable-p (expand-file-name
+-;;;###autoload (concat admin-dir "/entries")
+-;;;###autoload (file-name-directory f)))
++;;;###autoload (when (vc-find-root f admin-dir)
+ ;;;###autoload (load "vc-svn")
+ ;;;###autoload (vc-svn-registered f))))
+
+ (defun vc-svn-registered (file)
+ "Check if FILE is SVN registered."
+- (when (file-readable-p (expand-file-name (concat vc-svn-admin-directory
+- "/entries")
+- (file-name-directory file)))
++ (when (vc-svn-root file)
+ (with-temp-buffer
+ (cd (file-name-directory file))
+ (let* (process-file-side-effects
+@@ -170,15 +166,21 @@
+ (?? . unregistered)
+ ;; This is what vc-svn-parse-status does.
+ (?~ . edited)))
+- (re (if remote "^\\(.\\)......? \\([ *]\\) +\\(?:[-0-9]+\\)? \\(.*\\)$"
+- ;; Subexp 2 is a dummy in this case, so the numbers match.
+- "^\\(.\\)....\\(.\\) \\(.*\\)$"))
++ (re (if remote "^\\(.\\)\\(.\\).....? \\([ *]\\) +\\(?:[-0-9]+\\)? \\(.*\\)$"
++ ;; Subexp 3 is a dummy in this case, so the numbers match.
++ "^\\(.\\)\\(.\\)...\\(.\\) \\(.*\\)$"))
+ result)
+ (goto-char (point-min))
+ (while (re-search-forward re nil t)
+ (let ((state (cdr (assq (aref (match-string 1) 0) state-map)))
+- (filename (match-string 3)))
+- (and remote (string-equal (match-string 2) "*")
++ (propstat (cdr (assq (aref (match-string 2) 0) state-map)))
++ (filename (if (memq system-type '(windows-nt ms-dos))
++ (replace-regexp-in-string "\\\\" "/" (match-string 4))
++ (match-string 4))))
++ (and (memq propstat '(conflict edited))
++ (not (eq state 'conflict)) ; conflict always wins
++ (setq state propstat))
++ (and remote (string-equal (match-string 3) "*")
+ ;; FIXME are there other possible combinations?
+ (cond ((eq state 'edited) (setq state 'needs-merge))
+ ((not state) (setq state 'needs-update))))
+@@ -271,18 +273,16 @@
+ to the SVN command."
+ (apply 'vc-svn-command nil 0 files "add" (vc-switches 'SVN 'register)))
+
+-(defun vc-svn-responsible-p (file)
+- "Return non-nil if SVN thinks it is responsible for FILE."
+- (file-directory-p (expand-file-name vc-svn-admin-directory
+- (if (file-directory-p file)
+- file
+- (file-name-directory file)))))
++(defun vc-svn-root (file)
++ (vc-find-root file vc-svn-admin-directory))
+
+-(defalias 'vc-svn-could-register 'vc-svn-responsible-p
++(defalias 'vc-svn-responsible-p 'vc-svn-root)
++
++(defalias 'vc-svn-could-register 'vc-svn-root
+ "Return non-nil if FILE could be registered in SVN.
+ This is only possible if SVN is responsible for FILE's directory.")
+
+-(defun vc-svn-checkin (files rev comment)
++(defun vc-svn-checkin (files rev comment &optional extra-args-ignored)
+ "SVN-specific version of `vc-backend-checkin'."
+ (if rev (error "Committing to a specific revision is unsupported in SVN"))
+ (let ((status (apply
+@@ -518,7 +518,7 @@
+ (let* ((switches
+ (if vc-svn-diff-switches
+ (vc-switches 'SVN 'diff)
+- (list "--diff-cmd=diff" "-x"
++ (list (concat "--diff-cmd=" diff-command) "-x"
+ (mapconcat 'identity (vc-switches nil 'diff) " "))))
+ (async (and (not vc-disable-async-diff)
+ (vc-stay-local-p files 'SVN)
+@@ -590,20 +590,10 @@
+
+ (defun vc-svn-repository-hostname (dirname)
+ (with-temp-buffer
+- (let ((coding-system-for-read
+- (or file-name-coding-system
+- default-file-name-coding-system)))
+- (vc-insert-file (expand-file-name (concat vc-svn-admin-directory
+- "/entries")
+- dirname)))
++ (let (process-file-side-effects)
++ (vc-svn-command t t dirname "info" "--xml"))
+ (goto-char (point-min))
+- (when (re-search-forward
+- ;; Old `svn' used name="svn:this_dir", newer use just name="".
+- (concat "name=\"\\(?:svn:this_dir\\)?\"[\n\t ]*"
+- "\\(?:[-a-z]+=\"[^\"]*\"[\n\t ]*\\)*?"
+- "url=\"\\(?1:[^\"]+\\)\""
+- ;; Yet newer ones don't use XML any more.
+- "\\|^\ndir\n[0-9]+\n\\(?1:.*\\)") nil t)
++ (when (re-search-forward "<url>\\(.*\\)</url>" nil t)
+ ;; This is not a hostname but a URL. This may actually be considered
+ ;; as a feature since it allows vc-svn-stay-local to specify different
+ ;; behavior for different modules on the same server.
+@@ -642,7 +632,7 @@
+ "Parse output of \"svn status\" command in the current buffer.
+ Set file properties accordingly. Unless FILENAME is non-nil, parse only
+ information about FILENAME and return its status."
+- (let (file status)
++ (let (file status propstat)
+ (goto-char (point-min))
+ (while (re-search-forward
+ ;; Ignore the files with status X.
+@@ -652,7 +642,9 @@
+ (setq file (or filename
+ (expand-file-name
+ (buffer-substring (point) (line-end-position)))))
+- (setq status (char-after (line-beginning-position)))
++ (setq status (char-after (line-beginning-position))
++ ;; Status of the item's properties ([ MC]).
++ propstat (char-after (1+ (line-beginning-position))))
+ (if (eq status ??)
+ (vc-file-setprop file 'vc-state 'unregistered)
+ ;; Use the last-modified revision, so that searching in vc-print-log
+@@ -663,7 +655,7 @@
+ (vc-file-setprop
+ file 'vc-state
+ (cond
+- ((eq status ?\ )
++ ((and (eq status ?\ ) (eq propstat ?\ ))
+ (if (eq (char-after (match-beginning 1)) ?*)
+ 'needs-update
+ (vc-file-setprop file 'vc-checkout-time
+@@ -674,9 +666,11 @@
+ (vc-file-setprop file 'vc-working-revision "0")
+ (vc-file-setprop file 'vc-checkout-time 0)
+ 'added)
+- ((eq status ?C)
++ ;; Conflict in contents or properties.
++ ((or (eq status ?C) (eq propstat ?C))
+ (vc-file-setprop file 'vc-state 'conflict))
+- ((eq status '?M)
++ ;; Modified contents or properties.
++ ((or (eq status ?M) (eq propstat ?M))
+ (if (eq (char-after (match-beginning 1)) ?*)
+ 'needs-merge
+ 'edited))
+@@ -743,5 +737,4 @@
+
+ (provide 'vc-svn)
+
+-;; arch-tag: 02f10c68-2b4d-453a-90fc-1eee6cfb268d
+ ;;; vc-svn.el ends here