1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105
|
Description: <short summary of the patch>
TODO: Put a short summary on the line above and replace this paragraph
with a longer explanation of this change. Complete the meta-information
with other relevant fields (see below for details). To make it easier, the
information below has been extracted from the changelog. Adjust it or drop
it.
.
vala-mode-el (0.1-2) unstable; urgency=medium
.
* Patch away `(lambda ... ,foo ...) ickiness (closes: #702714)
* Source option single-debian-patch for in-tree rather than quilt patch
* Bump debian standards version (no changes required)
* Update upstream location
* Fix grammar in comment in source code
* Add support to use C# semantics when ECB and CEDIT are both installed
Author: Barak A. Pearlmutter <bap@debian.org>
Bug-Debian: https://bugs.debian.org/702714
---
The information above should follow the Patch Tagging Guidelines, please
checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here
are templates for supplementary fields that you might want to add:
Origin: <vendor|upstream|other>, <url of original patch>
Bug: <url in upstream bugtracker>
Bug-Debian: https://bugs.debian.org/<bugnumber>
Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber>
Forwarded: <no|not-needed|url proving that it has been forwarded>
Reviewed-By: <name and email of someone who approved the patch>
Last-Update: <YYYY-MM-DD>
--- vala-mode-el-0.1.orig/vala-mode.el
+++ vala-mode-el-0.1/vala-mode.el
@@ -1,4 +1,4 @@
-;;; vala-mode.el --- Vala mode derived mode
+;;; vala-mode.el --- Vala mode derived mode -*- lexical-binding: t -*-
;; Author: 2005 Dylan R. E. Moonfire
;; 2008 Étienne BERSAC
@@ -46,6 +46,8 @@
;; 0.1 : Initial version based on csharp-mode
;;
+(require 'cl)
+
;; This is a copy of the function in cc-mode which is used to handle
;; the eval-when-compile which is needed during other times.
(defun c-filter-ops (ops opgroup-filter op-filter &optional xlate)
@@ -55,13 +57,15 @@
(cond ((eq opgroup-filter t)
(setq opgroup-filter (lambda (opgroup) t)))
((not (functionp opgroup-filter))
- (setq opgroup-filter `(lambda (opgroup)
- (memq opgroup ',opgroup-filter)))))
+ (let ((opgroup-filter-orig opgroup-filter))
+ (setq opgroup-filter (lambda (opgroup)
+ (memq opgroup opgroup-filter-orig))))))
(cond ((eq op-filter t)
(setq op-filter (lambda (op) t)))
((stringp op-filter)
- (setq op-filter `(lambda (op)
- (string-match ,op-filter op)))))
+ (let ((op-filter-orig op-filter))
+ (setq op-filter (lambda (op)
+ (string-match op-filter-orig op))))))
(unless xlate
(setq xlate 'identity))
(c-with-syntax-table (c-lang-const c-mode-syntax-table)
@@ -149,22 +153,20 @@
;; Fontify leading identifiers in fully
;; qualified names like "Foo.Bar".
,@(when (c-lang-const c-opt-identifier-concat-key)
- `((,(byte-compile
- `(lambda (limit)
- (while (re-search-forward
- ,(concat "\\(\\<" ; 1
- "\\(" (c-lang-const c-symbol-key)
- "\\)" ; 2
- "[ \t\n\r\f\v]*"
- (c-lang-const
- c-opt-identifier-concat-key)
- "[ \t\n\r\f\v]*"
- "\\)"
- "\\("
- (c-lang-const
- c-opt-after-id-concat-key)
- "\\)")
- limit t)
+ (let ((regexp (concat "\\(\\<" ; 1
+ "\\(" (c-lang-const c-symbol-key)
+ "\\)" ; 2
+ "[ \t\n\r\f\v]*"
+ (c-lang-const
+ c-opt-identifier-concat-key)
+ "[ \t\n\r\f\v]*"
+ "\\)"
+ "\\("
+ (c-lang-const
+ c-opt-after-id-concat-key)
+ "\\)")))
+ `((,(lambda (limit)
+ (while (re-search-forward regexp limit t)
(unless (progn
(goto-char (match-beginning 0))
(c-skip-comments-and-strings limit))
|