# HG changeset patch # User Glenn Morris # Date 1165296288 0 # Node ID ab6be62cb44de8d106a598b1d7762808648f1bed # Parent 1ca4290663679ed5918cfea116f1a93c45f50eeb (fortran-mode-abbrev-table): Define abbrevs even if abbrev-table is non-nil (saved user abbrevs may have been restored). diff -r 1ca429066367 -r ab6be62cb44d lisp/progmodes/fortran.el --- a/lisp/progmodes/fortran.el Tue Dec 05 05:24:24 2006 +0000 +++ b/lisp/progmodes/fortran.el Tue Dec 05 05:24:48 2006 +0000 @@ -604,80 +604,82 @@ (defvar fortran-mode-abbrev-table - (let (abbrevs-changed) + (progn (define-abbrev-table 'fortran-mode-abbrev-table nil) - ;; Use the 6th arg (SYSTEM-FLAG) of define-abbrev if possible. - ;; Only use `apply' to quieten the byte-compiler. - (mapcar - (function (lambda (element) - (condition-case nil - (apply 'define-abbrev fortran-mode-abbrev-table - (append element '(nil 0 t))) - (wrong-number-of-arguments - (apply 'define-abbrev fortran-mode-abbrev-table - (append element '(nil 0))))))) - '((";au" "automatic" ) - (";b" "byte" ) - (";bd" "block data" ) - (";ch" "character" ) - (";cl" "close" ) - (";c" "continue" ) - (";cm" "common" ) - (";cx" "complex" ) - (";df" "define" ) - (";di" "dimension" ) - (";do" "double" ) - (";dc" "double complex" ) - (";dp" "double precision" ) - (";dw" "do while" ) - (";e" "else" ) - (";ed" "enddo" ) - (";el" "elseif" ) - (";en" "endif" ) - (";eq" "equivalence" ) - (";ew" "endwhere" ) - (";ex" "external" ) - (";ey" "entry" ) - (";f" "format" ) - (";fa" ".false." ) - (";fu" "function" ) - (";g" "goto" ) - (";im" "implicit" ) - (";ib" "implicit byte" ) - (";ic" "implicit complex" ) - (";ich" "implicit character") - (";ii" "implicit integer" ) - (";il" "implicit logical" ) - (";ir" "implicit real" ) - (";inc" "include" ) - (";in" "integer" ) - (";intr" "intrinsic" ) - (";l" "logical" ) - (";n" "namelist" ) - (";o" "open" ) ; was ;op - (";pa" "parameter" ) - (";pr" "program" ) - (";ps" "pause" ) - (";p" "print" ) - (";rc" "record" ) - (";re" "real" ) - (";r" "read" ) - (";rt" "return" ) - (";rw" "rewind" ) - (";s" "stop" ) - (";sa" "save" ) - (";st" "structure" ) - (";sc" "static" ) - (";su" "subroutine" ) - (";tr" ".true." ) - (";ty" "type" ) - (";vo" "volatile" ) - (";w" "write" ) - (";wh" "where" ))) - fortran-mode-abbrev-table)) + fortran-mode-abbrev-table) + "Abbrev table for Fortran mode.") + +(let (abbrevs-changed) + ;; Use the 6th arg (SYSTEM-FLAG) of define-abbrev if possible. + ;; Only use `apply' to quieten the byte-compiler. + (mapcar + (function (lambda (element) + (condition-case nil + (apply 'define-abbrev fortran-mode-abbrev-table + (append element '(nil 0 t))) + (wrong-number-of-arguments + (apply 'define-abbrev fortran-mode-abbrev-table + (append element '(nil 0))))))) + '((";au" "automatic" ) + (";b" "byte" ) + (";bd" "block data" ) + (";ch" "character" ) + (";cl" "close" ) + (";c" "continue" ) + (";cm" "common" ) + (";cx" "complex" ) + (";df" "define" ) + (";di" "dimension" ) + (";do" "double" ) + (";dc" "double complex" ) + (";dp" "double precision" ) + (";dw" "do while" ) + (";e" "else" ) + (";ed" "enddo" ) + (";el" "elseif" ) + (";en" "endif" ) + (";eq" "equivalence" ) + (";ew" "endwhere" ) + (";ex" "external" ) + (";ey" "entry" ) + (";f" "format" ) + (";fa" ".false." ) + (";fu" "function" ) + (";g" "goto" ) + (";im" "implicit" ) + (";ib" "implicit byte" ) + (";ic" "implicit complex" ) + (";ich" "implicit character") + (";ii" "implicit integer" ) + (";il" "implicit logical" ) + (";ir" "implicit real" ) + (";inc" "include" ) + (";in" "integer" ) + (";intr" "intrinsic" ) + (";l" "logical" ) + (";n" "namelist" ) + (";o" "open" ) ; was ;op + (";pa" "parameter" ) + (";pr" "program" ) + (";ps" "pause" ) + (";p" "print" ) + (";rc" "record" ) + (";re" "real" ) + (";r" "read" ) + (";rt" "return" ) + (";rw" "rewind" ) + (";s" "stop" ) + (";sa" "save" ) + (";st" "structure" ) + (";sc" "static" ) + (";su" "subroutine" ) + (";tr" ".true." ) + (";ty" "type" ) + (";vo" "volatile" ) + (";w" "write" ) + (";wh" "where" )))) - ;;;###autoload (defun fortran-mode () "Major mode for editing Fortran code in fixed format.