aboutsummaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
authorStefan Monnier <[email protected]>2014-06-27 21:52:38 -0400
committerStefan Monnier <[email protected]>2014-06-27 21:52:38 -0400
commitb1c4d6861e0f1e84c37c3df034b1f6d6dea7dcbf (patch)
treefaf3e21f6e7d714295e18272401227fa58ae0932 /lisp
parentf036e167feaf875873636972b28a4adc12c32254 (diff)
* lisp/progmodes/hideif.el: Use lexical-binding. Fix up cl-lib usage.
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ChangeLog4
-rw-r--r--lisp/progmodes/hideif.el51
2 files changed, 28 insertions, 27 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index dac472664f..15b1a38e82 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,7 @@
+2014-06-28 Stefan Monnier <[email protected]>
+
+ * progmodes/hideif.el: Use lexical-binding. Fix up cl-lib usage.
+
2014-06-28 K. Handa <[email protected]>
Fix Bug#17739.
diff --git a/lisp/progmodes/hideif.el b/lisp/progmodes/hideif.el
index 4b78c08690..6585668b92 100644
--- a/lisp/progmodes/hideif.el
+++ b/lisp/progmodes/hideif.el
@@ -1,4 +1,4 @@
-;;; hideif.el --- hides selected code within ifdef
+;;; hideif.el --- hides selected code within ifdef -*- lexical-binding:t -*-
;; Copyright (C) 1988, 1994, 2001-2014 Free Software Foundation, Inc.
@@ -550,8 +550,8 @@ that form should be displayed.")
(setq tok (cadr tokens))
(if (eq (car tokens) 'hif-lparen)
(if (and (hif-if-valid-identifier-p tok)
- (eq (caddr tokens) 'hif-rparen))
- (setq tokens (cdddr tokens))
+ (eq (cl-caddr tokens) 'hif-rparen))
+ (setq tokens (cl-cdddr tokens))
(error "#define followed by non-identifier: %S" tok))
(setq tok (car tokens)
tokens (cdr tokens))
@@ -607,9 +607,8 @@ detecting self-reference."
;; for hif-macro-supply-arguments
(let* ((hif-token-list (cdr remains))
(hif-token nil)
- (parmlist (mapcar 'hif-expand-token-list
- (hif-get-argument-list
- tok)))
+ (parmlist (mapcar #'hif-expand-token-list
+ (hif-get-argument-list)))
(result
(hif-expand-token-list
(hif-macro-supply-arguments tok parmlist)
@@ -618,10 +617,10 @@ detecting self-reference."
result))
;; Argument list is nil, direct expansion
(setq rep (hif-expand-token-list
- (caddr rep) ; Macro's token list
+ (cl-caddr rep) ; Macro's token list
tok expand_list))
;; Replace all remaining references immediately
- (setq remains (substitute tok rep remains))
+ (setq remains (cl-substitute tok rep remains))
rep)
;; Lookup tok returns an atom
rep))
@@ -824,7 +823,7 @@ factor : '!' factor | '~' factor | '(' expr ')' | 'defined(' id ')' |
(hif-place-macro-invocation ident)
`(hif-lookup (quote ,ident)))))))
-(defun hif-get-argument-list (ident)
+(defun hif-get-argument-list ()
(let ((nest 0)
(parmlist nil) ; A "token" list of parameters, will later be parsed
(parm nil))
@@ -849,7 +848,7 @@ factor : '!' factor | '~' factor | '(' expr ')' | 'defined(' id ')' |
(nreverse parmlist)))
(defun hif-place-macro-invocation (ident)
- (let ((parmlist (hif-get-argument-list ident)))
+ (let ((parmlist (hif-get-argument-list)))
`(hif-invoke (quote ,ident) (quote ,parmlist))))
(defun hif-string-concatenation ()
@@ -861,7 +860,7 @@ factor : '!' factor | '~' factor | '(' expr ')' | 'defined(' id ')' |
(substring hif-token 1)))) ; remove leading '"'
result))
-(defun hif-define-macro (parmlist token-body)
+(defun hif-define-macro (_parmlist _token-body)
"A marker for defined macro with arguments.
This macro cannot be evaluated alone without parameters inputed."
;;TODO: input arguments at run time, use minibuffer to query all arguments
@@ -1002,8 +1001,8 @@ preprocessing token"
result)))
(defun hif-delimit (lis atom)
- (nconc (mapcan (lambda (l) (list l atom))
- (butlast lis))
+ (nconc (cl-mapcan (lambda (l) (list l atom))
+ (butlast lis))
(last lis)))
;; Perform token replacement:
@@ -1018,7 +1017,6 @@ preprocessing token"
(macro-body (and macro (cadr macro)))
actual-count
formal-count
- actual
formal
etc)
@@ -1055,10 +1053,10 @@ preprocessing token"
;; Unlike `subst', `substitute' replace only the top level
;; instead of the whole tree; more importantly, it's not
;; destructive.
- (substitute (if (and etc (null formal-parms))
- (hif-delimit actual-parms 'hif-comma)
- (car actual-parms))
- formal macro-body))
+ (cl-substitute (if (and etc (null formal-parms))
+ (hif-delimit actual-parms 'hif-comma)
+ (car actual-parms))
+ formal macro-body))
(setq actual-parms (cdr actual-parms)))
;; Replacement completed, flatten the whole token list
@@ -1462,7 +1460,6 @@ first arg will be `hif-etc'."
(let* ((defining (string= "define" (match-string 2)))
(name (and (re-search-forward hif-macroref-regexp max t)
(match-string 1)))
- (parsed nil)
(parmlist (and (match-string 3) ; First arg id found
(hif-parse-macro-arglist (match-string 2)))))
(if defining
@@ -1534,15 +1531,15 @@ It does not do the work that's pointless to redo on a recursive entry."
(save-excursion
(let ((case-fold-search nil)
min max)
- (goto-char (point-min))
+ (goto-char (point-min))
(setf min (point))
- (loop do
- (setf max (hif-find-any-ifX))
- (hif-add-new-defines min max)
- (if max
- (hif-possibly-hide))
- (setf min (point))
- while max))))
+ (cl-loop do
+ (setf max (hif-find-any-ifX))
+ (hif-add-new-defines min max)
+ (if max
+ (hif-possibly-hide))
+ (setf min (point))
+ while max))))
;;===%%SF%% hide-ifdef-hiding (End) ===