comparison lisp/format.el @ 14452:7074747f9a8c

(format-deannotate-region): Fixed bug that created double marking of multi-annotation text-properties (eg, bold-italic).
author Richard M. Stallman <rms@gnu.org>
date Thu, 01 Feb 1996 00:19:50 +0000
parents 83f275dcd93a
children 0f704de0600f
comparison
equal deleted inserted replaced
14451:fc22eb3a4146 14452:7074747f9a8c
498 (if (member 'nil (mapcar 498 (if (member 'nil (mapcar
499 (lambda (r) 499 (lambda (r)
500 (assoc r open-ans)) 500 (assoc r open-ans))
501 ans)) 501 ans))
502 nil ; multiple ans not satisfied 502 nil ; multiple ans not satisfied
503 ;; Yes, use the current property name & 503 ;; Yes, all set.
504 ;; value. Set loop variables to nil so loop 504 ;; If there are multiple annotations going
505 ;; into one text property, adjust the
506 ;; begin points of the other annotations
507 ;; so that we don't get double marking.
508 (let ((to-reset ans)
509 this-one)
510 (while to-reset
511 (setq this-one
512 (assoc (car to-reset)
513 (cdr open-ans)))
514 (if this-one
515 (setcdr this-one (list loc)))
516 (setq to-reset (cdr to-reset))))
517 ;; Set loop variables to nil so loop
505 ;; will exit. 518 ;; will exit.
506 (setq alist nil aalist nil matched t 519 (setq alist nil aalist nil matched t
507 ;; pop annotation off stack. 520 ;; pop annotation off stack.
508 open-ans (cdr open-ans)) 521 open-ans (cdr open-ans))
509 (cond 522 (cond