diff options
author | Nicolas Goaziou <mail@nicolasgoaziou.fr> | 2015-08-17 10:58:57 +0200 |
---|---|---|
committer | Nicolas Goaziou <mail@nicolasgoaziou.fr> | 2015-08-17 10:58:57 +0200 |
commit | 40b4ef3345a548d0d1046163f3b162eafc09b6f2 (patch) | |
tree | 6800ef49ed2688308098382c5deb5441955a4f3c | |
parent | 7b6bd0b85846c4a203f5abb26879dc358285dfa4 (diff) | |
download | org-mode-40b4ef3345a548d0d1046163f3b162eafc09b6f2.tar.gz |
org-element: Use pcase instead of case
* lisp/org-element.el (org-element--set-regexps):
(org-element-copy):
(org-element-item-interpreter):
(org-element-latex-fragment-parser):
(org-element-timestamp-parser):
(org-element-timestamp-interpreter):
(org-element--next-mode):
(org-element--object-lex):
(org-element--cache-find):
(org-element--cache-after-change): Use pcase instead of case.
-rw-r--r-- | lisp/org-element.el | 105 |
1 files changed, 53 insertions, 52 deletions
diff --git a/lisp/org-element.el b/lisp/org-element.el index 4760e09..eace067 100644 --- a/lisp/org-element.el +++ b/lisp/org-element.el @@ -176,8 +176,8 @@ specially in `org-element--object-lex'.") ;; Clock lines. (regexp-quote org-clock-string) "\\|" ;; Lists. - (let ((term (case org-plain-list-ordered-item-terminator - (?\) ")") (?. "\\.") (otherwise "[.)]"))) + (let ((term (pcase org-plain-list-ordered-item-terminator + (?\) ")") (?. "\\.") (_ "[.)]"))) (alpha (and org-list-allow-alphabetical "\\|[A-Za-z]"))) (concat "\\(?:[-+*]\\|\\(?:[0-9]+" alpha "\\)" term "\\)" "\\(?:[ \t]\\|$\\)")) @@ -586,11 +586,11 @@ DATUM is an element, object, string or nil. `:parent' property is cleared and contents are removed in the process." (when datum (let ((type (org-element-type datum))) - (case type - (org-data (list 'org-data nil)) - (plain-text (substring-no-properties datum)) - ((nil) (copy-sequence datum)) - (otherwise + (pcase type + (`org-data (list 'org-data nil)) + (`plain-text (substring-no-properties datum)) + (`nil (copy-sequence datum)) + (_ (list type (plist-put (copy-sequence (nth 1 datum)) :parent nil))))))) @@ -1265,10 +1265,11 @@ CONTENTS is the contents of the element." (concat bullet (and counter (format "[@%d] " counter)) - (case checkbox - (on "[X] ") - (off "[ ] ") - (trans "[-] ")) + (pcase checkbox + (`on "[X] ") + (`off "[ ] ") + (`trans "[-] ") + (_ nil)) (and tag (format "%s :: " tag)) (when contents (let ((contents (replace-regexp-in-string @@ -2946,12 +2947,13 @@ Assume point is at the beginning of the LaTeX fragment." '(?\s ?\t ?\n ?, ?.))) (looking-at "\\(\\s.\\|\\s-\\|\\s(\\|\\s)\\|\\s\"\\|$\\)") (point))) - (case (char-after (1+ (point))) + (pcase (char-after (1+ (point))) (?\( (search-forward "\\)" nil t)) (?\[ (search-forward "\\]" nil t)) - (otherwise + (_ ;; Macro. - (and (looking-at "\\\\[a-zA-Z]+\\*?\\(\\(\\[[^][\n{}]*\\]\\)\\|\\({[^{}\n]*}\\)\\)*") + (and (looking-at "\\\\[a-zA-Z]+\\*?\\(\\(\\[[^][\n{}]*\\]\\)\ +\\|\\({[^{}\n]*}\\)\\)*") (match-end 0)))))) (post-blank (if (not after-fragment) (throw 'no-object nil) (goto-char after-fragment) @@ -3440,8 +3442,8 @@ Assume point is at the beginning of the timestamp." (t 'cumulate))) :repeater-value (string-to-number (match-string 2 raw-value)) :repeater-unit - (case (string-to-char (match-string 3 raw-value)) - (?h 'hour) (?d 'day) (?w 'week) (?m 'month) (t 'year))))) + (pcase (string-to-char (match-string 3 raw-value)) + (?h 'hour) (?d 'day) (?w 'week) (?m 'month) (_ 'year))))) (warning-props (and (not diaryp) (string-match "\\(-\\)?-\\([0-9]+\\)\\([hdwmy]\\)" raw-value) @@ -3449,8 +3451,8 @@ Assume point is at the beginning of the timestamp." :warning-type (if (match-string 1 raw-value) 'first 'all) :warning-value (string-to-number (match-string 2 raw-value)) :warning-unit - (case (string-to-char (match-string 3 raw-value)) - (?h 'hour) (?d 'day) (?w 'week) (?m 'month) (t 'year))))) + (pcase (string-to-char (match-string 3 raw-value)) + (?h 'hour) (?d 'day) (?w 'week) (?m 'month) (_ 'year))))) year-start month-start day-start hour-start minute-start year-end month-end day-end hour-end minute-end) ;; Parse date-start. @@ -3494,21 +3496,20 @@ Assume point is at the beginning of the timestamp." "Interpret TIMESTAMP object as Org syntax." (let* ((repeat-string (concat - (case (org-element-property :repeater-type timestamp) - (cumulate "+") (catch-up "++") (restart ".+")) + (pcase (org-element-property :repeater-type timestamp) + (`cumulate "+") (`catch-up "++") (`restart ".+")) (let ((val (org-element-property :repeater-value timestamp))) (and val (number-to-string val))) - (case (org-element-property :repeater-unit timestamp) - (hour "h") (day "d") (week "w") (month "m") (year "y")))) + (pcase (org-element-property :repeater-unit timestamp) + (`hour "h") (`day "d") (`week "w") (`month "m") (`year "y")))) (warning-string (concat - (case (org-element-property :warning-type timestamp) - (first "--") - (all "-")) + (pcase (org-element-property :warning-type timestamp) + (`first "--") (`all "-")) (let ((val (org-element-property :warning-value timestamp))) (and val (number-to-string val))) - (case (org-element-property :warning-unit timestamp) - (hour "h") (day "d") (week "w") (month "m") (year "y")))) + (pcase (org-element-property :warning-unit timestamp) + (`hour "h") (`day "d") (`week "w") (`month "m") (`year "y")))) (build-ts-string ;; Build an Org timestamp string from TIME. ACTIVEP is ;; non-nil when time stamp is active. If WITH-TIME-P is @@ -3536,8 +3537,8 @@ Assume point is at the beginning of the timestamp." ;; Return value. ts))) (type (org-element-property :type timestamp))) - (case type - ((active inactive) + (pcase type + ((or `active `inactive) (let* ((minute-start (org-element-property :minute-start timestamp)) (minute-end (org-element-property :minute-end timestamp)) (hour-start (org-element-property :hour-start timestamp)) @@ -3557,7 +3558,7 @@ Assume point is at the beginning of the timestamp." (and hour-start minute-start) (and time-range-p hour-end) (and time-range-p minute-end)))) - ((active-range inactive-range) + ((or `active-range `inactive-range) (let ((minute-start (org-element-property :minute-start timestamp)) (minute-end (org-element-property :minute-end timestamp)) (hour-start (org-element-property :hour-start timestamp)) @@ -3583,7 +3584,7 @@ Assume point is at the beginning of the timestamp." (org-element-property :year-end timestamp)) (eq type 'active-range) (and hour-end minute-end))))) - (otherwise (org-element-property :raw-value timestamp))))) + (_ (org-element-property :raw-value timestamp))))) ;;;; Underline @@ -4131,17 +4132,17 @@ otherwise. Modes can be either `first-section', `item', `node-property', `planning', `property-drawer', `section', `table-row' or nil." (if parentp - (case type - (headline 'section) - (plain-list 'item) - (property-drawer 'node-property) - (section 'planning) - (table 'table-row)) - (case type - (item 'item) - (node-property 'node-property) - (planning 'property-drawer) - (table-row 'table-row)))) + (pcase type + (`headline 'section) + (`plain-list 'item) + (`property-drawer 'node-property) + (`section 'planning) + (`table 'table-row)) + (pcase type + (`item 'item) + (`node-property 'node-property) + (`planning 'property-drawer) + (`table-row 'table-row)))) (defun org-element--parse-elements (beg end mode structure granularity visible-only acc) @@ -4240,7 +4241,7 @@ to an appropriate container (e.g., a paragraph)." (and (memq 'inline-src-block restriction) (org-element-inline-src-block-parser))) (t - (case (char-after) + (pcase (char-after) (?^ (and (memq 'superscript restriction) (org-element-superscript-parser))) (?_ (or (and (memq 'subscript restriction) @@ -4292,7 +4293,7 @@ to an appropriate container (e.g., a paragraph)." (and (memq 'statistics-cookie restriction) (org-element-statistics-cookie-parser))))) ;; This is probably a plain link. - (otherwise (and (or (memq 'link restriction) + (_ (and (or (memq 'link restriction) (memq 'plain-link restriction)) (org-element-link-parser))))))) (or (eobp) (forward-char)))) @@ -4914,10 +4915,10 @@ the cache." (setq node nil lower element upper element))))) - (case side - (both (cons lower upper)) - ((nil) lower) - (otherwise upper)))) + (pcase side + (`both (cons lower upper)) + (`nil lower) + (_ upper)))) (defun org-element--cache-put (element &optional data) "Store ELEMENT in current buffer's cache, if allowed. @@ -5421,12 +5422,12 @@ that range. See `after-change-functions' for more information." ;; to both previous and current state. We make a special ;; case for headline editing: if a headline is modified but ;; not removed, do not extend. - (when (case org-element--cache-change-warning - ((t) t) - (headline + (when (pcase org-element--cache-change-warning + (`t t) + (`headline (not (and (org-with-limited-levels (org-at-heading-p)) (= (line-end-position) bottom)))) - (otherwise + (_ (let ((case-fold-search t)) (re-search-forward org-element--cache-sensitive-re bottom t)))) |