;ELC ;;; compiled by jwz@thalidomide on Tue Feb 22 16:24:50 1994 ;;; from file /th/jwz/emacs19/lisp/modes/bibtex.el ;;; emacs version 19.10 Lucid (beta4). ;;; bytecomp version 2.22; 22-dec-93. ;;; optimization is on. ;;; this file uses opcodes which do not exist in Emacs 18. (if (and (boundp 'emacs-version) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19"))) (error "This file was compiled for Emacs 19.")) (byte-code "!!\"!\"" [provide bibtex fboundp tex-insert-quote autoload "tex-mode" sort-subr "sort"] 3) (fset 'string-equalp #[(s1 s2) "9!\n9\n!\nG GU *" [s1 symbol-name s2 ss2 ss1] 4 "\ Like string= except differences in case are ignored."]) (fset 'put-string-on-kill-ring #[(string) " BG\nV\nS á " [string kill-ring kill-ring-max nil kill-ring-yank-pointer] 3 "\ Make STRING be the first element of the kill ring."]) (defvar bibtex-clean-entry-zap-empty-opts t "\ *If non-nil, bibtex-clean-entry will delete all empty optional fields.") (defvar bibtex-include-OPTcrossref t "\ *If non-nil, all entries will have an OPTcrossref field.") (defvar bibtex-include-OPTkey t "\ *If non-nil, all entries will have an OPTkey field.") (defvar bibtex-include-OPTannote t "\ *If non-nil, all entries will have an OPTannote field.") (defvar bibtex-mode-user-optional-fields nil "\ *List of optional fields that user want to have as always present when making a bibtex entry. One possibility is for ``keywords''. Entries can be either strings or conses, in which case the car should be string and the cdr the value to be inserted.") (byte-code "!  # # # # # # # # # )" [boundp bibtex-mode-syntax-table make-syntax-table st modify-syntax-entry 34 "\"" 36 "$$ " 37 "< " 39 "w " 64 92 "\\" 12 "> " 10 126 " "] 4) (defvar bibtex-mode-abbrev-table nil "\ ") (byte-code "\"! ############################@#AB#CD#)‡" [define-abbrev-table bibtex-mode-abbrev-table nil boundp bibtex-mode-map make-sparse-keymap km define-key " " bibtex-find-text "\n" bibtex-next-field "\"" bibtex-remove-double-quotes "" bibtex-clean-entry "?" describe-mode "" bibtex-pop-previous "" bibtex-pop-next " " bibtex-kill-optional-field "" bibtex-empty-field "\"" tex-insert-quote "$" ispell-bibtex-entry "" beginning-of-bibtex-entry "" end-of-bibtex-entry "" bibtex-entry "" bibtex-Article "" bibtex-Book "" bibtex-InProceedings " " bibtex-InBook "i" bibtex-InCollection "I" " " bibtex-Manual "m" bibtex-MastersThesis "M" bibtex-Misc "" bibtex-remove-OPT "" bibtex-PhdThesis "p" bibtex-Proceedings "P" bibtex-preamble "" bibtex-TechReport "" bibtex-string "" bibtex-Unpublished button3 bibtex-menu] 4) (defvar bibtex-pop-previous-search-point nil "\ Next point where bibtex-pop-previous should start looking for a similar entry.") (defvar bibtex-pop-next-search-point nil "\ Next point where bibtex-pop-next should start looking for a similar entry.") (defvar bibtex-entry-field-alist '(("Article" (("author" "title" "journal" "year") ("volume" "number" "pages" "month" "note")) (("author" "title") ("journal" "year" "volume" "number" "pages" "month" "note"))) ("Book" (("author" "title" "publisher" "year") ("editor" "volume" "number" "series" "address" "edition" "month" "note"))) ("Booklet" (("title") ("author" "howpublished" "address" "month" "year" "note"))) ("InBook" (("author" "title" "chapter" "publisher" "year") ("editor" "pages" "volume" "number" "series" "address" "edition" "month" "type" "note")) (("author" "title" "chapter") ("publisher" "year" "editor" "pages" "volume" "number" "series" "address" "edition" "month" "type" "note"))) ("InCollection" (("author" "title" "booktitle" "publisher" "year") ("editor" "volume" "number" "series" "type" "chapter" "pages" "address" "edition" "month" "note")) (("author" "title") ("booktitle" "publisher" "year" "editor" "volume" "number" "series" "type" "chapter" "pages" "address" "edition" "month" "note"))) ("InProceedings" (("author" "title" "booktitle" "year") ("editor" "volume" "number" "series" "pages" "organization" "publisher" "address" "month" "note")) (("author" "title") ("editor" "volume" "number" "series" "pages" "booktitle" "year" "organization" "publisher" "address" "month" "note"))) ("Manual" (("title") ("author" "organization" "address" "edition" "year" "month" "note"))) ("MastersThesis" (("author" "title" "school" "year") ("address" "month" "note" "type"))) ("Misc" (nil ("author" "title" "howpublished" "year" "month" "note"))) ("PhdThesis" (("author" "title" "school" "year") ("address" "month" "type" "note"))) ("Proceedings" (("title" "year") ("editor" "volume" "number" "series" "publisher" "organization" "address" "month" "note"))) ("TechReport" (("author" "title" "institution" "year") ("type" "number" "address" "month" "note"))) ("Unpublished" (("author" "title" "note") ("year" "month")))) "\ List of (entry-name (required optional) (crossref-required crossref-optional)) tripples. If the third element is nil, then the first pair can be used. Required and optional are lists of strings. All entry creation functions use this variable to generate entries, and bibtex-entry ensures the entry type is valid. This variable can be used for example to make bibtex manipulate a different set of entry types, e.g. a crossreference document of organization types.") (fset 'bibtex-cfield #[(name text) " İ" [",[ \n]*\\(" name "\\)[ \n]*=[ \n]*\\(" text "\\)"] 5 "\ Create a regexp for a bibtex field of name NAME and text TEXT"]) (defconst bibtex-name-in-cfield 1 "\ The regexp subexpression number of the name part in bibtex-cfield.") (defconst bibtex-text-in-cfield 2 "\ The regexp subexpression number of the text part in bibtex-cfield.") (defconst bibtex-field-name "[A-Za-z][---A-Za-z0-9.:;?!`'()/*@_+=]*" "\ Regexp defining the name part of a bibtex field.") (defconst bibtex-field-const "[0-9A-Za-z][---A-Za-z0-9:_+]*" "\ Format of a bibtex field constant.") (defconst bibtex-field-string (concat "\"[^\"]*[^\\\\]\"\\|\"\"") "\ Match either a string or an empty string.") (defconst bibtex-field-string-or-const (concat bibtex-field-const "\\|" bibtex-field-string) "\ Match either bibtex-field-string or bibtex-field-const.") (defconst bibtex-field-text (concat "\\(" bibtex-field-string-or-const "\\)" "\\([ \n]+#[ \n]+\\(" bibtex-field-string-or-const "\\)\\)*\\|" "{[^{}]*[^\\\\]}") "\ Regexp defining the text part of a bibtex field: either a string, or an empty string, or a constant followed by one or more # / constant pairs. Also matches simple {...} patterns.") (defconst bibtex-field (bibtex-cfield bibtex-field-name bibtex-field-text) "\ Regexp defining the format of a bibtex field") (defconst bibtex-name-in-field bibtex-name-in-cfield "\ The regexp subexpression number of the name part in bibtex-field") (defconst bibtex-text-in-field bibtex-text-in-cfield "\ The regexp subexpression number of the text part in bibtex-field") (defconst bibtex-reference-type "@[A-Za-z]+" "\ Regexp defining the type part of a bibtex reference entry") (defconst bibtex-reference-head (concat "^[ ]*\\(" bibtex-reference-type "\\)[ ]*[({]\\(" bibtex-field-name "\\)") "\ Regexp defining format of the header line of a bibtex reference entry") (defconst bibtex-type-in-head 1 "\ The regexp subexpression number of the type part in bibtex-reference-head") (defconst bibtex-key-in-head 2 "\ The regexp subexpression number of the key part in bibtex-reference-head") (defconst bibtex-reference (concat bibtex-reference-head "\\([ \n]*" bibtex-field "\\)*" "[ \n]*[})]") "\ Regexp defining the format of a bibtex reference entry") (defconst bibtex-type-in-reference bibtex-type-in-head "\ The regexp subexpression number of the type part in bibtex-reference") (defconst bibtex-key-in-reference bibtex-key-in-head "\ The regexp subexpression number of the key part in bibtex-reference") (defconst bibtex-string (concat "^[ ]*@[sS][tT][rR][iI][nN][gG][ \n]*[({][ \n]*\\(" bibtex-field-name "\\)[ \n]*=[ \n]*\\(" bibtex-field-text "\\)[ \n]*[})]") "\ Regexp defining the format of a bibtex string entry") (defconst bibtex-name-in-string 1 "\ The regexp subexpression of the name part in bibtex-string") (defconst bibtex-text-in-string 2 "\ The regexp subexpression of the text part in bibtex-string") (defconst bibtex-name-alignment 2 "\ Alignment for the name part in BibTeX fields. Chosen on aesthetic grounds only.") (defconst bibtex-text-alignment (length " organization = ") "\ Alignment for the text part in BibTeX fields. Equal to the space needed for the longest name part.") (fset 'bibtex-current-entry-label #[(&optional include-cite kill) " \n `)\" { \"  \n ! +" [beginning-of-bibtex-entry re-search-forward bibtex-reference-head end-of-bibtex-entry bibtex-key-in-head key include-cite format "\\cite{%s}" val kill put-string-on-kill-ring] 3 "\ Return the label of the bibtex entry containing, or preceding point. Optional argument INCLUDE-CITE, if true means put a '\\cite{}' around the returned value. Second optional argument KILL, if true, means place the returned value in the kill buffer. Interactively; providing prefix argument makes INCLUDE-CITE true, and kill is true by default. Rationale: The intention is that someone will write a function that can be bound to a mouse key so that people entering TeX can just mouse on the bibtex entry and have the citation key inserted at the current point (which will almost certainly be in some other buffer). In the interim this function is marginally useful for keyboard binding and is not bound by default. Suggested binding is ^C-k." (list current-prefix-arg t)]) (fset 'bibtex-mode #[nil " \n! !\n! \n! !\\!" [kill-all-local-variables set-syntax-table bibtex-mode-syntax-table use-local-map bibtex-mode-map bibtex-mode major-mode "BibTeX" mode-name bibtex-mode-abbrev-table local-abbrev-table make-local-variable paragraph-start "^[ \n ]*$" auto-fill-mode 1 bibtex-text-alignment left-margin run-hooks bibtex-mode-hook] 2 "\ Major mode for editing bibtex files. \\{bibtex-mode-map} A command such as \\[bibtex-Book] will outline the fields for a BibTeX book entry. The optional fields start with the string OPT, and thus ignored by BibTeX. The OPT string may be removed from a field with \\[bibtex-remove-OPT]. \\[bibtex-kill-optional-field] kills the current optional field entirely. \\[bibtex-remove-double-quotes] removes the double-quotes around the text of the current field. \\[bibtex-empty-field] replaces the text of the current field with the default \"\". The command \\[bibtex-clean-entry] cleans the current entry, i.e. (i) removes double-quotes from entirely numerical fields, (ii) removes OPT from all non-empty optional fields, (iii) removes all empty optional fields, and (iv) checks that no non-optional fields are empty. Use \\[bibtex-find-text] to position the dot at the end of the current field. Use \\[bibtex-next-field] to move to end of the next field. The following may be of interest as well: Functions: find-bibtex-duplicates find-bibtex-entry-location hide-bibtex-entry-bodies sort-bibtex-entries validate-bibtex-buffer Variables: bibtex-clean-entry-zap-empty-opts bibtex-entry-field-alist bibtex-include-OPTannote bibtex-include-OPTcrossref bibtex-include-OPTkey bibtex-maintain-sorted-entries bibtex-mode-user-optional-fields Fields: address Publisher's address annote Long annotation used for annotated bibliographies (begins sentence) author Name(s) of author(s), in BibTeX name format booktitle Book title when the thing being referenced isn't the whole book. For book entries, the title field should be used instead. chapter Chapter number crossref The database key of the entry being cross referenced. edition Edition of a book (e.g., \"second\") editor Name(s) of editor(s), in BibTeX name format. If there is also an author field, then the editor field should be for the book or collection that the work appears in howpublished How something strange has been published (begins sentence) institution Sponsoring institution journal Journal name (macros are provided for many) key Alphabetizing and labeling key (needed when no author or editor) month Month (macros are provided) note To help the reader find a reference (begins sentence) number Number of a journal or technical report organization Organization (sponsoring a conference) pages Page number or numbers (use `--' to separate a range) publisher Publisher name school School name (for theses) series The name of a series or set of books. An individual book will will also have it's own title title The title of the thing being referenced type Type of a technical report (e.g., \"Research Note\") to be used instead of the default \"Technical Report\" volume Volume of a journal or multivolume work year Year---should contain only numerals --------------------------------------------------------- Entry to this mode calls the value of bibtex-mode-hook if that value is non-nil." nil]) (fset 'bibtex-move-outside-of-entry #[nil "`dU`eU! d#" [looking-at "[ \n]*@" backward-paragraph forward-paragraph re-search-forward "[ \n]*" t] 4 "\ Make sure we are outside of a bib entry"]) (byte-code "MMM" [ispell-abstract #[nil " !` `)\"" [beginning-of-bibtex-entry re-search-forward "^[ ]*[OPT]*abstract[ ]*=" ispell-region forward-sexp] 3 nil nil] beginning-of-bibtex-entry #[nil "#" [re-search-backward "^@" nil move] 4 nil nil] skip-whitespace-and-comments #[nil " Ž!ŕb!!j*" [match-data md ((store-match-data md)) looking-at "\\s>+\\|\\s +" 0 "\\s<" re-search-forward "\\s>"] 2]] 2) (fset 'end-of-bibtex-entry #[nil "   )" [skip-whitespace-and-comments nil beginning-of-bibtex-entry t parse-sexp-ignore-comments forward-sexp] 1 "\ If inside an entry, move to the end of it, otherwise move to the end of the next entry." nil]) (byte-code "MMM" [ispell-bibtex-entry #[nil " ` `\"" [ispell-region beginning-of-bibtex-entry end-of-bibtex-entry] 3 nil nil] narrow-to-bibtex-entry #[nil " ` `})" [beginning-of-bibtex-entry end-of-bibtex-entry] 2 nil nil] beginning-of-first-bibtex-entry #[nil "eb#y‡om‡!" [re-search-forward "^@" nil move 0 message "Warning: No bibtex entries found!"] 4]] 2) (fset 'hide-bibtex-entry-bodies #[(&optional arg) "  `d%d#)\")n ? !+" [beginning-of-first-bibtex-entry buffer-modified-p nil buffer-read-only modifiedp arg subst-char-in-region 13 10 t re-search-forward "\n[^@]" replace-regexp "\n\\([^@]\\)" " \\1" selective-display set-buffer-modified-p] 6 "\ Hide all lines between first and last bibtex entries not beginning with @. With argument, show all text." "P"]) (defvar bibtex-sort-ignore-string-entries nil "\ *If true, bibtex @STRING entries are ignored when determining ordering of the buffer (e.g. sorting, locating alphabetical position for new entries, etc.)") (fset 'sort-bibtex-entries #[nil " `db `)}Ȫ%)" [beginning-of-first-bibtex-entry beginning-of-bibtex-entry end-of-bibtex-entry sort-subr nil forward-line #[nil "#u" [re-search-forward "}\\s-*\n[\n ]*@" nil move -2] 4] bibtex-sort-ignore-string-entries #[nil "!Ĕĕ{\"qŇ" [re-search-forward "^\\s-*\\([@a-zA-Z]*\\)\\s-*{\\s-*" string-equalp "@string" 1 nil] 4] #[nil "!‡" [re-search-forward "{\\s-*" nil] 2] #[nil "!" [search-forward ","] 2]] 6 "\ Sort bibtex entries alphabetically by key. Text before the first bibtex entry, and following the last is not affected. If bibtex-sort-ignore-string-entries is true, @string entries will be ignored. Bugs: 1. Text between the closing brace ending one bibtex entry, and the @ starting the next, is considered part of the PRECEDING entry. Perhaps it should be part of the following entry." nil]) (fset 'map-bibtex-entries #[(fun) " # Ȕɔ{\"l\nɔɕ{!a" [beginning-of-bibtex-entry re-search-forward "^@[^{]*{[ ]*\\([^, ]*\\)" nil t bibtex-sort-ignore-string-entries string-equalp "@string{" 0 1 fun] 4 "\ Call FUN for each bibtex entry starting with the current, to the end of the file. FUN is called with one argument, the key of the entry, and with point inside the entry. If bibtex-sort-ignore-string-entries is true, FUN will not be called for @string entries."]) (fset 'find-bibtex-entry-location #[(entry-name) " ō *" [nil point previous beginning-of-first-bibtex-entry done (map-bibtex-entries #[(current) " ! ` ! \"  U #!)\" !!" [entry-name current error "Entry duplicates existing!" previous point beginning-of-bibtex-entry string-match regexp-quote idx 0 message "Warning: Entry %s may be a duplicate of %s!" ding t throw done "Duplicate here with previous!" "Entries out of order here!"] 5]) end-of-bibtex-entry] 2 "\ Searches from beginning of current buffer looking for place to put the bibtex entry named ENTRY-NAME. Buffer is assumed to be in sorted order, without duplicates (see \\[sort-bibtex-entries]), if it is not, an error will be signalled." "sBibtex entry key: "]) (fset 'validate-bibtex-buffer #[nil "`#Ŋ `)`\"8 !*^b#!th\"n!i`y`}!*Z!Tb#!sb!)" [point re-search-forward ".@" nil t parse-partial-sexp beginning-of-bibtex-entry foo 3 in-a-string error "At sign (@) out of place!" search-forward "\"" looking-at "[,}][ ]*$" char-equal 34 "[ ]*\n}" 0 "^[ ]*[a-zA-Z]+[ ]*=[ ]*\"$" "Quote out of place, or missing \",\" or \"}\"!" "}[ ]+$" "Brace not last char of line!" message "Bibtex buffer appears o.k."] 5 "\ Find some typical errors in bibtex files. 1. At signs (@) not as first char of a line. 2. Double quotes (\") inside strings. 3. Closing braces (}) not the last character of a line." nil]) (fset 'find-bibtex-duplicates #[nil "`\"!b!)" [point find-bibtex-entry-location make-string 10 255 message "No duplicates found!"] 4 "\ Searches forward in current buffer looking for duplicate bibtex entries. Buffer is assumed to be sorted, see \\[sort-bibtex-entries]" nil]) (fset 'assoc-string-equalp #[(thing alist) " \n\"\n \n@@\"\nAr\n@" [assoc thing alist string-equalp] 4]) (defvar bibtex-maintain-sorted-entries nil "\ *If true, bibtex-mode will attempt to maintain all bibtex entries in sorted order. Note that this is more a property of a file than a personal preference and as such should normally be set via a file local variable entry.") (byte-code "MMMMMMMMMMMMMMMMMM" [bibtex-entry #[(entry-type &optional required optional) " \"Ɯ Ȝ !   ͜ Ɯ͜Ɯ+ \"!! ֱc\" !! \"\"!c)!!)" [required optional assoc-string-equalp entry-type bibtex-entry-field-alist e 1 r-n-o 2 c-ref error "Bibtex entry type %s not defined!" bibtex-include-OPTcrossref 0 bibtex-maintain-sorted-entries read-string format "%s key: " key find-bibtex-entry-location bibtex-move-outside-of-entry "@" "{" mapcar bibtex-make-field bibtex-make-optional-field "crossref" bibtex-include-OPTkey "key" bibtex-mode-user-optional-fields bibtex-include-OPTannote "annote" "\n}\n\n" bibtex-next-field t run-hooks bibtex-add-entry-hook] 5 nil (byte-code " $)C" [t completion-ignore-case completing-read "Entry Type: " bibtex-entry-field-alist nil] 6)] bibtex-make-field #[(e-t) ":@:Ac j Ʊj\n;ɪ\n\"c*ˇ" [e-t "" value name ",\n" bibtex-name-alignment " = " bibtex-text-alignment format "\"%s\"" "%s" nil] 3 nil "sBibTeX entry type: "] bibtex-make-optional-field #[(e-t) ":@PABP!" [e-t "OPT" bibtex-make-field] 2 nil "sOptional BibTeX entry type: "] bibtex-Article #[nil "!" [bibtex-entry "Article"] 2 nil nil] bibtex-Book #[nil "!" [bibtex-entry "Book"] 2 nil nil] bibtex-Booklet #[nil "!" [bibtex-entry "Booklet"] 2 nil nil] bibtex-InBook #[nil "!" [bibtex-entry "InBook"] 2 nil nil] bibtex-InCollection #[nil "!" [bibtex-entry "InCollection"] 2 nil nil] bibtex-InProceedings #[nil "!" [bibtex-entry "InProceedings"] 2 nil nil] bibtex-Manual #[nil "!" [bibtex-entry "Manual"] 2 nil nil] bibtex-MastersThesis #[nil "!" [bibtex-entry "MastersThesis"] 2 nil nil] bibtex-Misc #[nil "!" [bibtex-entry "Misc"] 2 nil nil] bibtex-PhdThesis #[nil "!" [bibtex-entry "PhdThesis"] 2 nil nil] bibtex-Proceedings #[nil "!" [bibtex-entry "Proceedings"] 2 nil nil] bibtex-TechReport #[nil "!" [bibtex-entry "TechReport"] 2 nil nil] bibtex-Unpublished #[nil "!" [bibtex-entry "Unpublished"] 2 nil nil] bibtex-string #[nil " c!u" [bibtex-move-outside-of-entry "@string{ = \"\"}\n" previous-line 1 8] 2 nil nil] bibtex-preamble #[nil " c!u" [bibtex-move-outside-of-entry "@Preamble{}\n" previous-line 1 10] 2 nil nil]] 2) (fset 'bibtex-next-field #[(arg) " `ď)!" [bibtex-inside-field start nil (byte-code " bu" [bibtex-enclosing-field 0 2] 1) ((error (byte-code "bu" [start nil 1] 1))) bibtex-find-text arg] 3 "\ Finds end of text of next BibTeX field; with arg, to its beginning" "P"]) (fset 'bibtex-find-text #[(arg) " \n b!u bhUu" [bibtex-inside-field bibtex-enclosing-field arg bibtex-text-in-field looking-at "\"" 1 34 -1] 2 "\ Go to end of text of current field; with arg, go to beginning." "P"]) (fset 'bibtex-remove-OPT #[nil " \nb!G!!  j) " [bibtex-inside-field bibtex-enclosing-field bibtex-name-in-field looking-at "OPT" delete-char search-forward "=" delete-horizontal-space bibtex-text-alignment] 2 "\ Removes the 'OPT' starting optional arguments and goes to end of text" nil]) (fset 'bibtex-inside-field #[nil "xhUuhUu" [nil " " 44 -2 34 -1] 2 "\ Try to avoid point being at end of a bibtex field." nil]) (fset 'bibtex-remove-double-quotes #[nil " \n\n bu!! b!!+" [bibtex-inside-field bibtex-enclosing-field bibtex-text-in-field stop start -1 looking-at "\"" delete-char 1] 2 "\ Removes \"\" around string." nil]) (fset 'bibtex-kill-optional-field #[nil " \nbÕÔ! bw \"!*" [bibtex-inside-field bibtex-enclosing-field bibtex-name-in-field 0 the-beginning the-end looking-at "OPT" " \n," nil kill-region error "Mandatory fields can't be killed"] 3 "\ Kill the entire enclosing optional BibTeX field" nil]) (fset 'bibtex-empty-field #[nil " \nb`\n\"c!" [bibtex-inside-field bibtex-enclosing-field bibtex-text-in-field kill-region "\"\"" bibtex-find-text t] 3 "\ Delete the text part of the current field, replace with empty text" nil]) (fset 'bibtex-pop-previous #[(arg) " \n\n  b!`G\\`{ \"== Ӕӕbe${ӕӔ b | c!.Љ" [bibtex-inside-field bibtex-enclosing-field bibtex-text-in-field bibtex-name-in-field nil new-text stop-name start-name stop-old-text start-old-text bibtex-cfield looking-at "OPT" bibtex-field-text matching-entry last-command bibtex-pop-previous bibtex-pop-next bibtex-enclosing-reference 0 bibtex-pop-previous-search-point bibtex-pop-next-search-point re-search-backward t arg bibtex-text-in-cfield bibtex-flash-head error "No previous matching BibTeX field." this-command] 5 "\ Replace text of current field with the text of similar field in previous entry. With arg, go up ARG entries. Repeated, goes up so many times. May be intermixed with \\[bibtex-pop-next] (bibtex-pop-next)." "p"]) (fset 'bibtex-pop-next #[(arg) " \n\n  b!`G\\`{ \"== Ӕӕbd${ӕӔ b | c!.Љ" [bibtex-inside-field bibtex-enclosing-field bibtex-text-in-field bibtex-name-in-field nil new-text stop-name start-name stop-old-text start-old-text bibtex-cfield looking-at "OPT" bibtex-field-text matching-entry last-command bibtex-pop-next bibtex-pop-previous bibtex-enclosing-reference 0 bibtex-pop-previous-search-point bibtex-pop-next-search-point re-search-forward t arg bibtex-text-in-cfield bibtex-flash-head error "No next matching BibTeX field." this-command] 5 "\ Replace text of current field with the text of similar field in next entry. With arg, go up ARG entries. Repeated, goes up so many times. May be intermixed with \\[bibtex-pop-previous] (bibtex-pop-previous)." "p"]) (fset 'bibtex-flash-head #[nil " e# bx`yw`!!` {\")" [nil flash re-search-backward bibtex-reference-head t bibtex-type-in-head bibtex-key-in-reference " " 0 pos-visible-in-window-p sit-for 1 message "From: %s"] 4 "\ Flash at BibTeX reference head before point, if exists. (Moves point)."]) (fset 'bibtex-enclosing-field #[nil "`Ï)" [old-point errname (bibtex-enclosing-regexp bibtex-field) ((search-failed (byte-code "b!" [old-point error "Can't find enclosing BibTeX field."] 2)))] 3 "\ Search for BibTeX field enclosing point. Point moves to end of field; also, use match-beginning and match-end to parse the field."]) (fset 'bibtex-enclosing-reference #[nil "`Ï)" [old-point errname (bibtex-enclosing-regexp bibtex-reference) ((search-failed (byte-code "b!" [old-point error "Can't find enclosing BibTeX reference."] 2)))] 3 "\ Search for BibTeX reference enclosing point. Point moves to end of reference; also, use match-beginning and match-end to parse the reference."]) (fset 'bibtex-enclosing-regexp #[(regexp) "`\nd#ĕdb\ne#Ĕeb\n $ĔV\nC\"ĕX\n $ĔVm\nC\"e+" [initial re-search-forward regexp t 0 right re-search-backward left nil 1 signal search-failed] 6 "\ Search for REGEXP enclosing point. Point moves to end of REGEXP. See also match-beginning and match-end. If an enclosing REGEXP is not found, signals search-failed; point is left in an undefined location. [Doesn't something like this exist already?]" "sRegexp: "]) (fset 'bibtex-clean-entry #[nil " ` `)} d$ǔǕ  \n    b! b!| bG!! jb b!\nb! b!bu!u \\{њ \\{ݚ  {\"b.) b !h=!) )" [beginning-of-bibtex-entry start end-of-bibtex-entry re-search-forward bibtex-field t 1 0 bibtex-name-in-field bibtex-text-in-field end-text begin-text end-name begin-name end-field begin-field looking-at "OPT" bibtex-clean-entry-zap-empty-opts "\"\"" delete-char search-forward "=" delete-horizontal-space bibtex-text-alignment "\"[0-9]+\"" -1 -2 3 "opt" error "Mandatory field ``%s'' is empty" previous-line nil 44 backward-delete-char skip-whitespace-and-comments] 6 "\ For all optional fields of current BibTeX entry: if empty, kill the whole field; otherwise, remove the \"OPT\" string in the name; if text numerical, remove double-quotes. For all mandatory fields: if empty, signal error." nil]) (byte-code "M" [("BibTeX Commands" "Entry Types" "---" ["Article in Conference Proceedings" bibtex-InProceedings t] ["Article in Journal" bibtex-Article t] ["Book" bibtex-Book t] ["Booklet" bibtex-Booklet t] ["Conference" bibtex-InProceedings t] ["Master's Thesis" bibtex-MastersThesis t] ["DEA Thesis" bibtex-DEAthesis t] ["Phd. Thesis" bibtex-PhdThesis t] ["Technical Report" bibtex-TechReport t] ["Technical Manual" bibtex-Manual t] ["Conference Proceedings" bibtex-Proceedings t] ["A Chapter in a Book" bibtex-InBook t] ["An Article in a Collection" bibtex-InCollection t] ["Miscellaneous" bibtex-Misc t] ["Unpublished" bibtex-Unpublished t] ["String" bibtex-string t] ["Preamble" bibtex-preamble t] "---" "Bibtex Edit" "---" ["Next Field" bibtex-next-field t] ["To End of Field" bibtex-find-text t] ["Snatch From Similar Preceding Field" bibtex-pop-previous t] ["Snatch From Similar Following Field" bibtex-pop-next t] ["Remove OPT" bibtex-remove-OPT t] ["Remove Quotes" bibtex-remove-double-quotes t] ["Clean Up Entry" bibtex-clean-entry t] ["Find Duplicates" find-bibtex-duplicates t] ["Sort Entries" sort-bibtex-entries t] ["Validate Entries" validate-bibtex-buffer t]) bibtex-menu #[nil " !)" [nil popup-menu-titles popup-menu bibtex-menu] 2 nil nil]] 2)