7 |
;; Mark Shapiro <shapiro@corto.inria.fr> |
;; Mark Shapiro <shapiro@corto.inria.fr> |
8 |
;; Mike Newton <newton@gumby.cs.caltech.edu> |
;; Mike Newton <newton@gumby.cs.caltech.edu> |
9 |
;; Aaron Larson <alarson@src.honeywell.com> |
;; Aaron Larson <alarson@src.honeywell.com> |
10 |
;; Maintainer: Dirk Herrmann <D.Herrmann@tu-bs.de> |
;; Maintainer: Roland Winkler <roland.winkler@physik.uni-erlangen.de> |
11 |
;; Keywords: BibTeX, LaTeX, TeX |
;; Keywords: BibTeX, LaTeX, TeX |
12 |
|
|
13 |
;; This file is part of GNU Emacs. |
;; This file is part of GNU Emacs. |
1019 |
"\\(" |
"\\(" |
1020 |
"[^\"\\]" ;; anything but quote or backslash |
"[^\"\\]" ;; anything but quote or backslash |
1021 |
"\\|" |
"\\|" |
1022 |
"\\(" |
"\\(" |
1023 |
"\\\\\\(.\\|\n\\)" ;; any backslash quoted character |
"\\\\\\(.\\|\n\\)" ;; any backslash quoted character |
1024 |
"\\)" |
"\\)" |
1025 |
"\\)*" |
"\\)*" |
1038 |
(if (looking-at "\"") |
(if (looking-at "\"") |
1039 |
(setq end-point (bibtex-parse-quoted-string))) |
(setq end-point (bibtex-parse-quoted-string))) |
1040 |
(goto-char starting-point) |
(goto-char starting-point) |
1041 |
(if end-point |
(if end-point |
1042 |
(cons starting-point end-point) |
(cons starting-point end-point) |
1043 |
nil)))) |
nil)))) |
1044 |
|
|
1153 |
(setq bibtex-field-name-for-parsing name) |
(setq bibtex-field-name-for-parsing name) |
1154 |
(let ((starting-point (point)) |
(let ((starting-point (point)) |
1155 |
(boundaries nil)) |
(boundaries nil)) |
1156 |
(while (and (not boundaries) |
(while (and (not boundaries) |
1157 |
(< (point) bound) |
(< (point) bound) |
1158 |
(search-forward "," bound t)) |
(search-forward "," bound t)) |
1159 |
(goto-char (match-beginning 0)) |
(goto-char (match-beginning 0)) |
1160 |
(let ((temp-boundaries |
(let ((temp-boundaries |
1161 |
(bibtex-parse-association 'bibtex-parse-field-name |
(bibtex-parse-association 'bibtex-parse-field-name |
1162 |
'bibtex-parse-field-text))) |
'bibtex-parse-field-text))) |
1163 |
(if (and temp-boundaries (<= (cdr (cdr temp-boundaries)) bound)) |
(if (and temp-boundaries (<= (cdr (cdr temp-boundaries)) bound)) |
1178 |
(while (and (not boundaries) |
(while (and (not boundaries) |
1179 |
(>= (point) bound) |
(>= (point) bound) |
1180 |
(search-backward "," bound t)) |
(search-backward "," bound t)) |
1181 |
(let ((temp-boundaries |
(let ((temp-boundaries |
1182 |
(bibtex-parse-association 'bibtex-parse-field-name |
(bibtex-parse-association 'bibtex-parse-field-name |
1183 |
'bibtex-parse-field-text))) |
'bibtex-parse-field-text))) |
1184 |
(if temp-boundaries |
(if temp-boundaries |
1224 |
(progn |
(progn |
1225 |
(goto-char (cdr text-boundaries)) |
(goto-char (cdr text-boundaries)) |
1226 |
(if (looking-at "[ \t\n]*[})]") |
(if (looking-at "[ \t\n]*[})]") |
1227 |
(let ((boundaries (list (car text-boundaries) |
(let ((boundaries (list (car text-boundaries) |
1228 |
(cdr text-boundaries) |
(cdr text-boundaries) |
1229 |
(match-end 0)))) |
(match-end 0)))) |
1230 |
(goto-char (match-end 0)) |
(goto-char (match-end 0)) |
1245 |
(let* ((case-fold-search t) |
(let* ((case-fold-search t) |
1246 |
(starting-point (point)) |
(starting-point (point)) |
1247 |
(boundaries nil)) |
(boundaries nil)) |
1248 |
(while (and (not boundaries) |
(while (and (not boundaries) |
1249 |
(search-forward-regexp |
(search-forward-regexp |
1250 |
"^[ \t]*@string[ \t\n]*[({][ \t\n]*" nil t)) |
"^[ \t]*@string[ \t\n]*[({][ \t\n]*" nil t)) |
1251 |
(goto-char (match-beginning 0)) |
(goto-char (match-beginning 0)) |
1252 |
(let ((temp-boundaries (bibtex-parse-string))) |
(let ((temp-boundaries (bibtex-parse-string))) |
1265 |
(starting-point (point)) |
(starting-point (point)) |
1266 |
(boundaries nil)) |
(boundaries nil)) |
1267 |
(while (and (not boundaries) |
(while (and (not boundaries) |
1268 |
(search-backward-regexp |
(search-backward-regexp |
1269 |
"^[ \t]*@string[ \t\n]*[({][ \t\n]*" nil t)) |
"^[ \t]*@string[ \t\n]*[({][ \t\n]*" nil t)) |
1270 |
(goto-char (match-beginning 0)) |
(goto-char (match-beginning 0)) |
1271 |
(let ((temp-boundaries (bibtex-parse-string))) |
(let ((temp-boundaries (bibtex-parse-string))) |
2090 |
(let* ((case-fold-search t) |
(let* ((case-fold-search t) |
2091 |
(year (bibtex-autokey-get-yearfield-digits max))) |
(year (bibtex-autokey-get-yearfield-digits max))) |
2092 |
(if (and (string= year "") bibtex-autokey-year-use-crossref-entry) |
(if (and (string= year "") bibtex-autokey-year-use-crossref-entry) |
2093 |
(let* ((bounds |
(let* ((bounds |
2094 |
(bibtex-search-forward-field "\\(OPT\\)?crossref" max)) |
(bibtex-search-forward-field "\\(OPT\\)?crossref" max)) |
2095 |
(crossref-field |
(crossref-field |
2096 |
(if bounds |
(if bounds |
2518 |
(while (and (not failure) (> arg 0)) |
(while (and (not failure) (> arg 0)) |
2519 |
(cond ((eq direction 'previous) |
(cond ((eq direction 'previous) |
2520 |
(setq bounds (bibtex-search-backward-field field-name (point-min))) |
(setq bounds (bibtex-search-backward-field field-name (point-min))) |
2521 |
(if bounds |
(if bounds |
2522 |
(goto-char (bibtex-start-of-field bounds)) |
(goto-char (bibtex-start-of-field bounds)) |
2523 |
(setq failure t))) |
(setq failure t))) |
2524 |
((eq direction 'next) |
((eq direction 'next) |
2525 |
(setq bounds (bibtex-search-forward-field field-name (point-max))) |
(setq bounds (bibtex-search-forward-field field-name (point-max))) |
2526 |
(if bounds |
(if bounds |
2527 |
(goto-char (bibtex-end-of-field bounds)) |
(goto-char (bibtex-end-of-field bounds)) |
2528 |
(setq failure t)))) |
(setq failure t)))) |
2529 |
(setq arg (- arg 1))) |
(setq arg (- arg 1))) |
2557 |
To submit a problem report, enter \\[bibtex-submit-bug-report] from a |
To submit a problem report, enter \\[bibtex-submit-bug-report] from a |
2558 |
BibTeX mode buffer. This automatically sets up a mail buffer with |
BibTeX mode buffer. This automatically sets up a mail buffer with |
2559 |
version information already added. You just need to add a description |
version information already added. You just need to add a description |
2560 |
of the problem, including a reproducable test case and send the |
of the problem, including a reproducible test case and send the |
2561 |
message. |
message. |
2562 |
|
|
2563 |
|
|
3175 |
variable IGNORE-DUPS is non-nil, no error messages about duplicate |
variable IGNORE-DUPS is non-nil, no error messages about duplicate |
3176 |
entries are signaled, but the error handling is assumed to be made in |
entries are signaled, but the error handling is assumed to be made in |
3177 |
the calling function. |
the calling function. |
3178 |
The value is nil if an duplicate entry error occurred, |
The value is nil if a duplicate entry error occurred, |
3179 |
and t in all other cases." |
and t in all other cases." |
3180 |
(let* ((case-fold-search t) |
(let* ((case-fold-search t) |
3181 |
(left |
(left |