Changeset 16361


Ignore:
Timestamp:
Mar 30, 2015, 10:18:02 PM (4 years ago)
Author:
gz
Message:

Fix backward search case in move-to-source-note

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/cocoa-ide/hemlock/src/edit-defs.lisp

    r16358 r16361  
    348348            (offset 0))
    349349        (flet ((ssearch (mark string direction)
    350                  (find-pattern mark
    351                                (setq pattern (new-search-pattern :string-insensitive
    352                                                                  direction
    353                                                                  string
    354                                                                  pattern)))))
     350                 (or (find-pattern mark
     351                                   (setq pattern (new-search-pattern :string-insensitive
     352                                                                     direction
     353                                                                     string
     354                                                                     pattern)))
     355                     ;; above will fail if mark is the middle of the string, because backward
     356                     ;; searches don't match anything past the mark.
     357                     (when (eq direction :backward)
     358                       (with-mark ((temp-mark mark))
     359                         (unless (character-offset temp-mark (length string))
     360                           (buffer-end temp-mark))
     361                         (when (find-pattern temp-mark pattern)
     362                           (move-mark mark temp-mark)))))))
    355363          (declare (inline ssearch))
    356364          (with-mark ((temp-mark (current-point)))
Note: See TracChangeset for help on using the changeset viewer.