diff options
author | Ashish SHUKLA <ashish@FreeBSD.org> | 2012-02-22 13:19:03 +0000 |
---|---|---|
committer | Ashish SHUKLA <ashish@FreeBSD.org> | 2012-02-22 13:19:03 +0000 |
commit | 76c1fae7bd1521d29186b0072ab27f949c8d8d83 (patch) | |
tree | 9c477f6ee0f9c8dac69a42a19642694e09772c17 /editors/emacs | |
parent | a2945c446075ff974905196b34dfa2c5d0175e32 (diff) | |
download | ports-76c1fae7bd1521d29186b0072ab27f949c8d8d83.tar.gz ports-76c1fae7bd1521d29186b0072ab27f949c8d8d83.zip |
Notes
Diffstat (limited to 'editors/emacs')
-rw-r--r-- | editors/emacs/Makefile | 8 | ||||
-rw-r--r-- | editors/emacs/distinfo | 4 | ||||
-rw-r--r-- | editors/emacs/files/patch-lisp-vc-svn.el | 184 |
3 files changed, 187 insertions, 9 deletions
diff --git a/editors/emacs/Makefile b/editors/emacs/Makefile index 86a7097937b5..243bc371fab1 100644 --- a/editors/emacs/Makefile +++ b/editors/emacs/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/emacs/distinfo b/editors/emacs/distinfo index dd6b9af54a4d..edba23746da5 100644 --- a/editors/emacs/distinfo +++ b/editors/emacs/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/emacs/files/patch-lisp-vc-svn.el b/editors/emacs/files/patch-lisp-vc-svn.el new file mode 100644 index 000000000000..5bb4725b299a --- /dev/null +++ b/editors/emacs/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 |