public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
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."


             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