diff options
| author | Kenichi Handa | 2013-07-20 20:51:53 +0900 |
|---|---|---|
| committer | Kenichi Handa | 2013-07-20 20:51:53 +0900 |
| commit | 7e67809332c7ac0c798eb13d5573a5804db8134e (patch) | |
| tree | ee8d4702ed94e7179ae30740f6575ca698539d30 /lisp | |
| parent | 0efe47a860bba25617132f02e2220056bfa098b0 (diff) | |
| parent | 6b1b199dc0e3e7f8028fabe87fac446f5a845479 (diff) | |
| download | emacs-7e67809332c7ac0c798eb13d5573a5804db8134e.tar.gz emacs-7e67809332c7ac0c798eb13d5573a5804db8134e.zip | |
merge trunk
Diffstat (limited to 'lisp')
| -rw-r--r-- | lisp/ChangeLog | 35 | ||||
| -rw-r--r-- | lisp/epa.el | 3 | ||||
| -rw-r--r-- | lisp/frame.el | 6 | ||||
| -rw-r--r-- | lisp/gnus/ChangeLog | 10 | ||||
| -rw-r--r-- | lisp/gnus/gnus-art.el | 2 | ||||
| -rw-r--r-- | lisp/gnus/gnus-start.el | 20 | ||||
| -rw-r--r-- | lisp/mail/mailalias.el | 4 | ||||
| -rw-r--r-- | lisp/net/eww.el | 2 | ||||
| -rw-r--r-- | lisp/net/shr.el | 14 | ||||
| -rw-r--r-- | lisp/subr.el | 63 |
10 files changed, 110 insertions, 49 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 4b6d0b0e379..68ebad48d42 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -3,15 +3,38 @@ | |||
| 3 | * international/mule.el (coding-system-iso-2022-flags): Add | 3 | * international/mule.el (coding-system-iso-2022-flags): Add |
| 4 | `8-bit-level-4'. (Bug#8522) | 4 | `8-bit-level-4'. (Bug#8522) |
| 5 | 5 | ||
| 6 | 2013-07-19 Lars Magne Ingebrigtsen <larsi@gnus.org> | ||
| 7 | |||
| 8 | * net/shr.el (shr-mouse-browse-url): New command and keystroke | ||
| 9 | (bug#14815). | ||
| 10 | |||
| 11 | * net/eww.el (eww-process-text-input): Allow inputting when the | ||
| 12 | point is at the start of the line, as the properties aren't | ||
| 13 | front-sticky. | ||
| 14 | |||
| 15 | * net/shr.el (shr-make-table-1): Ensure that we don't infloop on | ||
| 16 | degenerate widths. | ||
| 17 | |||
| 18 | 2013-07-19 Richard Stallman <rms@gnu.org> | ||
| 19 | |||
| 20 | * epa.el (epa-popup-info-window): Doc fix. | ||
| 21 | |||
| 22 | * subr.el (split-string): New arg TRIM. | ||
| 23 | |||
| 24 | 2013-07-18 Juanma Barranquero <lekktu@gmail.com> | ||
| 25 | |||
| 26 | * frame.el (blink-cursor-timer-function, blink-cursor-suspend): | ||
| 27 | Add check for W32 (followup to 2013-07-16T11:41:06Z!jan.h.d@swipnet.se). | ||
| 28 | |||
| 6 | 2013-07-18 Michael Albinus <michael.albinus@gmx.de> | 29 | 2013-07-18 Michael Albinus <michael.albinus@gmx.de> |
| 7 | 30 | ||
| 8 | * filenotify.el (file-notify--library): Renamed from | 31 | * filenotify.el (file-notify--library): Rename from |
| 9 | `file-notify-support'. Do not autoload. Adapt all uses. | 32 | `file-notify-support'. Do not autoload. Adapt all uses. |
| 10 | (file-notify-supported-p): New defun. | 33 | (file-notify-supported-p): New defun. |
| 11 | 34 | ||
| 12 | * autorevert.el (auto-revert-use-notify): Use | 35 | * autorevert.el (auto-revert-use-notify): |
| 13 | `file-notify-supported-p' instead of `file-notify-support'. Adapt | 36 | Use `file-notify-supported-p' instead of `file-notify-support'. |
| 14 | docstring. | 37 | Adapt docstring. |
| 15 | (auto-revert-notify-add-watch): Use `file-notify-supported-p'. | 38 | (auto-revert-notify-add-watch): Use `file-notify-supported-p'. |
| 16 | 39 | ||
| 17 | * net/tramp.el (tramp-file-name-for-operation): | 40 | * net/tramp.el (tramp-file-name-for-operation): |
| @@ -3572,8 +3595,8 @@ | |||
| 3572 | (prolog-char-quote-workaround): | 3595 | (prolog-char-quote-workaround): |
| 3573 | * progmodes/cperl-mode.el (cperl-under-as-char): | 3596 | * progmodes/cperl-mode.el (cperl-under-as-char): |
| 3574 | * progmodes/vhdl-mode.el (vhdl-underscore-is-part-of-word): | 3597 | * progmodes/vhdl-mode.el (vhdl-underscore-is-part-of-word): |
| 3575 | Mark as obsolete. | 3598 | Mark as obsolete. |
| 3576 | (vhdl-mode-syntax-table, vhdl-mode-ext-syntax-table): Initialize in | 3599 | (vhdl-mode-syntax-table, vhdl-mode-ext-syntax-table): Initialize in |
| 3577 | their declaration. | 3600 | their declaration. |
| 3578 | (vhdl-mode-syntax-table-init): Remove. | 3601 | (vhdl-mode-syntax-table-init): Remove. |
| 3579 | 3602 | ||
diff --git a/lisp/epa.el b/lisp/epa.el index 14f8879c1c6..68e7a18fe17 100644 --- a/lisp/epa.el +++ b/lisp/epa.el | |||
| @@ -34,8 +34,7 @@ | |||
| 34 | :group 'epg) | 34 | :group 'epg) |
| 35 | 35 | ||
| 36 | (defcustom epa-popup-info-window t | 36 | (defcustom epa-popup-info-window t |
| 37 | "If non-nil, status information from epa commands is displayed on | 37 | "If non-nil, display status information from epa commands in another window." |
| 38 | the separate window." | ||
| 39 | :type 'boolean | 38 | :type 'boolean |
| 40 | :group 'epa) | 39 | :group 'epa) |
| 41 | 40 | ||
diff --git a/lisp/frame.el b/lisp/frame.el index a37d1189552..ed47afa4b94 100644 --- a/lisp/frame.el +++ b/lisp/frame.el | |||
| @@ -1709,7 +1709,7 @@ command starts, by installing a pre-command hook." | |||
| 1709 | "Timer function of timer `blink-cursor-timer'." | 1709 | "Timer function of timer `blink-cursor-timer'." |
| 1710 | (internal-show-cursor nil (not (internal-show-cursor-p))) | 1710 | (internal-show-cursor nil (not (internal-show-cursor-p))) |
| 1711 | ;; Each blink is two calls to this function. | 1711 | ;; Each blink is two calls to this function. |
| 1712 | (when (memq window-system '(x ns)) | 1712 | (when (memq window-system '(x ns w32)) |
| 1713 | (setq blink-cursor-blinks-done (1+ blink-cursor-blinks-done)) | 1713 | (setq blink-cursor-blinks-done (1+ blink-cursor-blinks-done)) |
| 1714 | (when (and (> blink-cursor-blinks 0) | 1714 | (when (and (> blink-cursor-blinks 0) |
| 1715 | (<= (* 2 blink-cursor-blinks) blink-cursor-blinks-done)) | 1715 | (<= (* 2 blink-cursor-blinks) blink-cursor-blinks-done)) |
| @@ -1729,11 +1729,11 @@ itself as a pre-command hook." | |||
| 1729 | (setq blink-cursor-timer nil))) | 1729 | (setq blink-cursor-timer nil))) |
| 1730 | 1730 | ||
| 1731 | (defun blink-cursor-suspend () | 1731 | (defun blink-cursor-suspend () |
| 1732 | "Suspend cursor blinking on NS and X. | 1732 | "Suspend cursor blinking on NS, X and W32. |
| 1733 | This is called when no frame has focus and timers can be suspended. | 1733 | This is called when no frame has focus and timers can be suspended. |
| 1734 | Timers are restarted by `blink-cursor-check', which is called when a | 1734 | Timers are restarted by `blink-cursor-check', which is called when a |
| 1735 | frame receives focus." | 1735 | frame receives focus." |
| 1736 | (when (memq window-system '(x ns)) | 1736 | (when (memq window-system '(x ns w32)) |
| 1737 | (blink-cursor-end) | 1737 | (blink-cursor-end) |
| 1738 | (when blink-cursor-idle-timer | 1738 | (when blink-cursor-idle-timer |
| 1739 | (cancel-timer blink-cursor-idle-timer) | 1739 | (cancel-timer blink-cursor-idle-timer) |
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index c68013f6da3..4b2892ae4b0 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog | |||
| @@ -1,3 +1,13 @@ | |||
| 1 | 2013-07-19 Geoff Kuenning <geoff@cs.hmc.edu> (tiny change) | ||
| 2 | |||
| 3 | * gnus-art.el (gnus-treat-predicate): Allow functions as predicates | ||
| 4 | (bug#13384). | ||
| 5 | |||
| 6 | 2013-07-18 Lars Magne Ingebrigtsen <larsi@gnus.org> | ||
| 7 | |||
| 8 | * gnus-start.el (gnus-clean-old-newsrc): Remove the newsrc cleanups | ||
| 9 | that were only relevant in a development version a long time ago. | ||
| 10 | |||
| 1 | 2013-07-18 Katsumi Yamaoka <yamaoka@jpl.org> | 11 | 2013-07-18 Katsumi Yamaoka <yamaoka@jpl.org> |
| 2 | 12 | ||
| 3 | * gnus-art.el (gnus-shr-put-image): Make it work as well for shr.el's | 13 | * gnus-art.el (gnus-shr-put-image): Make it work as well for shr.el's |
diff --git a/lisp/gnus/gnus-art.el b/lisp/gnus/gnus-art.el index 304ac3da88c..31a108a3c98 100644 --- a/lisp/gnus/gnus-art.el +++ b/lisp/gnus/gnus-art.el | |||
| @@ -8419,6 +8419,8 @@ For example: | |||
| 8419 | (not (gnus-treat-predicate (car val)))) | 8419 | (not (gnus-treat-predicate (car val)))) |
| 8420 | ((eq pred 'typep) | 8420 | ((eq pred 'typep) |
| 8421 | (equal (car val) gnus-treat-type)) | 8421 | (equal (car val) gnus-treat-type)) |
| 8422 | ((functionp pred) | ||
| 8423 | (funcall pred)) | ||
| 8422 | (t | 8424 | (t |
| 8423 | (error "%S is not a valid predicate" pred))))) | 8425 | (error "%S is not a valid predicate" pred))))) |
| 8424 | ((eq val t) | 8426 | ((eq val t) |
diff --git a/lisp/gnus/gnus-start.el b/lisp/gnus/gnus-start.el index 94803800e0b..05cf290cac9 100644 --- a/lisp/gnus/gnus-start.el +++ b/lisp/gnus/gnus-start.el | |||
| @@ -2305,24 +2305,8 @@ If FORCE is non-nil, the .newsrc file is read." | |||
| 2305 | (gnus-clean-old-newsrc)))) | 2305 | (gnus-clean-old-newsrc)))) |
| 2306 | 2306 | ||
| 2307 | (defun gnus-clean-old-newsrc (&optional force) | 2307 | (defun gnus-clean-old-newsrc (&optional force) |
| 2308 | (when gnus-newsrc-file-version | 2308 | ;; Currently no cleanups. |
| 2309 | ;; Remove totally bogus `unexists' entries. The name is | 2309 | ) |
| 2310 | ;; `unexist'. | ||
| 2311 | (dolist (info (cdr gnus-newsrc-alist)) | ||
| 2312 | (let ((exist (assoc 'unexists (gnus-info-marks info)))) | ||
| 2313 | (when exist | ||
| 2314 | (gnus-info-set-marks | ||
| 2315 | info (delete exist (gnus-info-marks info)))))) | ||
| 2316 | (when (or force | ||
| 2317 | (not (string= gnus-newsrc-file-version gnus-version))) | ||
| 2318 | (message (concat "Removing unexist marks because newsrc " | ||
| 2319 | "version does not match Gnus version.")) | ||
| 2320 | ;; Remove old `exist' marks from old nnimap groups. | ||
| 2321 | (dolist (info (cdr gnus-newsrc-alist)) | ||
| 2322 | (let ((exist (assoc 'unexist (gnus-info-marks info)))) | ||
| 2323 | (when exist | ||
| 2324 | (gnus-info-set-marks | ||
| 2325 | info (delete exist (gnus-info-marks info))))))))) | ||
| 2326 | 2310 | ||
| 2327 | (defun gnus-convert-old-newsrc () | 2311 | (defun gnus-convert-old-newsrc () |
| 2328 | "Convert old newsrc formats into the current format, if needed." | 2312 | "Convert old newsrc formats into the current format, if needed." |
diff --git a/lisp/mail/mailalias.el b/lisp/mail/mailalias.el index c5f1e3921fa..4d9b24e0043 100644 --- a/lisp/mail/mailalias.el +++ b/lisp/mail/mailalias.el | |||
| @@ -209,7 +209,9 @@ removed from alias expansions." | |||
| 209 | (if (re-search-forward "[ \t]*[\n,][ \t]*" end1 t) | 209 | (if (re-search-forward "[ \t]*[\n,][ \t]*" end1 t) |
| 210 | (setq epos (match-beginning 0) | 210 | (setq epos (match-beginning 0) |
| 211 | seplen (- (point) epos)) | 211 | seplen (- (point) epos)) |
| 212 | (setq epos (marker-position end1) seplen 0)) | 212 | ;; Handle the last name in this header field. |
| 213 | ;; We already moved END1 back across whitespace after it. | ||
| 214 | (setq epos (marker-position end1) seplen 0)) | ||
| 213 | (let ((string (buffer-substring-no-properties pos epos)) | 215 | (let ((string (buffer-substring-no-properties pos epos)) |
| 214 | translation) | 216 | translation) |
| 215 | (if (and (not (assoc string disabled-aliases)) | 217 | (if (and (not (assoc string disabled-aliases)) |
diff --git a/lisp/net/eww.el b/lisp/net/eww.el index d832aa7ef3e..d65932ae7c9 100644 --- a/lisp/net/eww.el +++ b/lisp/net/eww.el | |||
| @@ -603,7 +603,7 @@ appears in a <link> or <a> tag." | |||
| 603 | (insert " "))) | 603 | (insert " "))) |
| 604 | 604 | ||
| 605 | (defun eww-process-text-input (beg end length) | 605 | (defun eww-process-text-input (beg end length) |
| 606 | (let* ((form (get-text-property end 'eww-form)) | 606 | (let* ((form (get-text-property (min (1+ end) (point-max)) 'eww-form)) |
| 607 | (properties (text-properties-at end)) | 607 | (properties (text-properties-at end)) |
| 608 | (type (plist-get form :type))) | 608 | (type (plist-get form :type))) |
| 609 | (when (and form | 609 | (when (and form |
diff --git a/lisp/net/shr.el b/lisp/net/shr.el index 4506ede8722..6ddf8d2af90 100644 --- a/lisp/net/shr.el +++ b/lisp/net/shr.el | |||
| @@ -143,6 +143,7 @@ cid: URL as the argument.") | |||
| 143 | (define-key map [tab] 'shr-next-link) | 143 | (define-key map [tab] 'shr-next-link) |
| 144 | (define-key map [backtab] 'shr-previous-link) | 144 | (define-key map [backtab] 'shr-previous-link) |
| 145 | (define-key map [follow-link] 'mouse-face) | 145 | (define-key map [follow-link] 'mouse-face) |
| 146 | (define-key map [mouse-2] 'shr-mouse-browse-url) | ||
| 146 | (define-key map "I" 'shr-insert-image) | 147 | (define-key map "I" 'shr-insert-image) |
| 147 | (define-key map "w" 'shr-copy-url) | 148 | (define-key map "w" 'shr-copy-url) |
| 148 | (define-key map "u" 'shr-copy-url) | 149 | (define-key map "u" 'shr-copy-url) |
| @@ -657,6 +658,12 @@ size, and full-buffer size." | |||
| 657 | (forward-line 1) | 658 | (forward-line 1) |
| 658 | (goto-char end)))))) | 659 | (goto-char end)))))) |
| 659 | 660 | ||
| 661 | (defun shr-mouse-browse-url (ev) | ||
| 662 | "Browse the URL under the mouse cursor." | ||
| 663 | (interactive "e") | ||
| 664 | (mouse-set-point ev) | ||
| 665 | (shr-browse-url)) | ||
| 666 | |||
| 660 | (defun shr-browse-url (&optional external) | 667 | (defun shr-browse-url (&optional external) |
| 661 | "Browse the URL under point. | 668 | "Browse the URL under point. |
| 662 | If EXTERNAL, browse the URL using `shr-external-browser'." | 669 | If EXTERNAL, browse the URL using `shr-external-browser'." |
| @@ -1476,9 +1483,6 @@ ones, in case fg and bg are nil." | |||
| 1476 | (if column | 1483 | (if column |
| 1477 | (aref widths width-column) | 1484 | (aref widths width-column) |
| 1478 | 10)) | 1485 | 10)) |
| 1479 | ;; Sanity check for degenerate tables. | ||
| 1480 | (when (zerop width) | ||
| 1481 | (setq width 10)) | ||
| 1482 | (when (and fill | 1486 | (when (and fill |
| 1483 | (setq colspan (cdr (assq :colspan (cdr column))))) | 1487 | (setq colspan (cdr (assq :colspan (cdr column))))) |
| 1484 | (setq colspan (string-to-number colspan)) | 1488 | (setq colspan (string-to-number colspan)) |
| @@ -1491,6 +1495,9 @@ ones, in case fg and bg are nil." | |||
| 1491 | (setq width-column (+ width-column (1- colspan)))) | 1495 | (setq width-column (+ width-column (1- colspan)))) |
| 1492 | (when (or column | 1496 | (when (or column |
| 1493 | (not fill)) | 1497 | (not fill)) |
| 1498 | ;; Sanity check for degenerate tables. | ||
| 1499 | (when (zerop width) | ||
| 1500 | (setq width 10)) | ||
| 1494 | (push (shr-render-td (cdr column) width fill) | 1501 | (push (shr-render-td (cdr column) width fill) |
| 1495 | tds)) | 1502 | tds)) |
| 1496 | (setq i (1+ i) | 1503 | (setq i (1+ i) |
| @@ -1499,6 +1506,7 @@ ones, in case fg and bg are nil." | |||
| 1499 | (nreverse trs))) | 1506 | (nreverse trs))) |
| 1500 | 1507 | ||
| 1501 | (defun shr-render-td (cont width fill) | 1508 | (defun shr-render-td (cont width fill) |
| 1509 | (when (= width 0) (debug)) | ||
| 1502 | (with-temp-buffer | 1510 | (with-temp-buffer |
| 1503 | (let ((bgcolor (cdr (assq :bgcolor cont))) | 1511 | (let ((bgcolor (cdr (assq :bgcolor cont))) |
| 1504 | (fgcolor (cdr (assq :fgcolor cont))) | 1512 | (fgcolor (cdr (assq :fgcolor cont))) |
diff --git a/lisp/subr.el b/lisp/subr.el index b6ee96f879e..75c6b3a0620 100644 --- a/lisp/subr.el +++ b/lisp/subr.el | |||
| @@ -3529,7 +3529,7 @@ likely to have undesired semantics.") | |||
| 3529 | ;; defaulted, OMIT-NULLS should be treated as t. Simplifying the logical | 3529 | ;; defaulted, OMIT-NULLS should be treated as t. Simplifying the logical |
| 3530 | ;; expression leads to the equivalent implementation that if SEPARATORS | 3530 | ;; expression leads to the equivalent implementation that if SEPARATORS |
| 3531 | ;; is defaulted, OMIT-NULLS is treated as t. | 3531 | ;; is defaulted, OMIT-NULLS is treated as t. |
| 3532 | (defun split-string (string &optional separators omit-nulls) | 3532 | (defun split-string (string &optional separators omit-nulls trim) |
| 3533 | "Split STRING into substrings bounded by matches for SEPARATORS. | 3533 | "Split STRING into substrings bounded by matches for SEPARATORS. |
| 3534 | 3534 | ||
| 3535 | The beginning and end of STRING, and each match for SEPARATORS, are | 3535 | The beginning and end of STRING, and each match for SEPARATORS, are |
| @@ -3547,17 +3547,50 @@ that for the default value of SEPARATORS leading and trailing whitespace | |||
| 3547 | are effectively trimmed). If nil, all zero-length substrings are retained, | 3547 | are effectively trimmed). If nil, all zero-length substrings are retained, |
| 3548 | which correctly parses CSV format, for example. | 3548 | which correctly parses CSV format, for example. |
| 3549 | 3549 | ||
| 3550 | If TRIM is non-nil, it should be a regular expression to match | ||
| 3551 | text to trim from the beginning and end of each substring. If trimming | ||
| 3552 | makes the substring empty, it is treated as null. | ||
| 3553 | |||
| 3554 | If you want to trim whitespace from the substrings, the reliably correct | ||
| 3555 | way is using TRIM. Making SEPARATORS match that whitespace gives incorrect | ||
| 3556 | results when there is whitespace at the start or end of STRING. If you | ||
| 3557 | see such calls to `split-string', please fix them. | ||
| 3558 | |||
| 3550 | Note that the effect of `(split-string STRING)' is the same as | 3559 | Note that the effect of `(split-string STRING)' is the same as |
| 3551 | `(split-string STRING split-string-default-separators t)'. In the rare | 3560 | `(split-string STRING split-string-default-separators t)'. In the rare |
| 3552 | case that you wish to retain zero-length substrings when splitting on | 3561 | case that you wish to retain zero-length substrings when splitting on |
| 3553 | whitespace, use `(split-string STRING split-string-default-separators)'. | 3562 | whitespace, use `(split-string STRING split-string-default-separators)'. |
| 3554 | 3563 | ||
| 3555 | Modifies the match data; use `save-match-data' if necessary." | 3564 | Modifies the match data; use `save-match-data' if necessary." |
| 3556 | (let ((keep-nulls (not (if separators omit-nulls t))) | 3565 | (let* ((keep-nulls (not (if separators omit-nulls t))) |
| 3557 | (rexp (or separators split-string-default-separators)) | 3566 | (rexp (or separators split-string-default-separators)) |
| 3558 | (start 0) | 3567 | (start 0) |
| 3559 | notfirst | 3568 | this-start this-end |
| 3560 | (list nil)) | 3569 | notfirst |
| 3570 | (list nil) | ||
| 3571 | (push-one | ||
| 3572 | ;; Push the substring in range THIS-START to THIS-END | ||
| 3573 | ;; onto LIST, trimming it and perhaps discarding it. | ||
| 3574 | (lambda () | ||
| 3575 | (when trim | ||
| 3576 | ;; Discard the trim from start of this substring. | ||
| 3577 | (let ((tem (string-match trim string this-start))) | ||
| 3578 | (and (eq tem this-start) | ||
| 3579 | (setq this-start (match-end 0))))) | ||
| 3580 | |||
| 3581 | (when (or keep-nulls (< this-start this-end)) | ||
| 3582 | (let ((this (substring string this-start this-end))) | ||
| 3583 | |||
| 3584 | ;; Discard the trim from end of this substring. | ||
| 3585 | (when trim | ||
| 3586 | (let ((tem (string-match (concat trim "\\'") this 0))) | ||
| 3587 | (and tem (< tem (length this)) | ||
| 3588 | (setq this (substring this 0 tem))))) | ||
| 3589 | |||
| 3590 | ;; Trimming could make it empty; check again. | ||
| 3591 | (when (or keep-nulls (> (length this) 0)) | ||
| 3592 | (push this list))))))) | ||
| 3593 | |||
| 3561 | (while (and (string-match rexp string | 3594 | (while (and (string-match rexp string |
| 3562 | (if (and notfirst | 3595 | (if (and notfirst |
| 3563 | (= start (match-beginning 0)) | 3596 | (= start (match-beginning 0)) |
| @@ -3565,15 +3598,15 @@ Modifies the match data; use `save-match-data' if necessary." | |||
| 3565 | (1+ start) start)) | 3598 | (1+ start) start)) |
| 3566 | (< start (length string))) | 3599 | (< start (length string))) |
| 3567 | (setq notfirst t) | 3600 | (setq notfirst t) |
| 3568 | (if (or keep-nulls (< start (match-beginning 0))) | 3601 | (setq this-start start this-end (match-beginning 0) |
| 3569 | (setq list | 3602 | start (match-end 0)) |
| 3570 | (cons (substring string start (match-beginning 0)) | 3603 | |
| 3571 | list))) | 3604 | (funcall push-one)) |
| 3572 | (setq start (match-end 0))) | 3605 | |
| 3573 | (if (or keep-nulls (< start (length string))) | 3606 | ;; Handle the substring at the end of STRING. |
| 3574 | (setq list | 3607 | (setq this-start start this-end (length string)) |
| 3575 | (cons (substring string start) | 3608 | (funcall push-one) |
| 3576 | list))) | 3609 | |
| 3577 | (nreverse list))) | 3610 | (nreverse list))) |
| 3578 | 3611 | ||
| 3579 | (defun combine-and-quote-strings (strings &optional separator) | 3612 | (defun combine-and-quote-strings (strings &optional separator) |