Version 4.2.
- Drop upstreamed -iedit patch. - Add -emacs patch to fix various Emacs issues.
This commit is contained in:
parent
88df21fcb3
commit
485eed3e57
10
.gitignore
vendored
10
.gitignore
vendored
@ -1,8 +1,2 @@
|
||||
/merlin-3.2.2.tar.gz
|
||||
/merlin-3.3.1.tar.gz
|
||||
/merlin-3.3.2.tar.gz
|
||||
/merlin-3.3.3.tar.gz
|
||||
/merlin-v3.3.4-preview1.tbz
|
||||
/merlin-v3.3.4.tbz
|
||||
/merlin-3.3.7-4.11-preview1.tar.gz
|
||||
/merlin-4.1.tar.gz
|
||||
/merlin-*.tar.gz
|
||||
/merlin-*.tbz
|
||||
|
103
ocaml-merlin-emacs.patch
Normal file
103
ocaml-merlin-emacs.patch
Normal file
@ -0,0 +1,103 @@
|
||||
Fixes these warnings:
|
||||
|
||||
In ac-merlin-locate:
|
||||
merlin-ac.el:142:8:Warning: merlin-locate called with 1 argument, but accepts
|
||||
only 0
|
||||
|
||||
In toplevel form:
|
||||
merlin-cap.el:30:1:Warning: Unused lexical argument `state'
|
||||
|
||||
In merlin-company-backend:
|
||||
merlin-company.el:112:23:Warning: merlin-locate called with 1 argument, but
|
||||
accepts only 0
|
||||
Iedit default key binding is C-;
|
||||
|
||||
In toplevel form:
|
||||
merlin-iedit.el:49:1:Warning: Unused lexical argument `c'
|
||||
merlin-iedit.el:49:1:Warning: Unused lexical argument `b'
|
||||
|
||||
In toplevel form:
|
||||
merlin-xref.el:16:1:Warning: Unused lexical argument `symbol'
|
||||
merlin-xref.el:24:1:Warning: Unused lexical argument `symbol'
|
||||
|
||||
In end of data:
|
||||
merlin.el:1924:1:Warning: the following functions are not known to be defined:
|
||||
first, rest
|
||||
|
||||
--- a/emacs/merlin-ac.el 2021-04-13 02:53:39.000000000 -0600
|
||||
+++ b/emacs/merlin-ac.el 2021-04-13 14:15:33.735325907 -0600
|
||||
@@ -139,7 +139,7 @@ wrong then recompute it."
|
||||
(when (popup-hidden-p ac-menu)
|
||||
(ac-show-menu))
|
||||
(let ((merlin-locate-in-new-window 'always))
|
||||
- (merlin-locate (ac-selected-candidate)))
|
||||
+ (merlin-locate-ident (ac-selected-candidate)))
|
||||
(ac-show-menu)))
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
--- a/emacs/merlin-cap.el 2021-04-13 02:53:39.000000000 -0600
|
||||
+++ b/emacs/merlin-cap.el 2021-04-13 14:18:43.383116394 -0600
|
||||
@@ -27,7 +27,7 @@ trigger useless merlin calls.")
|
||||
|
||||
;; Internal functions
|
||||
|
||||
-(defun merlin-cap--lookup (string state)
|
||||
+(defun merlin-cap--lookup (string _state)
|
||||
"Lookup the entry STRING inside the completion table."
|
||||
(let ((ret (assoc string merlin-cap--table)))
|
||||
(if ret (message "%s%s" (car ret) (cdr ret)))))
|
||||
--- a/emacs/merlin-company.el 2021-04-13 02:53:39.000000000 -0600
|
||||
+++ b/emacs/merlin-company.el 2021-04-13 14:32:00.527211921 -0600
|
||||
@@ -109,7 +109,7 @@
|
||||
(doc-buffer (merlin-company--doc-buffer arg))
|
||||
(location
|
||||
(ignore-errors
|
||||
- (let ((data (merlin-locate arg)))
|
||||
+ (let ((data (merlin-locate-ident arg)))
|
||||
(when (listp data)
|
||||
(let ((filename (merlin-lookup 'file data (buffer-file-name)))
|
||||
(linum (cdr (assoc 'line (assoc 'pos data)))))
|
||||
--- a/emacs/merlin.el 2021-04-13 02:53:39.000000000 -0600
|
||||
+++ b/emacs/merlin.el 2021-04-13 14:11:50.200586231 -0600
|
||||
@@ -1267,8 +1267,8 @@ strictly within, or nil if there is no s
|
||||
"Returns the first `hole` of the list such that
|
||||
`(funcall comp hole current-point)`"
|
||||
(when holes
|
||||
- (let* ((head (first holes))
|
||||
- (tail (rest holes))
|
||||
+ (let* ((head (cl-first holes))
|
||||
+ (tail (cl-rest holes))
|
||||
(start (merlin-lookup 'start head))
|
||||
(hole-point (merlin-make-point start)))
|
||||
(if (funcall comp hole-point current-point)
|
||||
--- a/emacs/merlin-iedit.el 2021-04-13 02:53:39.000000000 -0600
|
||||
+++ b/emacs/merlin-iedit.el 2021-04-13 14:19:18.000078147 -0600
|
||||
@@ -56,7 +56,7 @@
|
||||
(if (listp r)
|
||||
(cl-letf (((symbol-function 'iedit-printable) #'merlin-iedit--printable)
|
||||
((symbol-function 'iedit-make-occurrences-overlays)
|
||||
- (lambda (a b c)
|
||||
+ (lambda (a _b _c)
|
||||
(merlin-iedit--make-occurrences-overlays a))))
|
||||
(iedit-start r (point-min) (point-max)))
|
||||
(message r))))))
|
||||
--- a/emacs/merlin-xref.el 2021-04-13 02:53:39.000000000 -0600
|
||||
+++ b/emacs/merlin-xref.el 2021-04-13 14:19:51.431041212 -0600
|
||||
@@ -13,7 +13,7 @@
|
||||
(goto-char loc)
|
||||
(buffer-substring (line-beginning-position) (line-end-position))))
|
||||
|
||||
-(cl-defmethod xref-backend-references ((_backend (eql merlin-xref)) symbol)
|
||||
+(cl-defmethod xref-backend-references ((_backend (eql merlin-xref)) _symbol)
|
||||
(mapcar
|
||||
(lambda (loc)
|
||||
(let ((pt (merlin-make-point (alist-get 'start loc))))
|
||||
@@ -21,7 +21,7 @@
|
||||
(xref-make-buffer-location (current-buffer) pt))))
|
||||
(merlin--occurrences)))
|
||||
|
||||
-(cl-defmethod xref-backend-definitions ((_backend (eql merlin-xref)) symbol)
|
||||
+(cl-defmethod xref-backend-definitions ((_backend (eql merlin-xref)) _symbol)
|
||||
(let* ((loc (merlin-locate))
|
||||
(file (alist-get 'file loc))
|
||||
(pos (alist-get 'pos loc))
|
@ -1,38 +0,0 @@
|
||||
--- a/emacs/merlin-company.el 2021-02-16 03:29:29.000000000 -0700
|
||||
+++ b/emacs/merlin-company.el 2021-03-09 16:53:30.948523612 -0700
|
||||
@@ -29,6 +29,7 @@
|
||||
|
||||
(defcustom merlin-company-everywhere t
|
||||
"Non-nil to offer completions in comments and strings."
|
||||
+ :group 'merlin
|
||||
:type 'boolean)
|
||||
|
||||
;; Internal functions
|
||||
--- a/emacs/merlin-iedit.el 2021-02-16 03:29:29.000000000 -0700
|
||||
+++ b/emacs/merlin-iedit.el 2021-03-10 09:03:03.533151403 -0700
|
||||
@@ -32,8 +32,8 @@
|
||||
iedit-read-only-occurrences-overlays)
|
||||
(push (iedit-make-occurrence-overlay beginning ending)
|
||||
iedit-occurrences-overlays))))
|
||||
- (when (and occurrences iedit-unmatched-lines-invisible)
|
||||
- (iedit-hide-unmatched-lines iedit-occurrence-context-lines))))
|
||||
+ (when (and occurrences iedit-hiding)
|
||||
+ (iedit-hide-context-lines iedit-occurrence-context-lines))))
|
||||
(length occurrences))
|
||||
|
||||
(defun merlin-iedit-occurrences ()
|
||||
@@ -44,10 +44,10 @@
|
||||
"-identifier-at" (merlin/unmake-point (point)))))
|
||||
(when r
|
||||
(if (listp r)
|
||||
- (flet ((iedit-printable (a)
|
||||
- (merlin-iedit--printable))
|
||||
- (iedit-make-occurrences-overlays (a b c)
|
||||
- (merlin-iedit--make-occurrences-overlays a)))
|
||||
+ (cl-flet ((iedit-printable (a)
|
||||
+ (merlin-iedit--printable))
|
||||
+ (iedit-make-occurrences-overlays (a b c)
|
||||
+ (merlin-iedit--make-occurrences-overlays a)))
|
||||
(iedit-start r (point-min) (point-max)))
|
||||
(message r))))))
|
||||
|
@ -3,10 +3,11 @@
|
||||
%endif
|
||||
|
||||
%global srcname merlin
|
||||
%global ocamlver 412
|
||||
|
||||
Name: ocaml-%{srcname}
|
||||
Version: 4.1
|
||||
Release: 2%{?dist}
|
||||
Version: 4.2
|
||||
Release: 1%{?dist}
|
||||
Summary: Context sensitive completion for OCaml
|
||||
|
||||
# The entire source is MIT except:
|
||||
@ -20,11 +21,11 @@ Summary: Context sensitive completion for OCaml
|
||||
# The final license is due to the linking exception on the LGPLv2 files.
|
||||
License: MIT and QPL
|
||||
URL: https://ocaml.github.io/%{srcname}/
|
||||
Source0: https://github.com/ocaml/%{srcname}/archive/v%{version}/%{srcname}-%{version}.tar.gz
|
||||
Source0: https://github.com/ocaml/%{srcname}/releases/download/v%{version}-%{ocamlver}/%{srcname}-v%{version}-%{ocamlver}.tbz
|
||||
# Fix the tests to work with /usr/lib64 as well as /usr/lib
|
||||
Patch0: %{name}-test-lib64.patch
|
||||
# Update the Emacs interface for recent changes to emacs-iedit
|
||||
Patch1: %{name}-iedit.patch
|
||||
# Fix various issues in the Emacs interface
|
||||
Patch1: %{name}-emacs.patch
|
||||
|
||||
BuildRequires: emacs
|
||||
BuildRequires: emacs-auto-complete
|
||||
@ -92,7 +93,7 @@ Requires: vim-filesystem
|
||||
This package contains the Vim interface to merlin.
|
||||
|
||||
%prep
|
||||
%autosetup -n %{srcname}-%{version} -p1
|
||||
%autosetup -n %{srcname}-v%{version}-%{ocamlver} -p1
|
||||
|
||||
%build
|
||||
dune build %{_smp_mflags}
|
||||
@ -110,11 +111,6 @@ find %{buildroot}%{_libdir}/ocaml -name \*.ml -delete
|
||||
# We install the documentation with the doc macro
|
||||
rm -fr %{buildroot}%{_prefix}/doc
|
||||
|
||||
%ifarch %{ocaml_native_compiler}
|
||||
# Add missing executable bits
|
||||
find %{buildroot}%{_libdir}/ocaml -name \*.cmxs -exec chmod a+x {} \+
|
||||
%endif
|
||||
|
||||
# Reinstall vim files to Fedora default location
|
||||
mkdir -p %{buildroot}%{vimfiles_root}
|
||||
mv %{buildroot}%{_datadir}/%{srcname}/vim/* %{buildroot}%{vimfiles_root}
|
||||
@ -152,6 +148,11 @@ dune runtest
|
||||
%{vimfiles_root}/*/*
|
||||
|
||||
%changelog
|
||||
* Tue Apr 13 2021 Jerry James <loganjerry@gmail.com> - 4.2-1
|
||||
- Version 4.2
|
||||
- Drop upstreamed -iedit patch
|
||||
- Add -emacs patch to fix various Emacs issues
|
||||
|
||||
* Fri Mar 26 2021 Jerry James <loganjerry@gmail.com> - 4.1-2
|
||||
- Fix tests on 64-bit systems with the -test-lib64 patch
|
||||
- Add -emacs-iedit patch to adapt to recent iedit changes
|
||||
|
2
sources
2
sources
@ -1 +1 @@
|
||||
SHA512 (merlin-4.1.tar.gz) = f0f3ada007f8214b97a8557bddca87eded48ee01a8bb88aba6476e52881ead52d9f47e2666a9292b5c6a490e4cfdc7d8bb322e8489f78eaac7b0f80b6d1e87bc
|
||||
SHA512 (merlin-v4.2-412.tbz) = 27fbfb2ac50d7cd86807bd8cb02ff1e4661ee46abf071b9bec505e1df6d41f366c9c287988e66096fb7a14b67fd806df39c56b9f70c53ec40612192ba2a0e530
|
||||
|
Loading…
Reference in New Issue
Block a user