[已解决]编程问题,各位大佬进来看下,谢谢!

Some note on your code

(defun count-words-in-defun ()
  "计算函数定义中单词总量"
  ;; NOTE: 错误的代码
  (beginning-of-defun) ;; 移动位点至函数定义的开头
  (let ((count 0)      ;; 函数定义单词总量
        ;; NOTE: 可用 (cdr (bounds-of-thing-at-point 'defun)) 获取end
        (end
          (save-excursion (end-of-defun) (point)))) ;; 函数定义的末尾的位置
    (save-excursion
      (while (and
              ;; NOTE: re-search-forward后不需要再做这个判断, 因为保证了不会越界
              (< (point) end)
              ;; regexp-mean:匹配1个或多个构词要素字符或构成符号字符以及后面除了空白字符之外
              ;; 的字符和再后面加上任意数目的空白字符。
              (re-search-forward "\\(\\w\\|\\s_\\)+[^ \t\n]*[ \t\n]*" end t))
        ;; NOTE: 可用(cl-incf count) 代替
        (setq count (1+ count))))
    count))

(defun count-words-defun-file ()
  (save-excursion
    (let ((lengths-list))
      (goto-char (point-min))
      (while (re-search-forward "^(defun" nil t)
        ;; NOTE: 可用 (push (count-words-in-defun) lengths-list) 代替
        (setq lengths-list
              (cons (count-words-in-defun) lengths-list)))
      lengths-list)))

另:可以花点时间了解rx生成正则表达式