diff options
| author | Lars Ingebrigtsen | 2014-01-31 13:08:13 -0800 |
|---|---|---|
| committer | Lars Ingebrigtsen | 2014-01-31 13:08:13 -0800 |
| commit | dba6e3ec423212f5de4caf431d2e53c525f2c984 (patch) | |
| tree | e807fc3355830ea01301f46e851bcf0b99697af7 | |
| parent | 2f313daf4ad1b1c36423f15d085314600a2a8a12 (diff) | |
| download | emacs-dba6e3ec423212f5de4caf431d2e53c525f2c984.tar.gz emacs-dba6e3ec423212f5de4caf431d2e53c525f2c984.zip | |
Make shr-generic into a defsusbt to make the stack shallower
* net/shr.el (shr-generic): Make into a defsubst to make the stack
depth shallower.
| -rw-r--r-- | lisp/ChangeLog | 5 | ||||
| -rw-r--r-- | lisp/net/shr.el | 16 |
2 files changed, 13 insertions, 8 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 90c00963ad4..9b7e338e187 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2014-01-31 Lars Ingebrigtsen <larsi@gnus.org> | ||
| 2 | |||
| 3 | * net/shr.el (shr-generic): Make into a defsubst to make the stack | ||
| 4 | depth shallower (bug#16587). | ||
| 5 | |||
| 1 | 2014-01-31 Dmitry Gutov <dgutov@yandex.ru> | 6 | 2014-01-31 Dmitry Gutov <dgutov@yandex.ru> |
| 2 | 7 | ||
| 3 | * progmodes/ruby-mode.el (ruby-align-chained-calls): New option. | 8 | * progmodes/ruby-mode.el (ruby-align-chained-calls): New option. |
diff --git a/lisp/net/shr.el b/lisp/net/shr.el index 1491512087d..dba0f71bfe1 100644 --- a/lisp/net/shr.el +++ b/lisp/net/shr.el | |||
| @@ -359,6 +359,14 @@ size, and full-buffer size." | |||
| 359 | (push (shr-transform-dom sub) result))) | 359 | (push (shr-transform-dom sub) result))) |
| 360 | (nreverse result))) | 360 | (nreverse result))) |
| 361 | 361 | ||
| 362 | (defsubst shr-generic (cont) | ||
| 363 | (dolist (sub cont) | ||
| 364 | (cond | ||
| 365 | ((eq (car sub) 'text) | ||
| 366 | (shr-insert (cdr sub))) | ||
| 367 | ((listp (cdr sub)) | ||
| 368 | (shr-descend sub))))) | ||
| 369 | |||
| 362 | (defun shr-descend (dom) | 370 | (defun shr-descend (dom) |
| 363 | (let ((function | 371 | (let ((function |
| 364 | (or | 372 | (or |
| @@ -392,14 +400,6 @@ size, and full-buffer size." | |||
| 392 | (cdr (assq 'color shr-stylesheet)) | 400 | (cdr (assq 'color shr-stylesheet)) |
| 393 | (cdr (assq 'background-color shr-stylesheet))))))) | 401 | (cdr (assq 'background-color shr-stylesheet))))))) |
| 394 | 402 | ||
| 395 | (defun shr-generic (cont) | ||
| 396 | (dolist (sub cont) | ||
| 397 | (cond | ||
| 398 | ((eq (car sub) 'text) | ||
| 399 | (shr-insert (cdr sub))) | ||
| 400 | ((listp (cdr sub)) | ||
| 401 | (shr-descend sub))))) | ||
| 402 | |||
| 403 | (defmacro shr-char-breakable-p (char) | 403 | (defmacro shr-char-breakable-p (char) |
| 404 | "Return non-nil if a line can be broken before and after CHAR." | 404 | "Return non-nil if a line can be broken before and after CHAR." |
| 405 | `(aref fill-find-break-point-function-table ,char)) | 405 | `(aref fill-find-break-point-function-table ,char)) |