From: "Ulrich Müller" <ulm@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/emacs-tools:ebuild-mode commit in: /
Date: Tue, 28 Feb 2017 19:23:06 +0000 (UTC) [thread overview]
Message-ID: <1484505940.c3dd382167167a06ff2abd4b53ffbbd1a16a9e0e.ulm@gentoo> (raw)
commit: c3dd382167167a06ff2abd4b53ffbbd1a16a9e0e
Author: Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Jan 15 18:45:40 2017 +0000
Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Jan 15 18:45:40 2017 +0000
URL: https://gitweb.gentoo.org/proj/emacs-tools.git/commit/?id=c3dd3821
Improve error handling when no KEYWORDS line is found.
* ebuild-mode.el (ebuild-mode-get-keywords)
(ebuild-mode-put-keywords): Improve error handling.
ChangeLog | 5 +++++
ebuild-mode.el | 40 ++++++++++++++++++++++------------------
2 files changed, 27 insertions(+), 18 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 0a98fb3..a28c4c4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2017-01-15 Ulrich Müller <ulm@gentoo.org>
+
+ * ebuild-mode.el (ebuild-mode-get-keywords)
+ (ebuild-mode-put-keywords): Improve error handling.
+
2016-06-19 Ulrich Müller <ulm@gentoo.org>
* Version 1.31 released.
diff --git a/ebuild-mode.el b/ebuild-mode.el
index a088db6..5ccc63d 100644
--- a/ebuild-mode.el
+++ b/ebuild-mode.el
@@ -269,29 +269,33 @@ Optional argument LIMIT restarts collection after that number of elements."
(save-excursion
(goto-char (point-min))
(let ((case-fold-search nil))
- (and (re-search-forward ebuild-mode-arch-regexp nil noerror)
- (not (and (re-search-forward ebuild-mode-arch-regexp nil t)
- (or noerror
- (error "More than one KEYWORDS assignment found"))))
- (mapcar (lambda (s)
- (string-match "^\\([-~]?\\)\\(.*\\)" s)
- (cons (match-string 2 s) (match-string 1 s)))
- (split-string
- ;;(match-string-no-properties 1) ; not in XEmacs 21.4
- (buffer-substring-no-properties (match-beginning 1)
- (match-end 1))))))))
+ (cond
+ ((not (re-search-forward ebuild-mode-arch-regexp nil t))
+ (unless noerror (error "No KEYWORDS assignment found")))
+ ((re-search-forward ebuild-mode-arch-regexp nil t) ; second search
+ (unless noerror (error "More than one KEYWORDS assignment found")))
+ (t
+ (mapcar (lambda (s)
+ (string-match "^\\([-~]?\\)\\(.*\\)" s)
+ (cons (match-string 2 s) (match-string 1 s)))
+ (split-string
+ ;;(match-string-no-properties 1) ; not in XEmacs 21.4
+ (buffer-substring-no-properties (match-beginning 1)
+ (match-end 1)))))))))
(defun ebuild-mode-put-keywords (kw &optional noerror)
(save-excursion
(goto-char (point-min))
(let ((case-fold-search nil))
- (and (re-search-forward ebuild-mode-arch-regexp nil noerror)
- (not (and (re-search-forward ebuild-mode-arch-regexp nil t)
- (or noerror
- (error "More than one KEYWORDS assignment found"))))
- (replace-match
- (mapconcat (lambda (e) (concat (cdr e) (car e))) kw " ")
- t t nil 1)))))
+ (cond
+ ((not (re-search-forward ebuild-mode-arch-regexp nil t))
+ (unless noerror (error "No KEYWORDS assignment found")))
+ ((re-search-forward ebuild-mode-arch-regexp nil t)
+ (unless noerror (error "More than one KEYWORDS assignment found")))
+ (t
+ (replace-match
+ (mapconcat (lambda (e) (concat (cdr e) (car e))) kw " ")
+ t t nil 1))))))
(defun ebuild-mode-modify-keywords (kw)
"Set keywords. KW is an alist of architectures and leaders."
next reply other threads:[~2017-02-28 19:24 UTC|newest]
Thread overview: 74+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-02-28 19:23 Ulrich Müller [this message]
-- strict thread matches above, loose matches on Subject: below --
2017-09-16 16:28 [gentoo-commits] proj/emacs-tools:ebuild-mode commit in: / Ulrich Müller
2017-09-16 15:28 Ulrich Müller
2017-09-16 15:28 Ulrich Müller
2017-04-07 18:33 Ulrich Müller
2017-04-07 18:33 Ulrich Müller
2017-04-07 17:11 Ulrich Müller
2017-04-07 17:11 Ulrich Müller
2017-04-07 17:11 Ulrich Müller
2017-03-31 5:28 Ulrich Müller
2017-03-17 16:38 Ulrich Müller
2017-03-09 9:51 Ulrich Müller
2017-03-09 9:51 Ulrich Müller
2017-03-06 7:33 Ulrich Müller
2017-03-06 7:33 Ulrich Müller
2017-03-05 17:51 Ulrich Müller
2017-03-05 17:51 Ulrich Müller
2017-03-05 17:51 Ulrich Müller
2017-03-05 17:51 Ulrich Müller
2017-02-28 19:33 Ulrich Müller
2017-02-28 19:23 Ulrich Müller
2017-02-28 19:23 Ulrich Müller
2017-02-28 19:23 Ulrich Müller
2017-02-28 19:23 Ulrich Müller
2017-02-28 19:23 Ulrich Müller
2017-02-28 19:23 Ulrich Müller
2017-02-28 19:23 Ulrich Müller
2016-06-19 19:57 Ulrich Müller
2016-06-19 19:57 Ulrich Müller
2016-06-08 6:48 Ulrich Müller
2016-06-08 6:48 Ulrich Müller
2016-05-07 9:45 Ulrich Müller
2016-05-07 9:45 Ulrich Müller
2016-05-07 9:45 Ulrich Müller
2016-05-07 9:45 Ulrich Müller
2015-12-20 13:53 Ulrich Müller
2015-12-20 13:53 Ulrich Müller
2015-12-20 13:53 Ulrich Müller
2015-12-20 13:53 Ulrich Müller
2015-08-23 14:48 Ulrich Müller
2015-08-23 14:48 Ulrich Müller
2015-08-09 18:34 Ulrich Müller
2015-08-09 18:34 Ulrich Müller
2014-11-18 9:55 Ulrich Müller
2014-11-16 23:13 Ulrich Müller
2014-11-16 23:13 Ulrich Müller
2014-02-02 11:57 Ulrich Müller
2014-01-25 14:17 Ulrich Müller
2014-01-25 14:17 Ulrich Müller
2014-01-23 14:49 Ulrich Müller
2014-01-22 22:43 Ulrich Müller
2014-01-22 22:43 Ulrich Müller
2014-01-22 22:43 Ulrich Müller
2013-10-09 23:49 Ulrich Müller
2013-09-18 6:53 Ulrich Mueller
2013-09-17 21:33 Ulrich Mueller
2013-09-17 21:33 Ulrich Mueller
2013-09-17 21:33 Ulrich Mueller
2013-09-08 10:49 Ulrich Mueller
2013-09-08 10:28 Ulrich Mueller
2013-09-08 10:28 Ulrich Mueller
2013-09-08 10:28 Ulrich Mueller
2013-09-08 10:28 Ulrich Mueller
2013-09-08 10:28 Ulrich Mueller
2013-07-06 23:09 Ulrich Mueller
2013-07-06 23:01 Ulrich Mueller
2013-07-06 22:52 Ulrich Mueller
2013-07-06 22:52 Ulrich Mueller
2013-07-06 22:03 Ulrich Mueller
2013-07-06 17:37 Ulrich Mueller
2013-07-06 17:37 Ulrich Mueller
2013-07-05 18:06 Ulrich Mueller
2013-07-05 18:06 Ulrich Mueller
2013-07-05 14:51 Ulrich Mueller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1484505940.c3dd382167167a06ff2abd4b53ffbbd1a16a9e0e.ulm@gentoo \
--to=ulm@gentoo.org \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox